2007年6月12日星期二

Asymptote学习系列(5)

数据类型(续):

pair
pair是由两个实数组成的数对(x,y)。如果你定义了'pair z', 则你可以用z.x,z.y来引用相应的分量,但不允许直接修改。如:
pair x=(2.0,3.0);
pair y=(x.x,-x.y);
pair z=x+3.0*y;
z.x=0.0;  //这是不允许的
预定义的常量:
I=(0,1);
你可以用: z=z.x-I*z.y;
内置的相关函数:
pair conj(pair z)
                  返回 z 的梯度;
real length(pair z)
                  返回 z 的模长 |z| 。 如,
                  pair z=(3,4);
                  length(z);
                  结果为5。同样,可以用 abs(pair)
real angle(pair z)
                  返回z的角度(弧度),取值在 [-pi,pi];
real degrees(pair z, bool warn=true)
                  返回 z 的角度(度),取值在 [0,360) ;若 warn 为 false  且 z.x=z.y=0 时返回0而不是错误;
pair unit(pair z)
                  单位化 z ;
pair expi(real angle)
                   返回一个角度为angle(弧度)的单位向量;
pair dir(real angle)
                   返回一个角度为angle(度)的单位向量;
real xpart(pair z)
                   返回 z.x ;
real ypart(pair z)
                   返回 z.y;
pair realmult(pair z, pair w)
                   返回 (z.x*w.x,z.y*w.y);
real dot(pair z, pair w)
                    返回点积 z.x*w.x+z.y*w.y;
pair minbound(pair z, pair w)
                    返回 (min(z.x,w.x),min(z.y,w.y));
pair maxbound(pair z, pair w)
                    返回 (max(z.x,w.x),max(z.y,w.y)).


--
海阔天空,我所感兴趣的一切,从股票到C++,从笑话到Linux,从subversion到Latex
http://hai-kuo.blogspot.com/

没有评论: