我想模拟一个激光扫描仪,它发射激光束到3D模型上,以测量距离或模型的其他特征。3D模型由xyz坐标中的顶点和面组成;每个顶点也有一些用户定义的特征。
方法应该很简单。我定义了一个视点和视点矢量(即激光束);我需要做的是检查与视点矢量相交的第一个顶点或第一个面,然后我可以测量距离并评估最近顶点的特征。
有没有任何可用的库或工具来实现这一点?
发布于 2011-04-05 17:00:59
您正在谈论的是,从字面意义上讲,ray tracing。这样做背后的数学和代码并不是特别复杂,特别是如果你不需要考虑反射的话。在C++ here中有一个教程可以帮助你做到这一点;三角形相交几乎和球面相交一样简单,你可以完全忽略曲面属性。如果你不想写自己的代码(但说真的,可能需要上百行代码才能完成你想要的),这里有一个关于如何让Povray做你想要的here的提示。
编辑:更多的数学,包括三角形相交,是here。
https://stackoverflow.com/questions/5549301
复制相似问题