[運算] 3D中關於patch 用圓座標取點

作者: binjon (捨得斌~ 衝衝衝!!)   2014-05-20 16:23:57
各位大大,小弟用Matlab轉檔案
目前是用Matlab吃進來 stl 檔案然後在用圓座標去取上面的vertex 三角形的點。
下面的範例是小弟嘗試用
(phi,theta,r)圓座標去取點,其中的phi和theta 為固定幾個角度,所以這邊
是要取r 的值出來,最後再去描點(3dplot)再看結果。
小弟方法分兩個步驟,
第一個就是patch.face 規定的三個點圍成的平面和我所要描的
(phi,theta,r)對於圓心(0 0 0 )拉出來的線求交點。
第二個就是用這個交點作線性規劃,找交點位於三點圍成的三角形之類,才是我判別
點是在vertex 的平面上面,這樣就可以確定 r 值了。
第二個線性規劃上面,我是用交點 vs.三角形分開為一條線
和一個點作,如下圖右邊線為三角形的兩個點所成,然後交點只要在三角形內,則d1>d2
以此類推,我只要作三次都符合,就可以知道交點在這個face 內了。
d1 |
三角形上之點。
作者: YoursEver (豬是妳)   2014-05-20 17:04:00
改用barycentric coor.;直接看交點是不是落在三角形內.
作者: binjon (捨得斌~ 衝衝衝!!)   2014-05-21 11:15:00
感謝樓上,2014新func ? 我在試一下 !!
作者: YoursEver (豬是妳)   2014-05-21 11:33:00

Links booklink

Contact Us: admin [ a t ] ucptt.com