联系宏源
  • 电话:0373-3878302(吕Sir)
  • 传真:0373-3878301
  • 手机:15137380542
  • 客服QQ:1092327062
  • 邮箱:1092327062@qq.com
  • 地址:新乡市陈堡工业园
  • 点击这里给我发消息 点击这里给我发消息
当前位置: > 博狗官网 >

MetaPost语言?虚线、箭头、转折、端点。

虚线的用法,则应用dashed,如

draw path dashed [dash pattern]

dash pattern则定义了数种:

evenly 是个别的虚线,withdots则是由点构成的虚线,博狗888。evenly和withdots都是型态为图形的常数,evenly是长度3 bp 的线段跟3 bp 的空缺所组成;而withdots 则是距离为2.5 bp的点所组成。MetaPost供给了dashpattern这个宏来产生虚线的种类:

evenly = dashpattern(0n 3 off 3);

withdots = dashpattern(off 2.5 on 0 off 2.5);

dashpattern(on/off)这个宏能够用on/off指令来输出所须要的虚线,假如需要长度 2pt,间隔 3pt 的虚线,则是dashpattern (on 2pt off 3pt) 即可。

虚线内容为图形档,所以它们可能用 scaled 跟 shifted等运算做出变革:

箭头是用drawarrow等命令所绘出的,但箭头的组成是由二个环境变数决定,ahlength 是箭头的长度,ahangle 是箭头的角度。预设值是 ahlength=4bp; ahangle=45;MetaPost定义了arrowhead的运算元:

vardef arrowhead expr p =

save q, e; path q; pair e;

e = point length p of p;

q = gobble(p shifted -e cutfater makepath(pencircle scaled 2ahlength)) cuttings;

(q rotated .5ahangle & reverse q rotated -.5ahangle-cycle) shifted e

enddef;

arrowhead运算元就是把path末真个点 e 为圆心,半径为 ahlength的圆为界,把path 末端一段 path 切下来,存成变数 q。而后再把末端点在(0,0)上的q做出旋转运算后,造成的箭头形状封闭path平移回到 e传回。如下图所示:

所以如果对原来的箭头不满意,博狗888,想要自已定义自已喜好的箭头,则可能参考MetaPost手册中的典型:

转折与端点的形状

端点的形状,由环境变数linecap来把持。有三种型式:rounded, butt; squared。这个也是MetaPost手册的典范:

rounded是pen外形如何就是如何; butt 则是把多出的局部完整切除;squared则是延长出去跟rounded一样长度,但为方形。

转折部位,则由环境变数linejoin把持,其内容有三:rounded, beveled, mitered。这个也是MetaPost手册的范例:

可看出rounded是用本来pen的形状放在角平分线圆滑的结果;beveled是沿外角平分线切断;mitered是延伸直到相交,但如果转折角度越濒临180度,博狗888,则这个尖角延长越长。所以必须由环境变数miterlimit限度,由下例可看出,miterlimit 是角尖尖距与线?的比例,如果不超过可以形成尖角,否则以beveled方法处理,这个也是MetaPost手册的范例:

上一篇:写字楼货与尾货 让我如何取舍 下一篇:没有了
返回顶部
Copyright 2013 博狗888 All Rights Reserved