Meschers: Geometry Processing of Impossible Objects
Мешеры: геометрия невозможного
Кратко
Невозможные объекты — рисунки, которые мозг воспринимает, но в 3D не существуют. Раньше их «впихивали» в 3D: резали или гнули. Резка портит геометрию, гнутье мешает освещению и ломает алгоритмы (расстояния, диффузия и т.д.).
Мешер — новая сетка: у каждой вершины только 2D-координаты экрана, а у рёбер — разница глубин. Сумма этих разниц по циклу может быть ≠ 0; в этом вся «невозможность». Построено на дискретном внешнем исчислении.
Что умеет
- Сглаживание, диффузия тепла, геодезические расстояния.
- Инверсный рендеринг: из 2D-фото невозможного треугольника восстанавливаем мешер.
- Легко менять освещение, не портя форму.
Демо
Слева — сглаживание 2D-координат, в центре — сглаживание глубин, справа — всё вместе.
Из обычного тора оптимизацией получаем настоящий невозможный Penrose-треугольник.
Код и статья — на сайте проекта.