是否有任何算法可以将图像投影到非平坦(变形)表面上?
它不会变形太多。它是一个真正的玻璃表面,上面覆盖着优质、耐用的描图纸。我有它的 3 维模型。如何用投影仪对其进行纹理化?
我想用 C\C++\C# 为 Windows 编写一个程序,它能够使用投影仪对 3 维模型给出的任何表面进行纹理化。
我需要一个算法或包含算法的开源库。
是否有任何算法可以将图像投影到非平坦(变形)表面上?
它不会变形太多。它是一个真正的玻璃表面,上面覆盖着优质、耐用的描图纸。我有它的 3 维模型。如何用投影仪对其进行纹理化?
我想用 C\C++\C# 为 Windows 编写一个程序,它能够使用投影仪对 3 维模型给出的任何表面进行纹理化。
我需要一个算法或包含算法的开源库。
是的,有一个算法。除非您真的想自己实现它,否则让现有的 3D 图形实现为您完成这项工作可能更容易——OpenGL 和 DirectX 都可以让您将纹理应用到 3D 模型的表面。NeHe 教程包括一个使用 OpenGL 的基本思想示例。
完全不清楚标准纹理库将使用什么算法,而且它可能不是真正的投影,所以如果准确性很重要,你很多人需要自己做这件事(或者对给定的特定算法使用哪些特定算法进行一些研究图书馆)。
基本算法很简单。基本上,您只需要找到从投影点发出的线与您的表面相交的位置。更详细地说:
另一方面,如果您的表面是用数学方法描述的,则可能有一个简单的方程式,例如,如果您将平面映射到球体,就会出现这种情况。
它被称为图像失真校正。