0
我想在右下欧几里得三角形庞加莱磁盘双曲线三角形,它看起来像这样的形式将纹理映射:纹理映射到一个双曲线三角形
这里的纹理(纹理的左上角三角形是透明且未使用的)。你可能会认识到这是埃舍尔的Circle Limit I的一部分:
而这正是我的多边形的样子(它在原点,这就意味着,两个边缘直线为中心,但是一般三个边会是曲线如在第一图片):
多边形的中心是由它的顶点形成的欧几里德三角形的incentre和我UV使用它的incentre映射纹理,将其分割成相同多边形所具有的面数,并将每个面映射到相应的多边形面上。然而,结果是这样的:
如果有人认为这样使用UV贴图我很乐意提供一些示例代码,但是我开始想,这也许是不可能的,是可解我将不得不编写自己的着色器函数。
我也问过这个问题在上computergraphics.stackexchange并得到一个答案有 http://computergraphics.stackexchange.com/questions/2117/map-a-texture-to-a-hyperbolic-triangle – looeee
这很整齐。你有没有可能提供一个更详细的例子来说明你是如何做到的? –
欢迎您浏览https://github.com/looeee/hyperbolic-tiling/tree/master/es2015。就绘制多边形而言,大多数代码位于elements.js Polygon类中,该类将网格传递到threejs.js中的polygon()方法进行绘制。 我在eschersketch.com上也有一个工作快照。 – looeee