我一直在如何解决这个问题上停留了一会儿,所以任何建议将不胜感激!
我想以右下欧氏三角形的形式将纹理映射到Poincare磁盘上的双曲三角形。
这是纹理(纹理的左上角三角形是透明的且未使用)。您可能会认识到这是Escher's Circle Limit I的一部分
抱歉,看到评论,因为我似乎不允许张贴两个以上的链接!
这就是我的多边形的样子(它以原点为中心,这意味着两个边都是直线,但是通常所有三个边都是圆弧):
多边形的中心是由其顶点形成的欧几里得三角形的中心,我正在使用UV的中心对贴图进行UV映射,将其划分为与多边形具有相同数量的面,并将每个面映射到相应的多边形面上。但是结果看起来像这样:
如果有人认为使用UV映射可以解决此问题,我很乐意提供一些示例代码,但是我开始认为这可能是不可能的,我将不得不编写自己的映射函数。
由于AB,AC,BC线实际上可能是弧线而不是线,因此对@Nathan的答案进行了一些改进。
方法:选择最长的边,例如BC,然后将其细分为偶数个部分。将另外两个侧面细分为相同数量的零件。那么连接它们的线(下面答案中的DE)实际上也必须是弧线,而不是直线。根据需要细分这些新弧,添加新三角形作为面,然后将纹理的右下三角形UV映射到这些新面。