Sunday, March 04, 2007

三邊形 轉 四邊形

近日, 同時有幾位朋友問我有關 三邊形 轉 四邊形 的問題! 所以決定在此發表一下小弟的愚見好了.

基本上所有的 3D 模型都是由 '點','線'和'面' 組成的, 點和面相信大家都很熟識了, 但線一般朋友卻常常會忽略. 簡單地說, 不論是 三邊形, 四邊形 或 多邊形 其實都是由 三邊形 組成的.
由 點 1-2-3-4 組成的 四邊形 可看成是兩個 三邊形 : 1-2-3 和 1-3-4.
其中 首個 三邊形 的線段 1-3(線段 3) 和 次 三邊形 的線段 1-3(線段 1) 都是隱藏的, 如此計算, 多邊形 就是由 多個 三邊形 加上多個 隱藏線段 組成的. 只要能掌握它們的排列次序, 基本上 三邊形 轉 四邊形 是可行的. 在 3DSMax 和 Maya 等軟體上都有這些轉換程序.

或許大家都會說我是看得太簡單了, 在實際的轉換過程中往往不如人意!?
是的, 因為主要原因是要 "掌握它們的排列次序", 例如:
在 3DSMax 中建立一個 立方體, 在 maxscript listener 鍵入 snapshot $, 就會得到一個全是 三邊形 的立方體, 再用 三邊形 轉 四邊形 的插件轉換看看, 三邊形 的立方體 轉回原本的 四邊形 的立方體了!

那麼, 為何導入其他模型(如遊戲)時不能如此呢? 因為那些模型都優化了, 就是與 3DSMax/ Maya 要求的排列次序不一樣!

如上圖: 1-2-3-4 組成的 四邊形 也可看成 2-3-1 和 1-3-4 的組合, 那麼要隱藏的線段就是 線段2 和 線段1 了! 如果轉換程序不考慮這個, 轉換出來的 四邊形 就會怪怪的. 如果再加上模型是混合 三邊形, 四邊形 和 多邊形 的話...

總括而言, 要 三邊形 轉 四邊形 - 我個人的意見是 - 不要夢想有簡單的方法了, 還是自己動手建 四邊 模型好了! :p

No comments: