3D幾何圖元(7) 摘要: 一般來說,多邊形是由頂點和邊構成的平面物體。
簡單多邊形不包含"洞",復雜多邊形可能包含"洞"(圖12.26)。簡單多邊形可以通過沿多邊形列出的所有頂點來描述(左手坐標系中,通常以從多邊形正面看時的順時針方向列出所有點)。簡單多邊形的使用頻率比復雜多邊形高得多。
3D幾何圖元(6) 摘要:
雖然我們經常在3D中使用三角形,但三角形的表面是一個平面,它天生是一個2D物體。在3D中任意朝向的三角形表面上移動是一件令人煩惱的事,最好是有一個坐標空間與三角形表面相關聯且獨立于三角形所在的3D坐標空間,重心坐標空間正是這樣的坐標空間。
三角形所在平面的任意點都能表示為頂點的加權平均值,這個權就稱作重心坐標,從重心坐標(b1,b2,b3)到標準3D坐標的轉換為:
(b1,b2,b3) <==> b1v1 + b2v2 + b3v3
公式12.21 從重心坐標中計算3D點坐標
3D幾何圖元(5) 摘要:
三角形在建模和圖形學中有著極其重要的位置。復雜3D物體的表面,如車或人體,都是用三角形模擬的,像這樣一組相連的三角形稱作三角網格。
三角形是通過列出它的三個頂點來定義的。這些點的順序是非常重要的,在左手坐標系中,當從三角形"正面"看時,經常以順時針方向列出這些點,設這三個頂點為v1、v2、v3。三角形位于一個平面中,這個平面的方程(法向量n和到原點的距離d)在很多應用中非常重要。
3D幾何圖元(4) 摘要: 在3D中,平面是到兩個點的距離相等的點的集合。平面完全是平的,沒有厚度,且無限延伸。
可以用類似于定義直線的方法來定義平面,平面的隱式定義由所有滿足平面方程的點p=(x, y, z)給出,平面方程的兩種記法如公式12.11所示:
ax + by + cz = d
p . n = d
公式12.11 平面方程
3D幾何圖元(3) 摘要:
另一種常見的用來界定物體的幾何圖元是矩形邊界框,矩形邊界框可以是與軸對齊的或是任意方向的。軸對齊矩形邊界框有一個限制,就是它的邊必須垂直于坐標軸。縮寫AABB常用來表示axially
aligned bounding box(軸對齊矩形邊界框),OBB用來表示oriented bounding
box(方向矩形邊界框)。軸對齊矩形邊界框不僅容易創建,而且易于使用。
一個3D的AABB就是一個簡單的六面體,每一邊都平行于一個坐標平面。矩形邊界框不一定是立方體,它的長、寬、高可以彼此不同。在圖12.10中,畫出了一些簡單的3D物體和它們的AABB。
3D幾何圖元(2) 摘要: 2D中,可以使用公式12.3隱式表示直線:
ax + by = d
公式12.3 2D直線的隱式定義
另一種表示方法為,設向量n = [a, b],用向量記法將公式12.3寫為公式12.4的形式:
p . n = d
公式12.4 用向量記法的2D直線的隱式定義
3D幾何圖元(1) 摘要: 通過定義一個布爾函數f(x, y ,
z),我們能夠隱式表示一個圖元。如果所指定的點在這個圖元上,這個布爾函數就為真;對于其他的點,這個布爾函數為假。例如等式:
x2+y2+z2 = 1
對中心在原點的單位球表面上的所有點為真,隱式表示法用于測試圖元是否包含某點時非常有用。