3d中的向量
向量基础知识
向量有且仅有的两个属性:方向长度(注意:向量性情中不包含位置信息)
向量相等就是其两个属性相等
向量处理标记位置:当向量的起始点与坐标原点重合,这样我们就可以用向量的终点坐标来描述一个处于标准位置的向量
零向量:所有分量都为0 = (0,0,0)
三个特殊向量称为R3的标准基向量:这些向量分别称为i,j,k向量,方向分别与坐标系的x,y,z轴一致,且长度均为1
向量相等
向量相等即方向和长度相等。
计算向量的长度
几何学中,向量的模就是有向线段的长度。我们可以通过代数的方法计算该向量的大小
在D3DX库中,可以用D3DXVec3Length函数求得
向量的规范化
向量的规范化就是使向量的模变为1,即变为单位向量。可以通过该向量的每一个分量除以该向量的模来实现向量的规范化
向量u(x,y,z) 规范化之后u(x/||u||,y/||u||,z/||u||)
向量的加法
向量的每一个分量相加就是向量的加法
u + v = (ux+vx,uy+vy,uz+vz)
向量的减法
数乘(向量与一标量向乘结果为一向量)
数乘就是与标量相乘,该运算可对向量进行缩放
点积(向量与向量相乘结果为一标量)
上面的等式不能很明显的体现几何上的意义。利用余弦定律,我们能够发现它们的关系。
u · v =|u| * |v| * cosθ,表示两个向量的点积是它们的模和夹角的余弦之积。因此,如果u 和v都是单位向量,那么u · v就是它们夹角的余弦。
一些点积中有用的特性
■ 假如u · v = 0,那么u⊥v。
■ 假如u · v > 0,那么两个向量的角度θ小于90度。
■ 假如u · v < 0,那么两个向量的角度θ大于90度
叉积(向量与向量相乘结果为一向量)
与点积不同(结果为一个标题),叉积的结果是另一个向量。通过把两个向量u和v相乘得到另一的向量p,向量p垂直于u和v。也就是说向量p垂直于u并且垂直于u。
D3DX库中用D3DXVec3Cross计算两处向量的叉积
向量叉乘如何计算比如向量a=(1,2,3),b=(4,5,6)a叉乘b的计算过程应该是怎样的,求详解
设a=(X1,Y1,Z1),b=(X2,Y2,Z2),
a×b=(Y1Z2-Y2Z1,Z1X2-Z2X1,X1Y2-X2Y1)
(1,2,3)×(4,5,6)=(12-15,12-6,5-8)=(-3,6,-3)