Autodesk.AutoCAD.Geometry.Point3d
Autodesk.AutoCAD.Geometry.Vector3d
Pb(3,6,9)
Dim P1 as Point3d
Dim P2 as point3d
Dim V1 as Vector3d
Dim a as Vector3d
Dim b as Vector3d
Dim c as Vector3d
'点P2为点P1沿着向量V1的同方向移动V1的距离后得到到点
'(即沿着极坐标移动)
P2 = P1 + V1
'等于P1 = P1 + V1
P1 += V1
'点P2为点P1沿着向量V1的反方向移动V1的距离后得到到点
'(即沿着极坐标移动)
P2 = P1 - V1
'等于P1 = P1 - V1
P1 -= V1
'向量的加法和减法运算:
=反向向量,即V1.Negate() = -V1.
=单位向量
Point3d.Add(Vector3d)
点沿着向量方向移动向量的距离得到新的点
Point3d.Subtract(Vector3d)
点沿着与向量反方向移动得到新的点
Point3d.GetAsVector()
点的坐标向量化,就相当于点(0,0,0)到Point3d的向量。
Point3d.GetVectorTo(Point3d)
点到点的向量,比如Pa.GetVectorTo(Pb)=Pab
Vector3d.IsParallelTo(Vector3d)
Vector3d.IsPerpendicularTo(Vector3d)
向量的长度
Vector3d.LengthSqrd)
向量的长度的平方
Vector3d.Mirror(Vector3d)
向量的镜像
Vector3d.RotateBy(Vector3d)
向量的旋转
Vector3d.CrossProduct(Vector3d)
计算两个Vector3D的叉积。
数学上的定义:c=axb
其中a,b,c均为向量。即两个向量的叉积得到的还是向量!
性质1:c⊥a,c⊥b,即向量c垂直于向量a,b所在的平面。
性质2:模长|c|=|a||b|sinθ
性质3:满足右手法则。从这点我们有axb ≠ bxa,而axb = - bxa。所以我们可以使用叉积的正负值来判断向量a,b的相对位置,即向量b是处于向量a的顺时针方向还是逆时针方向。
在二维空间中,外积还有另外一个几何意义就是:|a×b|在数值上等于由向量a和向量b构成的平行四边形的面积
Vector3d.DotProduct(Vector3d)
计算两个Vector3D的点积。
数学上的定义为a·b=|a|·|b|cosθ ,【θ表示向量a,b的夹角,取值范围为[0,π]】。
从定义上,我们知道向量的点积得到的是一个数值。而不是向量(这点大家要注意了!要与叉积进行区别)。另外点积中的夹角<a,b>没有顺序可言,即<a,b>=<b,a>(或a·b=b·a)。所以我们可以通过点积得到两个向量之间的夹角。θ= arccos(a·b / (|a|·|b|))。并且通过点积的正负值,我们可以判断两个向量的方向关系。
a∙b>0→方向基本相同,夹角在0°到90°之间
a∙b=0→ 正交,相互垂直
a∙b<0→ 方向基本相反,夹角在90°到180°之间
Vector3d.OrthoProjectTo(Vector3d)
V1.OrthoProjectTo(V2),即向量V1在V2的法平面上的投影
Vector3d.ProjectTo(Vector3d , Vector3d)
V1.ProjectTo(V2 , V3),即向量V1在V2的法平面上的投影
联系客服