3D遊戲基礎 空間幾何(一) 向量與頂點

來源:互聯網
上載者:User

初學3D時,一個概念讓我困擾許久:什麼是頂點,什麼是向量??

在程式中,頂點和向量都用同一個類型來表示,甚至跟別人討論是,這二者也會混用,所以初學時就搞得雲裡霧裡的。

事實上,頂點和向量是不同的兩個概念。

頂點:表示空間中的位置資訊,即 x, y, z 座標,常用一個三元組 (x, y, z)表示,在變換是可能被擴充為齊次座標(x,y,z,w), 這時w只是為了方便做矩陣運算而擴充的,通常w為1. 在變換後,可能w會變成非 1 值,這時,就需要做正常化動作,即 (x/w, y/w, z/w, w/w),這個動作的幾何意義是將 4D 的齊次空間變換倒3D空間。這類似於,將3D空間的座標(x, y, z)中某一分量置1,就變換到2D的平面空間一樣。頂點可以做平移、旋轉、縮放變換。

向量:也是一個三元組 (x, y, z),但是它表示的是一個方向。即從 原點 到 (x, y, z)的方向。它具有長度和方向屬性,沒有位置屬性,所以,它可以擁有很多 平行的等量。它的齊次座標(x,y,z,w)中,w取0,這時因為取0時,可以對這個座標做旋轉和縮放變換,不能做平移變換。因為向量本身沒有位置屬性,所以,對它做平移變換是無意義的。

Tips: 一般變換矩陣是 旋轉變換矩陣(分為x, y, z軸3個不同矩陣)、縮放矩陣、平移矩陣 的複合矩陣。要複合出變換矩陣,就是按希望的變換順序將 各個矩陣乘起來。而這個複合矩陣是一個 4 x 4矩陣,要使這個矩陣在對頂點和向量變換時有效,就必須將他們擴充到齊次空間。 

by: loo.tam@gmail.com

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.