Я на деякий час застряг, як підійти до цього, тому будь-які пропозиції будуть вдячні вам!
Я хочу зіставити текстуру у вигляді правого нижнього евклідового трикутника до гіперболічного трикутника на диску Пуанкаре.
Ось текстура (верхній лівий трикутник текстури прозорий і невикористаний). Ви можете визнати це частиною Межі кола Ешера
Вибачте, дивіться коментар, оскільки мені не дозволяється публікувати більше двох посилань!
Ось так виглядає мій багатокутник (він зосереджений на початку, а це означає, що два ребра - прямі, проте загалом усі три ребра будуть круговими дугами):
Центр багатокутника - це інцентр евклідового трикутника, утворений його вершинами, і я ультрафіолетово відображаю текстуру, використовуючи її інцентр, розділяючи його на таку ж кількість граней, як і багатокутник, і відображаючи кожну грань на відповідну грань полігона. Однак результат виглядає приблизно так:
Якщо хтось думає, що це вирішується за допомогою УФ-карти, я би радий надати приклад коду, проте я починаю вважати, що це може бути неможливим, і мені доведеться написати власні функції картографування.
ВИРІШЕНО деяким уточненням відповіді @ Натана нижче, оскільки лінії AB, AC, BC можуть насправді бути дугами, а не лініями.
Спосіб: виберіть найдовшу сторону, скажімо BC, а потім поділіть її на парну кількість частин. Інші дві сторони поділіть на однакову кількість частин. Тоді лінії, що з'єднують ці (DE у відповіді нижче), насправді також повинні бути дугами, а не прямими. Розділіть ці необхідні нові дуги, додайте нові трикутники як грані, а потім УФ-карту нижнього правого трикутника текстури до цих нових граней.