注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

随机过程

http://superware.blog.163.com

 
 
 

日志

 
 

Asymptote 记录 (II):方向向量  

2012-10-25 14:10:35|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关于函数 draw 的用法。

draw (Label, path, Arrow);


Label : 图的标注

path : 图的路径

Arrow : 图的箭头


(II)、label


label (Label, position, align);


Label : 标注内容

position : 标注位置

align : 对齐方式


1、举例:关于方向的定义。

size (200,200);
pair O = (0,0);

draw (O--E);
label ("$E$", E, E);
draw (O--S);
label ("$S$", S, S);
draw (O--W);
label ("$W$", W, W);
draw (O--N);
label ("$N$", N, N);

draw (O--SE);
label ("$SE$", SE, SE);
draw (O--NE);
label ("$NE$", NE, NE);
draw (O--SW);
label ("$SW$", SW, SW);
draw (O--NW);
label ("$NW$", NW, NW);

draw (O--SSE);
label ("$SSE$", SSE, SSE);
draw (O--ESE);
label ("$ESE$", ESE, ESE);


结果如下:

Asymptote 随机记录 - superware - 随机过程
 
2、将 draw 与 label 合用,例如:

draw (Label ("$NNE$", EndPoint), O--NNE, Arrow);

将 Label 放置于draw函数的Label参数处,从这里可以看出,Label函数返回的是一个Label类型;

例如:

size (200,200);

pair O = (0,0);

draw (Label("$E$",EndPoint),O--E,Arrow);
draw (Label("$N$",EndPoint),O--N,Arrow);
draw (Label("$W$",EndPoint),O--W,Arrow);
draw (Label("$S$",EndPoint),O--S,Arrow);
draw (Label("$NE$",EndPoint),O--NE,Arrow);
draw (Label("$NW$",EndPoint),O--NW,Arrow);
draw (Label("$SE$",EndPoint),O--SE,Arrow);
draw (Label("$SW$",EndPoint),O--SW,Arrow);
draw (Label("$NNE$",EndPoint),O--NNE,Arrow);
draw (Label("$NNW$",EndPoint),O--NNW,Arrow);
draw (Label("$SSE$",EndPoint),O--SSE,Arrow);
draw (Label("$SSW$",EndPoint),O--SSW,Arrow);
draw (Label("$ENE$",EndPoint),O--ENE,Arrow);
draw (Label("$ESE$",EndPoint),O--ESE,Arrow);
draw (Label("$WNW$",EndPoint),O--WNW,Arrow);
draw (Label("$WSW$",EndPoint),O--WSW,Arrow);


draw(Label("$WNW$",position=EndPoint,red),O--WNW,Arrow);


结果:

Asymptote 随机记录 - superware - 随机过程


3、填充
filldraw (path-cycle, fillpen, drawpen)

path-cycle : 封闭路径
fillpen : 填充画笔
drawpen : 边框画笔
例如:

size(200);
pair A, B, C, D, E, F;

path AB, BC, CA;

A=(-10,-10); B=(10,-10); C=(0,10);

AB = A--B; BC = B--C; CA = C--A;
D = midpoint(AB);
E = midpoint(BC);
F = midpoint(CA);
draw (A--B--C--cycle);
filldraw (D--E--F--cycle,blue);


Asymptote 随机记录 - superware - 随机过程
 
将上述代码的最后一行改为
filldraw (D--E--F--cycle,fillpen=red,drawpen=blue);

Asymptote 随机记录 - superware - 随机过程
 
4、箭头

arrow (str, position, align);


str : 箭头标注字串

position : 箭头指向位置

align : 箭头对齐方式

例如:

size (100,100);
pair A, B, C, D;
A = (0,0); B = (1,0); C = (1,1); D = (0,1);
real t = 1/3;
pair X, Y, Z, W;
X = interp (A, B, t);
Y = interp (B, C, t);
Z = interp (C, D, t);
W = interp (D, A, t);
draw (A--B--C--D--cycle);
draw (X--Y--Z--W--cycle, red);

arrow ("$t = \frac{1}{5}$",X,SE);

结果:
Asymptote 记录 (II) - superware - 随机过程
 
 关于 arrow 的应用:设计一个箭头,可以指向任何方向。

(1)、设计一个任意的箭头

size (400,400);

draw ((0,0)--(400,400));

draw ((0,400)--(400,0));

pair O = (200,200); // O为原点

pair e = E; // e为单位向量,指向东

path a = O--O+20e; // (200,200)--(220,200)的路径,这就是一个箭头

draw (a, red, Arrow); // 画出箭头a

path b = rotate (90, O) * a // 将路径a绕O点旋转90度

draw (b, blue, Arrow); // 画出箭头b

path c = shift ((200,0)) * b;

draw (c, red, Arrow);



  评论这张
 
阅读(68)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018