青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天行健 君子當自強而不息

D3D編程必備的數學知識(2)

向量相加

我們能夠通過分別把兩個向量的各個分量相加得到向量之和,注意在相加之前必須保證它們有相同的維數。

u + v = (ux+ vx, uy+ vy, uz+ vz)

 

圖5顯示的是幾何學上的向量相加。

兩個向量相加的代碼,我們使用重載的加法操作符:

D3DXVECTOR3 u(2.0f, 0.0f, 1.0f);

D3DXVECTOR3 v(0.0f, -1.0f, 5.0f);

// (2.0 + 0.0,  0.0 + (-1.0),  1.0 + 5.0)

D3DXVECTOR3 sum = u + v; // = (2.0f, -1.0f, 6.0f)

 

 

 

向量相減

和加法類似,通過分別把兩個向量的各個分量相減得到向量之差。再次重聲兩個向量必須是相同維數。

u-v = u + (-v) = (ux - vx, uy - vy, uz - vz)

 

圖6顯示的是幾何學上的向量相減。

 

兩個向量相減的代碼,我們使用重載的減法操作符:

D3DXVECTOR3 u(2.0f, 0.0f, 1.0f);

D3DXVECTOR3 v(0.0f, -1.0f, 5.0f);

D3DXVECTOR3 difference = u - v; // = (2.0f, 1.0f, -4.0f)

圖6顯示,向量減法得到一個從v向量終點到u向量終點的向量。假如我們解釋uv的分量,我們能用向量相減找到從一個點到另一個點的向量。這是非常方便的操作,因為我們常常想找到從一個點到另一個點的方向向量。

 

 

標量與向量的乘積

我們能用一個標量與向量相乘,就象名字暗示的一樣,向量按比例變化。這種運算不會改變向量的方向,除非標量是負數,這種情況向量方向相反。

ku = (kux, kuy, kuz)

D3DXVECTOR3類提供了向量與標量乘法的操作符。

D3DXVECTOR3 u(1.0f, 1.0f, -1.0f);

D3DXVECTOR3 scaledVec = u * 10.0f; // = (10.0f, 10.0f, -10.0f)

 

點積

數學上定義點積是兩個向量的乘積。按下面等式計算:

 

u.v = uxvx + uyvy + uzvz = s

The above formula does not present an obvious geometric meaning. Using the law of cosines, we can find the relationship u.v = ∥u∥∥v∥ cosθ , which says that the dot product between two vectors is the cosine of the angle between them scaled by the vectors' magnitudes. Thus, if both u and v are unit vectors, then u.v is the cosine of the angle between them.

Some useful properties of the dot product:

  • If u.v = 0, then uv.

  • If u.v > 0, then the angle θ, between the two vectors is less than 90 degrees.

  • If u.v < 0, then the angle θ, between the two vectors is greater than 90 degrees.

  Note 

The ⊥ symbol means "orthogonal," which is synonymous with the term "perpendicular."

We use the following D3DX function to compute the dot product between two vectors:

FLOAT D3DXVec3Dot(          // Returns the result.
CONST D3DXVECTOR3* pV1, // Left sided operand.
CONST D3DXVECTOR3* pV2 // Right sided operand.
);

D3DXVECTOR3 u(1.0f, -1.0f, 0.0f);
D3DXVECTOR3 v(3.0f, 2.0f, 1.0f);

// 1.0*3.0 + -1.0*2.0 + 0.0*1.0
// = 3.0 + -2.0
float dot = D3DXVec3Dot( &u, &v ); // = 1.0

叉積

第二種乘法在向量數學中叫叉積。不象點積,結果值是一個標量,叉積的結果值是另一個向量。通過把兩個向量uv相乘得到另一的向量p,向量p垂直于uv。也就是說向量p垂直于u并且垂直于u。

The cross product is computed like so:

p = u×v = [(uyvz - uzvy), (uzvx - uxvz), (uxvy - uyvx)]

In component form:

px = (uyvz - uzvy)

py = (uzvx - uxvz)

