Определение площади поверхности объекта в Blender при помощи Geometry Nodes

В Blender при помощи Geometry Nodes можно делать множество интересных и полезных вещей. Например – определять площадь поверхности для любого объекта.

Добавим в сцену сферу (shift + a – Mesh – UV Sphere), назначим ей модификатор Geometry Nodes и нажатием кнопки new создадим начальное дерево нод геометрии.

Площадь поверхности меша можно представить как сумму площадей всех его полигонов.

Площадь отдельного полигона можно получить при помощи нода Face Area. Добавим его – shift + a – Mesh – Read – Face Area.

Для того чтобы суммировать площади всех полигонов, добавим нод Attribute Statistic (shift + a – Attribute – Attribute Statistic). Соединим его вход Geometry с основной веткой геометрии нодового дерева. Выход Area нода Face Area соединим со входом Attribute нода Attribute Statistic.

Теперь на выходе Sum нода Attribute Statistic мы получим искомую сумму площадей всех полигонов объекта, т.е. площадь поверхности всего объекта.

Чтобы увидеть ее в числовом выражении, добавим нод Viewer (shift + a – Output – Viewer). Соединим его вход Geometry с основной веткой геометрии нодового дерева. Выход Sum нода Attribute Statistic соединим со входом Value нода Viewer.

Откроем рабочую область Spreadsheet и переключим ее в режим Viewer Node.

В поле Viewer в таблице Spreadsheet мы видим значение 12.354. Это и есть площадь поверхности нашей сферы.

Значения указаны для каждого вертекса, т.к. нод Attribute Statistic выдает значение в атрибут вертексов меша. Однако значение всегда будет одно.

Для проверки подсчета мы можем вручную вычислить площадь сферы с радиусом 1 по формуле 4 * Pi * R^2, и получим такое же значение, как и при подсчете при помощи Geometry Nodes.

Кстати, площадь поверхности Сюзанны равна 12.147.

5 1 голос
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии