Algorithm 有没有算法可以将图像投影到非平面上?

Algorithm 有没有算法可以将图像投影到非平面上?,algorithm,model,3d,projector,geometry-surface,Algorithm,Model,3d,Projector,Geometry Surface,是否有任何算法可以将图像投影到非平面(变形)表面上 它没有变形太大。这是一个真正的玻璃表面覆盖着高品质,耐用的描图纸。我有一个三维模型。我如何用投影仪对它进行纹理处理 我想用C\C++\C#为Windows编写一个程序,它可以使用投影仪对三维模型给出的任何表面进行纹理处理 我需要一个算法或包含算法的开源库。是的,有一个算法。除非您真的想自己实现它,否则让现有的3D图形实现为您完成这项工作可能更容易——OpenGL和DirectX都可以让您将纹理应用到3D模型的表面。NeHe教程包括使用OpenG

是否有任何算法可以将图像投影到非平面(变形)表面上

它没有变形太大。这是一个真正的玻璃表面覆盖着高品质,耐用的描图纸。我有一个三维模型。我如何用投影仪对它进行纹理处理

我想用C\C++\C#为Windows编写一个程序,它可以使用投影仪对三维模型给出的任何表面进行纹理处理


我需要一个算法或包含算法的开源库。

是的,有一个算法。除非您真的想自己实现它,否则让现有的3D图形实现为您完成这项工作可能更容易——OpenGL和DirectX都可以让您将纹理应用到3D模型的表面。NeHe教程包括使用OpenGL的基本思想的一部分。

标准纹理库将使用什么算法并不清楚,而且它可能不是真正的投影,因此如果精度很重要,您需要自己做这件事(或者对给定库使用的特定算法进行一些研究)

基本算法简单。基本上,你们只需要找到从你们的投影点发出的线和你们的曲面相交的地方。更详细地说:

  • 决定你的投影点
  • 确定从投影点发出的一束线,这些线将为扭曲曲面提供所需的分辨率
  • 确定这些线与曲面相交的位置(具体方法取决于曲面表示)
  • 假设平面图像放置在投影点和扭曲曲面之间的某个位置,找到直线与平面的交点,并将该值指定给扭曲曲面上的位置

  • 另一方面,如果你的曲面是用数学方法描述的,那么可能会有一个简单的方程,例如,如果你将一个平面映射到一个球体,那么就是这样。

    这叫做图像失真校正。

    你是否试图模拟如果有人将普通电影放映机指向这个曲面,它会是什么样子?或者您正在尝试调整投影以抵消曲面中的变形吗?要添加此项,特定的OpenGL调用是
    glTexGen(…,GL\u TEXTURE\u GEN\u MODE,GL\u EYE\u LINEAR)