pz = (uxvy - uyvx)

Example: Find j = k × i = (0, 0, 1) × (1, 0, 0) and verify that j is orthogonal to both k and i.

Solution:

jx =(0(0)-1(0)) = 0

jy =(1(1)-0(0) = 1

jz=(0(0)-0(1) = 0

So, j = (0, 1, 0). Recall from the section titled "Dot Products" that if u.v = 0, then uv Since j.k = 0 and j.i = 0, we know j is orthogonal to both k and i.

We use the following D3DX function to compute the cross product between two vectors:

D3DXVECTOR3 *D3DXVec3Cross(
D3DXVECTOR3* pOut, // Result.
CONST D3DXVECTOR3* pV1, // Left sided operand.
CONST D3DXVECTOR3* pV2 // Right sided operand.
);

It is obvious from Figure 7 that the vector -p is also mutually orthogonal to both u and v. The order in which we perform the cross product determines whether we get p or -p as a result. In other words, u × v = -(v × u). This shows that the cross product is not commutative. You can determine the vector returned by the cross product by the left hand thumb rule. (We use a left hand rule because we are using a left-handed coordinate system. We would switch to the right hand rule if we were using a right-handed coordinate system.) If you curve the fingers of your left hand in the direction of the first vector toward the second vector, your thumb points in the direction of the returned vector.

 


posted on 2008-03-12 10:58 lovedday 閱讀(848) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


公告

導航

統計

常用鏈接

隨筆分類(178)

3D游戲編程相關鏈接

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            可以免费看不卡的av网站| 欧美日韩美女一区二区| 国内精品福利| 久久综合网色—综合色88| 欧美一级理论片| 好看的亚洲午夜视频在线| 久热精品视频| 欧美国产一区二区| 亚洲亚洲精品三区日韩精品在线视频| 日韩视频中文字幕| 国产精品久久毛片a| 久久精品国产2020观看福利| 久久久www成人免费无遮挡大片| 精品动漫av| 亚洲国产欧美一区二区三区丁香婷| 欧美国产视频在线| 亚洲欧美日韩爽爽影院| 久久激情中文| 99精品热6080yy久久| 一区二区91| 樱花yy私人影院亚洲| 亚洲狼人综合| 国产一区二区三区av电影| 亚洲大胆人体视频| 国产精品大全| 快播亚洲色图| 欧美日韩三级电影在线| 久久精品人人爽| 欧美精品一区二区三区高清aⅴ| 亚洲欧美日韩国产综合精品二区| 欧美中日韩免费视频| 99这里只有久久精品视频| 新狼窝色av性久久久久久| 亚洲人成久久| 欧美在线网站| 亚洲专区在线视频| 免费欧美在线视频| 久久精品盗摄| 欧美午夜精品一区二区三区| 久久综合九色综合网站| 国产精品久久久久久久久免费| 欧美freesex8一10精品| 国产精品人成在线观看免费| 欧美黄色影院| 韩国三级在线一区| 亚洲无亚洲人成网站77777 | 一区二区三区日韩| 一区二区三区在线不卡| 亚洲午夜黄色| 亚洲视频自拍偷拍| 免费欧美在线视频| 久久亚洲一区二区| 国产精品天美传媒入口| 999亚洲国产精| 亚洲激情网址| 久久综合九色综合欧美就去吻| 久久国产主播精品| 国产精品入口福利| 在线视频中文亚洲| 宅男噜噜噜66一区二区66| 欧美成人午夜视频| 亚洲高清在线视频| 亚洲激情在线观看| 老司机免费视频一区二区三区 | 亚洲国产精品久久久久婷婷884| 欧美在线亚洲综合一区| 久久精品电影| 国产在线精品一区二区夜色| 亚洲欧美另类国产| 久久精品一区二区三区不卡| 国产免费亚洲高清| 欧美在线你懂的| 久久五月激情| 亚洲高清二区| 欧美国产日韩在线| 99精品国产高清一区二区| 在线视频中文亚洲| 国产精品久久激情| 欧美亚洲网站| 久久久av毛片精品| 精品av久久707| 欧美成人资源网| 亚洲毛片在线观看| 亚洲欧美一区二区三区在线| 国产乱码精品一区二区三区五月婷 | 蜜臀久久99精品久久久久久9| 亚洲第一精品福利| 欧美极品aⅴ影院| aⅴ色国产欧美| 亚洲自拍都市欧美小说| 国产亚洲精品福利| 久久色中文字幕| 亚洲精品一级| 欧美一区二区高清| 亚洲欧洲精品一区二区三区不卡 | 欧美激情欧美激情在线五月| 日韩一级网站| 久久久高清一区二区三区| 1024欧美极品| 欧美视频一区在线| 久久本道综合色狠狠五月| 欧美国产免费| 午夜激情综合网| 亚洲国产黄色| 国产精品久久久久三级| 久久久一二三| 亚洲色诱最新| 欧美成在线视频| 亚洲一区二区三区在线| 一区二区视频在线观看| 欧美无砖砖区免费| 久久久久久亚洲精品中文字幕| 亚洲人成人99网站| 久久精品国产免费| 99国产成+人+综合+亚洲欧美| 国产日韩欧美在线看| 久久免费少妇高潮久久精品99| 一本色道88久久加勒比精品| 欧美jizz19hd性欧美| 亚洲欧美日韩精品一区二区 | 国产九九视频一区二区三区| 免费日韩一区二区| 欧美亚洲三区| 一区二区激情| 亚洲激情自拍| 欧美成人精品三级在线观看| 亚洲欧美在线网| 亚洲精品视频一区| 在线观看国产日韩| 国产一区 二区 三区一级| 欧美日韩在线观看视频| 欧美成年人网站| 久久午夜色播影院免费高清| 欧美亚洲免费高清在线观看| 日韩一本二本av| 亚洲乱码国产乱码精品精可以看 | 亚洲一区二区三区色| 91久久久久| 亚洲电影毛片| 亚洲第一在线视频| 一区二区三区在线高清| 国内精品美女av在线播放| 国产精品九九久久久久久久| 欧美精品一区二区三区蜜桃| 欧美.www| 欧美国产视频日韩| 欧美国产一区二区在线观看| 免费成人高清| 欧美国产日韩一区二区三区| 免费久久99精品国产| 免费h精品视频在线播放| 久久久久网站| 久久综合久久久| 欧美高清在线视频观看不卡| 欧美韩日视频| 欧美日韩免费| 国产精品白丝jk黑袜喷水| 国产精品久久久久999| 国产精品嫩草99av在线| 国产精品视频网站| 国产亚洲欧美日韩精品| 一区二区亚洲精品国产| 亚洲国产一区二区精品专区| 亚洲激情另类| 中文国产成人精品久久一| 亚洲欧美日韩综合| 久久精品中文字幕一区| 免费高清在线视频一区·| 欧美激情亚洲另类| 亚洲乱亚洲高清| 亚洲在线成人精品| 久久久久久久久久久成人| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久精品二区亚洲w码| 久久综合伊人77777麻豆| 欧美韩日一区二区| 日韩午夜中文字幕| 午夜精品久久久久久久99樱桃| 久久久噜噜噜久久人人看| 欧美人与性禽动交情品| 国产精品欧美一区喷水| 亚洲第一成人在线| 亚洲综合首页| 蜜乳av另类精品一区二区| 亚洲美女啪啪| 久久九九全国免费精品观看| 欧美精品一区二区三区很污很色的| 国产精品日韩一区二区三区| 亚洲第一中文字幕| 午夜精品国产更新| 欧美激情第二页| 亚洲欧美电影在线观看| 欧美v亚洲v综合ⅴ国产v| 国产日产欧美a一级在线| 亚洲精品日韩久久| 久久久久国产精品人| 一本色道久久加勒比精品| 老司机久久99久久精品播放免费| 国产精品国色综合久久| 亚洲免费av片|