假设我们有一个由三个点定义的 3d 多边形
- x1, y1, z1
- x2, y2, z2
- x3, y3, z3
然后我们有一条垂直于 Z 轴的射线,位置为 rX,rY。 我们如何才能确定光线是否击中了多边形以及碰撞发生在哪个 X、Y、Z 位置。
任何代码示例都会非常有用。
最佳答案
有关 vector 与 3D 三角形的交集,请参阅 http://en.wikipedia.org/wiki/M%C3%B6ller%E2%80%93Trumbore_intersection_algorithm .您需要为伪代码添加自己的叉积 (CROSS)、点积 (DOT) 和子 vector (SUB) 代码。
关于java - 计算多边形内的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17474743/