0
我正在尝试实现用于计算3D凸包的快速船体算法。 问题是我需要知道某个点是否可以“看见”给定的表面。确定一个点相对于给定3D表面的位置
表面有顺时针或逆时针方向的方向。
我写了一个小型的opengl程序来说明算法运算的图形。
我想,我看到其他的算法使用(标准化叉积,从平面的点的距离)正在采取的算法
它们都导致了错误的一步各种方程。 这意味着他们决定某个表面是可见的(从图中你可以看到它不是)
一个表面或“脸”的例子。
e1 = 0, 0, 0 to 10, 0, 0
e2 = 10, 0, 0 to 10, 10, 0
e3 = 10, 10, 0 to 0, 10, 0
e4 = 0, 10, 0 to 0, 0, 0
<---------/\
|| ||
|| ||
|| ||
\/--------->
可以说我有两点,我想知道他们位于表面的哪一侧。
P1 = -1,-1,-1 P2 = 1,1,1
任何帮助,将不胜感激。
只是为了澄清,如果非要点标志着边缘然后交叉(E2 - E1,E3 - E1)=交叉(P3 - P2 - P2 + P1,P4 - P3 - P2 + P1)?我会测试它,并让你知道它是如何工作的。 – Jonathan 2012-07-11 12:11:02
我想我的问题是我正在使用所有点而不是连续3个点来计算面部正常。 – Jonathan 2012-07-17 13:20:30