在3D中,确定射线是否与三角形碰撞以及到碰撞点的距离
determine whether a ray collides with a triangle and distance to the collision point, in 3D
我正在寻找一种方法来确定光线是否与三角形碰撞,以及在3D中到碰撞点的距离。
类似下面代码的方法或类似的
float GetCollisionsoint(Vector3 RayPosition, Vector3 RayDirection, Vector3 a1, Vector3 a2, Vector3 a3)
{
}
提前感谢!
哦,如果你现在想投票给我,请评论为什么,这样我就知道我做错了。
Dan Sunday给出了一个算法和参考实现。如果三角形的法线和u
, v
向量是预先计算好的,那么算法将简化为内(点)积。如果将预先计算的u
、v
、n
归一化,则进一步优化:即<u,u> = <v,v> = 1
。
在http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/上有关于这个主题的很好的文章,以及一些示例代码。
相关文章:
- 绘制旋转的三角形
- 落砂模拟碰撞检测C++和SFML
- 如何用for循环在c++中生成单词三角形
- 如何使用递归打印修改后的星号三角形图案
- C++ 创建带有 for 循环的三角形
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Eigen c++ 三角形来自
- 为我的 c++ 类介绍制作一个三角形分类器.我有几个问题
- SFML 碰撞永远不会在我的系统中注册
- 使用对象文件读取三角形数据网格
- 从捕获的帧中裁剪三角形 - OpenCV 和 C++
- 如何从 3D 曲面网格中删除自相交三角形?
- 在均匀网格中处理碰撞
- 以C++输出一个数字三角形
- 打印对立三角形在C++中起作用
- 确定C++中的等腰直角三角形
- 如何为球形物体和三角形地形提供高效的碰撞检测和响应
- 三角形-三角形碰撞检测问题
- 在3D中,确定射线是否与三角形碰撞以及到碰撞点的距离