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

天行健 君子當自強而不息

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夜夜| 国产精品久在线观看| 99精品国产高清一区二区| 久久久青草青青国产亚洲免观| 亚洲一区二区三区中文字幕| 亚洲人成网站影音先锋播放| 狠狠色香婷婷久久亚洲精品| 国产欧美日韩精品a在线观看| 欧美精品一区二区三| 蜜桃精品久久久久久久免费影院| 久久国产精品网站| 欧美在线播放| 欧美亚洲在线| 欧美一区二区三区在线| 午夜久久久久久| 亚洲欧美国产毛片在线| 亚洲夜间福利| 亚洲一区二区视频| 亚洲制服丝袜在线| 亚洲综合电影一区二区三区| 亚洲图片欧美日产| 亚洲少妇自拍| 亚洲永久免费精品| 亚洲先锋成人| 亚洲欧美在线另类| 欧美一区二区精美| 久久精品五月婷婷| 久久网站免费| 欧美成人a∨高清免费观看| 免费亚洲一区二区| 欧美精选在线| 欧美特黄一级| 国产精品久久| 国产欧美在线| 一区二区三区亚洲| 91久久久亚洲精品| 在线亚洲免费| 欧美一级网站| 久久资源av| 欧美激情第10页| 亚洲精品一区在线| 亚洲在线观看| 久久精品视频在线| 欧美国产日本高清在线| 欧美日韩在线看| 国产美女精品免费电影| 好吊色欧美一区二区三区四区| 亚洲成人在线观看视频| 99精品国产在热久久婷婷| 亚洲已满18点击进入久久| 久久精品国产综合精品| 欧美电影免费观看大全| 99xxxx成人网| 香蕉成人久久| 欧美成人网在线| 国产精品久久久久9999| 激情另类综合| 一区二区欧美在线观看| 国产精品白丝黑袜喷水久久久| 亚洲国产成人av在线| 一区在线免费| 99精品99| 久久精品视频免费| 欧美黄色大片网站| 亚洲少妇一区| 久久综合激情| 国产精品igao视频网网址不卡日韩| 国产三级欧美三级| 亚洲精品久久7777| 欧美在线电影| 亚洲高清中文字幕| 亚洲私人影院在线观看| 久久久久久尹人网香蕉| 欧美日韩成人一区| 国产一区深夜福利| 一区二区三区国产在线| 久久免费高清| 9i看片成人免费高清| 久久久久成人精品| 国产精品久久9| 最新中文字幕亚洲| 欧美亚洲尤物久久| 亚洲国产精品成人| 欧美中文字幕在线观看| 欧美日韩综合精品| 亚洲国产免费| 久久精品视频在线看| 亚洲日本中文| 久久久久在线观看| 国产农村妇女精品一区二区| 99riav1国产精品视频| 久热综合在线亚洲精品| 亚洲一区二区三区精品在线| 裸体歌舞表演一区二区| 国产区精品视频| 亚洲视频二区| 亚洲国产专区校园欧美| 久久久久国内| 国产日产欧美a一级在线| 亚洲午夜激情网页| 亚洲国产另类久久久精品极度| 久久精品国内一区二区三区| 国产精品视频一二| 亚洲一区二区三区高清| 亚洲人成在线影院| 欧美成人福利视频| 亚洲国产精品va在看黑人| 久久久一区二区| 午夜在线播放视频欧美| 国产精品一区二区久激情瑜伽| 亚洲手机视频| 99国产欧美久久久精品| 欧美日韩成人一区二区三区| 亚洲裸体在线观看| 欧美激情第二页| 鲁大师影院一区二区三区| 伊人久久久大香线蕉综合直播| 久久久91精品国产一区二区三区| 亚洲一级一区| 国产精品久久久久免费a∨| 亚洲调教视频在线观看| 99国产精品| 欧美香蕉视频| 午夜精品久久久久久久男人的天堂| 一本大道久久精品懂色aⅴ| 欧美日韩一本到| 亚洲一区二区三区成人在线视频精品| 亚洲免费观看| 国产精品成人免费视频 | 久久久久久久一区二区三区| 亚洲女人小视频在线观看| 国产精品免费观看在线| 午夜精品久久久久久久白皮肤| 在线午夜精品自拍| 国产精品三级久久久久久电影| 亚洲一区二区在线| 亚洲午夜电影网| 国产乱肥老妇国产一区二 | 久久不射网站| 狠狠色伊人亚洲综合成人| 久久综合色一综合色88| 久久人人97超碰国产公开结果 | 欧美专区第一页| 欧美伊人久久久久久午夜久久久久 | 欧美精选一区| 亚洲精品国产无天堂网2021| 亚洲激情啪啪| 欧美日韩成人综合| 亚洲一区二区三区乱码aⅴ| 亚洲午夜一区二区| 国产午夜精品理论片a级探花| 久久露脸国产精品| 免费日韩成人| 一区二区三区色| 亚洲一区网站| 激情五月婷婷综合| 亚洲国产一区在线| 国产精品扒开腿爽爽爽视频| 久久成人免费网| 久久综合伊人77777尤物| aa级大片欧美三级| 亚洲伊人久久综合| 在线成人av.com| 日韩视频欧美视频| 国产视频欧美| 亚洲国产精品激情在线观看| 国产精品成人午夜| 蜜桃久久精品乱码一区二区| 欧美日韩成人综合天天影院| 欧美在线观看一二区| 老牛嫩草一区二区三区日本 | 久久亚洲精选| 欧美日韩国产另类不卡| 久久国产黑丝| 欧美国产日本在线| 久久成人精品一区二区三区| 欧美福利精品| 久久经典综合| 欧美久久在线| 久久精品亚洲一区二区| 欧美国产日韩免费| 久久精品国产一区二区电影 | 激情国产一区二区| 亚洲人午夜精品| 国产一区二区高清视频| 91久久久在线| 国产一区视频在线看| 亚洲免费av网站| 伊人久久亚洲热| 亚洲免费一级电影| 99精品热视频只有精品10| 久久成人资源| 亚洲欧美激情四射在线日| 欧美xxx在线观看| 久久精品日产第一区二区三区| 欧美日韩国语| 亚洲电影视频在线| 激情久久一区| 午夜精品福利在线| 亚洲一区二区三区视频|