关于向量积和叉积的解释
2013-08-15 22:38
162 查看
老是爱弄混淆,然后今天就整理下发在博客上
设两个向量P(Xp,Yp,Zp) Q(Xq,Yq,Zq)
标量集 ( dot product)
P*Q = XpXq + YpYq + ZpZq = |P||Q|cos⊙ ⊙为向量的夹角
一般来说,标量集是判断两个向量夹角是否为90度以上的一个重要的值。只有当夹角为0到90度和270度到360度的时候才为正值。
然后贴出标量集的D3D函数
在MSDN中我查到它的原型如下:
[cpp]view
plaincopyprint?
FLOAT D3DXVec3Dot(
_In_ const D3DXVECTOR3 *pV1,
_In_ const D3DXVECTOR3 *pV2
);
举一个实例吧:
[cpp]view
plaincopyprint?
pMatrix->_42 =-D3DXVec3Dot(&m_vUpVector, &m_vCameraPosition); // -P*U
向量集(也叫叉积)(cross product)
P X Y = (PyQz - PzQy ,PzQx - PxQz , PxQy - PyQx)
叉积运算的最大特点是运算结果为两个向量相交的向量值,两个向量进行向量积运算可以求得两个向量P,Q所形成的面的法线向量。
贴出向量积的D3D函数
在MSDN中我们查到它原型如下:
[cpp]view
plaincopyprint?
D3DXVECTOR3* D3DXVec3Cross(
_Inout_ D3DXVECTOR3 *pOut,
_In_ const D3DXVECTOR3 *pV1,
_In_ const D3DXVECTOR3 *pV2
);
第一个参数依然是计算的结果。第二和第三两个参数当然就是填参加叉乘运算的两个向量了。
另外需要注意,D3DXVec3Cross函数的返回值和第一个参数pOut 参数是一样的,为指向D3DXVECTOR3 结构的两个向量叉乘结果。
依然是一个实例:
[cpp]view
plaincopyprint?
D3DXVec3Cross(&m_vRightVector, &m_vUpVector,&m_vLookVector); // 右向量与上向量垂直
设两个向量P(Xp,Yp,Zp) Q(Xq,Yq,Zq)
标量集 ( dot product)
P*Q = XpXq + YpYq + ZpZq = |P||Q|cos⊙ ⊙为向量的夹角
一般来说,标量集是判断两个向量夹角是否为90度以上的一个重要的值。只有当夹角为0到90度和270度到360度的时候才为正值。
然后贴出标量集的D3D函数
在MSDN中我查到它的原型如下:
[cpp]view
plaincopyprint?
FLOAT D3DXVec3Dot(
_In_ const D3DXVECTOR3 *pV1,
_In_ const D3DXVECTOR3 *pV2
);
举一个实例吧:
[cpp]view
plaincopyprint?
pMatrix->_42 =-D3DXVec3Dot(&m_vUpVector, &m_vCameraPosition); // -P*U
向量集(也叫叉积)(cross product)
P X Y = (PyQz - PzQy ,PzQx - PxQz , PxQy - PyQx)
叉积运算的最大特点是运算结果为两个向量相交的向量值,两个向量进行向量积运算可以求得两个向量P,Q所形成的面的法线向量。
贴出向量积的D3D函数
在MSDN中我们查到它原型如下:
[cpp]view
plaincopyprint?
D3DXVECTOR3* D3DXVec3Cross(
_Inout_ D3DXVECTOR3 *pOut,
_In_ const D3DXVECTOR3 *pV1,
_In_ const D3DXVECTOR3 *pV2
);
第一个参数依然是计算的结果。第二和第三两个参数当然就是填参加叉乘运算的两个向量了。
另外需要注意,D3DXVec3Cross函数的返回值和第一个参数pOut 参数是一样的,为指向D3DXVECTOR3 结构的两个向量叉乘结果。
依然是一个实例:
[cpp]view
plaincopyprint?
D3DXVec3Cross(&m_vRightVector, &m_vUpVector,&m_vLookVector); // 右向量与上向量垂直
相关文章推荐
- 关于C语言static定义函数类型的具体解释
- 关于G代码的解释
- 一些名词解释 关于iOS编程的“国际化与本地化”
- 关于srand(time(0)) rand() 的解释
- Elsevier关于分享已发表文章的解释
- 关于.NET里String.Compare与C++的不同,请高人解释下为什么这样?
- 一劳永逸:关于C/C++中指针、数组与函数复合定义形式的直观解释
- 关于向量叉积求得法向量方向判断
- 关于引用形参的解释
- 关于Python的属性、参数、方法的解释、区别
- 关于JAVA NIO是同步非阻塞I/O的解释
- 关于HTTP Connect指令的经典解释
- 关于eMule下载伤硬盘的话题(官方解释)
- 关于STM32官方FOC库函数扇区分析中’131072’系数的解释
- Cocos-2d 关于SwallowTouch,进一步解释触摸事件分发机制
- objective-c中关于类型编码的解释
- 关于tasklet的一点小小的解释
- 关于 '<a[^>]+href=["\'](.*?)["\']' 的解释
- 关于矩阵最通俗的解释-超级经典zz