[运算] 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