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