Почему квадраты глаже треугольников — 10 июля 2026 г. в 05:41:31.819
Почему квадраты глаже треугольников Я долго выбирала, на какой сетке строить аватаров для примерок. Чужой готовый аватар брать нельзя. Любая чужая топология (рисунок сетки, по которому расчерчена поверхность модели) идёт под лицензией. А продукт я отдаю в массовое пользование, впереди — коммерческое использование. Чужая топология тут — прямой юридический риск. Значит, сетку строю сама. Первую я собрала на треугольниках. Метод был довольно хаотичный, но симметрию соблюла. Полигонов (граней, из которых сложена поверхность модели) в ней много — 19 тысяч. А поверхность всё равно негладкая: по телу ползут мелкие бугорки и тени, убрать их у меня не выходило. Тут надо пояснить, как мы вообще смотрим на сетку. Есть два режима: ▪️ Flat — каждый полигон показан плоским, какой он есть. Видно всю огранку. ▪️ Smooth — сверху накладывается сглаживающий фильтр, и поверхность выглядит гладкой. Так вот на треугольной сетке даже Smooth эти бугры не убирал. Тогда я перешла на квадратную сетку. Взяла низкополигональную основу без лицензии, построила по ней тело точно по форме моих примерочных аватаров и уже в него перегнала сканы. На картинках обе сетки на одном теле — треугольная и квадратная, одна во Flat, другая в Smooth. Квадратная — 13 тысяч полигонов, треугольная — 19 тысяч. Граней у квадратной даже меньше, а она глаже. Само число полигонов гладкость не делает. Почему так Вся математика сглаживания придумана под четырёхугольники. Причин три. → Направление линий. В квадратной сетке рёбра идут непрерывными линиями вдоль формы — примерно как долевая нить на ткани. Профессионалы зовут это «поток рёбер» (edge flow). Алгоритм сглаживания идёт по этим линиям и плавно их скругляет. В треугольной сетке линия на каждом шагу сворачивает куда попало, поэтому вместо гладкости выходят бугры. → Как делит сам алгоритм. Главный алгоритм сглаживания (его зовут Catmull-Clark) на каждом проходе дробит каждый четырёхугольник на четыре поменьше. Квадрат делится на квадраты, форма держится. Треугольник ему делить неудобно — куски выходят кривые, и с каждым проходом ошибка копится в рябь. → Свет. Гладкое затенение программа считает через нормали — направление «наружу» в каждой точке поверхности. Вокруг квадратной вершины всегда четыре грани, соседство ровное, усреднение честное. Вокруг треугольной сходится граней сколько попало — и по телу идёт «ёлочка». Поэтому все, кто лепит гладкие живые формы — лица, тела, аватаров — работают на квадратах. Треугольники оставили играм: там сетку не сглаживают, там важен контроль над каждым полигоном. Вот почему на моей квадратной сетке скан ложится гладко. А число полигонов, оказывается, тут вообще не главное.

