3d - 我如何找到光线在 3d 网格中相交的所有立方体?

标签 3d collision-detection

我需要从地面向太阳转换光线,并想找出阴影中是否有物体。我计划通过追踪从地面立方体到太阳的线并找出是否有任何物体挡在路上来做到这一点。但是,我不熟悉数学来找到一条线相交的所有立方体,所以我可以测试它们是否被填充。任何人都可以对此有所了解吗?

最佳答案

您想要执行一个(或在这种情况下,很多)光线盒相交。一个示例算法在这里:
http://www.siggraph.org/education/materials/HyperGraph/raytrace/rtinter3.htm

或者,如果您的立方体都是轴对齐且紧密排列的,您可能想要尝试 Bresenham 算法的 3D 版本(用于通过像素绘制线条)。

关于3d - 我如何找到光线在 3d 网格中相交的所有立方体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4563879/

相关文章:

c# - Unity - 如何从父游戏对象检测子对象的碰撞?

matlab - 透视 n 点、PnP (p3p) 3D 重建

java - 将 3D 线拟合到 Java 中的 3D 点数据?

vector - 如何将 3D 空间坐标转换为 2D 空间坐标?

java - 弹跳球的物理学

python - 如何使矩形在球第一次和第二次击中时改变颜色,然后在第三次击中时使其消失?

javascript - 如何平移 THREE.PointCloud 对象中的顶点?

C# Wpf 3D 组合模型导致光照问题

python - 检测矩形与圆的碰撞

java - awt无相交方法的圆与矩形碰撞检测