1. 程式人生 > >3D模型瀏覽器的實現思路

3D模型瀏覽器的實現思路

想是 ... logs 三維 開發 技術 無向圖 需要 結構

前段時間正好瀏覽了數據結構中關於圖的部分,突然就意識到一個問題,3D模型就是用無向圖來存儲的。仔細想一想是不是這樣呢? 一個3D模型去掉材質之後剩下的部分就是點以及點和點之間的連線了,點我們用三維坐標表示即可,假設一個模型有6個點構成,那麽我們就存儲這N個點的坐標,p1(x1,y1,z1),p2(x2,y2,z2),... 一直到p6(xn,yn,zn)。好了現在三維空間中已經有了6個點了,但是如果沒有將這些點連接起來就不會形成模型了,那怎麽表示某個點與某個點之間是連接的呢?用無向圖即可。

無向圖是個什麽意思呢?假設空間中有6個點,分別為p1到p6,如果點p1和點p2之間有連線則用1表示,如果沒有連線則用0表示,所以模型之間點的關系就可以用一個表格來表示,表格是用數組來存儲的。

技術分享

根據上面這個表就可以畫出一個模型了,想象一下p1~p6是三維空間中的點。

技術分享

所以,如果想開發一個很簡單的建模軟件,只需要保存點的坐標和坐標之間的關系即可,導出這些數據。如果想開發一個很簡單的模型瀏覽軟件,只需要讀取這些數據即可。

3D模型瀏覽器的實現思路