Pull to refresh

Comments 3

Да прикольно! Давно я занимался чем то подобным — генерацией 3d модели из изображений. Перепробовал много способов и в итоге был выбран метод — «марширующие кубы». И я нашел где то таблицу сразу и в ней были все возможные комбинации. Это необходимо для скорости алгоритма. К тому же я вычислял где конкретно находится точка на грани — таким образом получался сразу адаптивный вариант. Потом еще была оптимизация меша изза тысяч полигонов.
«Кубики» в случае воксельных моделей (раз уж помянули майнкрафт) дают не такие уж гладкие границы. Поверхности под небольшими углами к осям выглядят весьма хреново, если не использовать хитрые эвристики, которые будут давать разные величины для разных осей.

SurfaceNets разве относится к «Дуалу»? Использовал один из вариантов (содран с чужого кода) — внешне похож на кубики, однако подход к генерации меша более практичный (сразу даёт индексный меш) и сам меш более гладкий (хотя тоже когда как).
Собственно демка с которой сдирал

Построение граней между положительными и отрицательными вершинами мне напомнило технику патчворкинга для алгебраических кривых.

Sign up to leave a comment.

Articles