介绍在Processing3中使用向量,进行向量加减单位化,内外积,求夹角等等操作。
工具/原料
Processing3
方法/步骤
1、使用构造函数newPVector(分量1,分量2[,分量3])来创建新向量。PVector类型有成员x,y,z,分别表示向量的各个分量。
2、使用成员函数set(PVector向量)或者set(x,y,z)来设置一个向量。
3、获取一个随机二维向量有两种方式。返回值方法:v=绯摺驼予PVector.random2D()将返回一个模长为1的随机二维向量。设置方法:PVector.random2D(即枢潋雳v)将写入PVector向量v的各个分量。
4、按照角度获取一个单位向量也有两种方式。返回值法:v=PVector.fromAngle(角度)设置法:PVector.fromAngle(角度,v)
5、使用成员函数copy()以返回一个复制的向量。v2=v1.copy()即复制一个v1,以v2来引用副本。
6、使用成员函数mag()以获取向量的长度。函数magSq()以获取向量长度的平方(不用开根号了)
7、对一个向量进行数乘有两种方法。成员函数法:v.mul隋茚粟胫t(乘数),将v的各个分量乘以乘数。原地计算。静态函数法:PVector.mult(原窕掷烙宴向量,乘数,存入向量)div函数类似,只不过是各个分量除以传入的参数。
8、进行向量加法也有两种方法。一种是成员函数法:v.add(v2),原地操作。v将会加上v2另一种是静态函数返回值法:v=PVector.add(v1,v2)
9、dist函数用于计算两个向量的距离,dot函数用于计算两个向量的点积。它们都有成员函数法和静态函数法。同样的,叉乘的计算使用cross函数。
10、normalize,limit恽但炎杰和setMag这三个函数都不改变向量的方向,而是对向量的长度产生影响。normalize单位化向量,limit使得向量长度不超过给定,setMag将长度设置为给定。
11、成员函数heading获取本向量的角度。静态函数PVector.angleBetween获取两个向量的夹角。
12、成员函数rotate(角度)将向量就地旋转。只能用于二维向量。
13、向量差值也有两种方式。一种是静态函数佼沣族昀:PVector.lerp(v1,v2,t),返回插值向量。另一种是成员函数:v.lerp(v2,t),就地作用于v其中t是0~1之间的数。
14、使用成员函数array可以将一个向量转变为一个数组。有[0],[1],[2]三个元素,分别对应x,y,z