用于3D多边形模型上的光束跟踪(光束交叉)的库

问题描述 投票:1回答:1

我想模拟一个激光扫描仪,它将激光束发射到3D模型上,以测量模型的距离或其他特征。 3D模型由xyz坐标和面的顶点组成;每个顶点还有一些用户定义的特征。

方法应该很简单。我定义了一个视点和视图矢量(即激光束);我需要做的是检查第一个顶点或与视图矢量相交的第一个面,然后我可以测量距离并从最近的顶点评估特征。

有没有可用的库或工具呢?

opengl 3d intersection trace raytracing
1个回答
2
投票

从字面意义上讲,你所谈论的是ray tracing。这样做的数学和代码并不是特别复杂,特别是如果你不必考虑反射。有一个教程可以用C ++ here做到这一点;三角形交点几乎与球面交点一样简单,您可以完全忽略表面属性。如果你不想编写你自己的代码(但是认真地说,这可能是一百行来做你正在寻找的东西),有一个暗示如何让Povray做你在here之后的事情。

编辑:更多的数学,包括三角形交叉,是here

© www.soinside.com 2019 - 2024. All rights reserved.