Геометрия — это язык, на котором осуществляется разработка. Если в основе языка или среды программирования лежит геометрия, это открывает широкие возможности для создания точных и надежных моделей, автоматизации процессов разработки и итерации проектов на основе алгоритмов.
Зная типы геометрии и то, как они связаны друг с другом, можно легко ориентироваться в наборе узлов Geometry, доступных в библиотеке. Узлы Geometry располагаются в алфавитном порядке, а не по иерархическому принципу. Здесь они отображаются примерно так же, как и в интерфейсе Dynamo.
Кроме того, эти знания позволят упростить и сделать более понятым процесс создания моделей в Dynamo, а также соотнесение потока данных в графике с изображением в области предварительного просмотра.
Обратите внимание на предполагаемую систему координат, представленную сеткой и цветными осями.
Выбранные узлы визуализируют соответствующую геометрию (если узел создает геометрию) в фоновом режиме.
Скачайте файл примера, щелкнув указанную ниже ссылку.
Полный список файлов примеров можно найти в приложении.
В обычном понимании геометрия — это исследование формы, размера, относительного положения фигур и свойств пространства. Эта дисциплина имеет богатую историю, берущую свое начало тысячи лет назад. Благодаря появлению компьютеров мы получили мощный инструмент для описания, изучения и генерирования геометрических объектов. В настоящее время можно с легкостью рассчитать сложнейшие геометрические взаимодействия, и ни для кого не секрет, что мы активно используем эти возможности.
Если вы хотите узнать, насколько разнообразной и сложной может быть геометрия, разрабатываемая с помощью компьютеров, введите словосочетание «Стенфордский кролик» в любой поисковой системе. Это каноническая модель, которая используется для тестирования алгоритмов.
Перспектива применения геометрии в контексте алгоритмов, компьютерных вычислений и повышенной сложности может показаться пугающей. Однако есть несколько относительно простых ключевых принципов, освоив которые, мы сможем приступить к изучению более сложных вариантов применения геометрии.
Геометрия —это данные, поэтому с точки зрения компьютера и приложения Dynamo геометрический кролик практически ничем не отличается от обычного числа.
Геометрия основана на абстракции: по сути, все геометрические элементы описываются с помощью чисел, отношений и формул в заданной пространственной системе координат.
Геометрия имеет иерархию: точки образуют линии, линии образуют поверхности и т. д.
Геометрия одновременно описывает часть и целое: если есть кривая, то она представляет собой и форму, и все возможные точки вдоль нее.
На практике эти принципы означают, что пользователи должны понимать, над чем они работают (тип геометрии, как она была создана и т. д.). Это понимание позволит нам с легкостью конструировать, разбирать и снова собирать различные геометрические объекты в ходе разработки сложных моделей.
Давайте рассмотрим геометрию с точки зрения принципов абстракции и иерархии. Хоть это и не всегда очевидно, эти принципы тесно взаимосвязаны, и если в этом не разобраться, то при разработке детализированных рабочих процессов и моделей можно столкнуться с серьезным препятствием. Для начала давайте воспользуемся понятием пространственным измерений в качестве основной характеристики моделируемых нами объектов. Зная количество измерений, необходимых для описания формы, мы сможем приблизиться к пониманию иерархического устройства геометрии.
Точка (определяемая координатами) не имеет измерений. Она описывается только числами, соответствующими каждой из координат.
Отрезок (определяемый двумя точками), в свою очередь, имеет одно измерение: мы можем перемещаться вдоль отрезка вперед (положительное направление) и назад (отрицательное направление).
Плоскость (определяемая двумя линиями) имеет два измерения: мы можем перемещаться не только вперед и назад, но и влево или вправо.
Параллелепипед (определяемый двумя плоскостями) имеет три измерения: в дополнение к указанному выше, мы можем перемещаться вверх и вниз.
Пространственные измерения — это удобный способ классификации геометрический объектов, но не всегда самый лучший. В конце концов, при моделировании используются не только точки, отрезки, плоскости и параллелепипеды. Что, если нужен изогнутый объект? Кроме этого, существует еще одна категория геометрических типов, которые являются полностью абстрактными: они определяют такие свойства, как ориентация, объем или связи между отдельными частями объекта. Такой объект, как вектор, например, абсолютно неосязаем. Так как же описать его относительно того, что мы видим в пространстве? Нужна более подробная классификация иерархии геометрических объектов, которая должна отражать разницу между абстрактными типами (вспомогательными средствами), которые можно сгруппировать по выполняемой ими функции, и типами, которые используются для описания формы элементов модели.
Создание моделей в Dynamo не ограничено объектами, которые можно создать с помощью узлов. Есть несколько способов расширить возможности использования геометрии.
Dynamo позволяет импортировать файлы: используйте файлы CSV для создания облаков точек или файлы SAT для добавления поверхностей.
При работе с Revit можно ссылаться на элементы Revit, чтобы использовать их в Dynamo.
В Dynamo Package Manager реализованы дополнительные функции, поддерживающие расширенный набор типов геометрии и операций. Ознакомьтесь с возможностями пакета Mesh Toolkit.