java - 计算多边形内的点

标签 java algorithm 3d geometry

假设我们有一个由三个点定义的 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/

相关文章:

java - jsoup 1.8.2 + android,NoClassDefFoundError : Failed resolution of: Ljava/applet/Applet;

java - 返回扩展类的类型给平台声明冲突

java - 在 Java 3d 中旋转对象

3d - SketchUp 如何删除网格线

java - 使用 Google 发布 API 上传 AAB 文件时出现 SocketTimeoutException

c# - 在 Android 中使用 WCF 服务时出错

c# - 优先级字典

algorithm - 寻找一种算法以(伪)随机顺序吐出一系列数字

python - 在 Python 和 Networkx 中动态创建满足条件的图

javascript - Three.js 在鼠标点击的地方绘制,但完全平行于相机方向