DirectX 向量点乘和叉乘
使用 Length()函數(shù)獲取向量的長(zhǎng)度;
? ? ? ? 運(yùn)行一下;還是 不是有效的win32應(yīng)用程序 錯(cuò)誤;下回再整;
然后看一下向量的乘法;
可以調(diào)用Add()函數(shù)實(shí)現(xiàn)兩個(gè)向量相加;
調(diào)用Multiply()實(shí)現(xiàn)數(shù)乘向量;結(jié)果還是一個(gè)向量;
調(diào)用Dot()函數(shù)實(shí)現(xiàn)點(diǎn)乘;兩個(gè)向量點(diǎn)乘,結(jié)果是一個(gè)數(shù);
調(diào)用Cross()實(shí)現(xiàn)兩個(gè)向量叉乘,結(jié)果是一個(gè)向量;
using System; using System.Collections.Generic; //using System.Linq; using System.Text; //using System.Threading.Tasks; using Microsoft.DirectX;namespace xt2 {class Program{static void Main(string[] args){Vector3 p1 = new Vector3(4, 5, 6);Vector3 p2 = new Vector3(1, 2, 3);Vector3 p3 = Vector3.Add(p1, p2);Vector3 p4 = Vector3.Multiply(p3, 2.0f);float m = Vector3.Dot(p1, p2);//標(biāo)量積Vector3 p5 = Vector3.Cross(p1, p2);//矢量積Console.ReadLine();}} }程序可以編譯;不能運(yùn)行;
點(diǎn)乘和叉乘的區(qū)別
點(diǎn)乘是向量的內(nèi)積,叉乘是向量的外積。
點(diǎn)乘:點(diǎn)乘的結(jié)果是一個(gè)實(shí)數(shù)a·b=|a|·|b|·cos
叉乘:叉乘的結(jié)果是一個(gè)向量
點(diǎn)乘的幾何意義
可以用來(lái)表征或計(jì)算兩個(gè)向量之間的夾角,以及在b向量在a向量方向上的投影。
叉乘的幾何意義
在三維幾何中,向量a和向量b的叉乘結(jié)果是一個(gè)向量,更為熟知的叫法是法向量,該向量垂直于a和b向量構(gòu)成的平面。
在3D圖像學(xué)中,叉乘的概念非常有用,可以通過(guò)兩個(gè)向量的叉乘,生成第三個(gè)垂直于a,b的法向量,從而構(gòu)建X、Y、Z坐標(biāo)系。
總結(jié)
以上是生活随笔為你收集整理的DirectX 向量点乘和叉乘的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 求正负数交互序列的和的MFC版
- 下一篇: Oracle 安装错误 - 无法在节点x