Math
Числа являются самой простой формой данных, а самым простым способом связать эти числа между собой является математика. Начиная от элементарных операторов, таких как деление, и заканчивая тригонометрическими функциями и более сложными формулами, математика — отличный способ начать знакомство с отношениями и закономерностями в мире чисел.
Арифметические операторы
Оператор — это набор компонентов, в которых используются алгебраические функции с двумя входными числовыми значениями, результатом которых является одно выходное значение (сложение, вычитание, умножение, деление и т. д.). Они находятся в разделе «Операторы» > «Действия».
!
Сложение (+)
var[]...[], var[]...[]
var[]...[]
!
Вычитание (–)
var[]...[], var[]...[]
var[]...[]
!
Умножение (*****)
var[]...[], var[]...[]
var[]...[]
!
Деление (/)
var[]...[], var[]...[]
var[]...[]
Упражнение «Формула золотой спирали»
Скачайте файл с примером, щелкнув ссылку ниже.
Полный список файлов примеров можно найти в приложении.
Часть I. Параметрическая формула
Объединяйте операторы и переменные для формирования более сложной связи с помощью формул. Используйте регуляторы для создания формулы, которой можно управлять с помощью входных параметров.
Создайте числовую последовательность, которая представляет собой «t» в параметрическом уравнении. Теперь нужен достаточно большой список для определения спирали.
Number Sequence. Определим последовательность чисел на основе трех входных параметров: start, amount и step.
!
2. На предыдущем шаге был создан список чисел для определения области параметрических компонентов. Создайте группу узлов, представляющих уравнение золотой спирали.
Золотая спираль определяется по следующей формуле:
На изображении ниже представлена золотая спираль в форме визуального программирования. Рассматривая группу узлов, обратите внимание на соответствие между визуальной программой и уравнением в записи.
!
a. Number Slider. Добавьте два регулятора чисел в рабочую область. Эти регуляторы будут задавать переменные a и b параметрического уравнения. Они представляют собой гибкую константу или параметры, которые можно настроить для получения желаемого результата.
b. Multiplication (*). Узел умножения обозначен звездочкой. Он будет часто использоваться для соединения умножаемых переменных
c. Math.RadiansToDegrees. Значения «t» необходимо преобразовать в градусы для их оценки в тригонометрических функциях. Следует помнить, что для оценки этих функций в Dynamo по умолчанию используются градусы.
d. Math.Pow. В качестве функции «t» и числа «e» этот узел создает последовательность Фибоначчи.
e. Math.Cos и Math.Sin. С помощью этих двух тригонометрических функций будут различаться координаты X и Y (соответственно) для каждой параметрической точки.
f. Watch. В качестве выходных данных отображается два списка, которые будут выступать в качестве координат x и y точек, используемых для формирования спирали.
Часть II. От формулы к геометрии
Хотя набор узлов из предыдущего этапа будет выполнять поставленные задачи, этот процесс довольно трудоемкий. Для повышения эффективности работы ознакомьтесь с разделом DesignScript, в котором показано, как в одном узле разместить строку выражений Dynamo. На последующих этапах рассмотрим использование параметрического уравнения для построения спирали Фибоначчи.
Point.ByCoordinates. Соедините верхний узел умножения с входным параметром «x», а нижний — с входным параметром «y». На экране отобразится параметрическая спираль, проходящая через точки.
!
Polycurve.ByPoints. Соедините узел Point.ByCoordinates из предыдущего шага с входным параметром points. Параметр connectLastToFirst можно оставить без входных данных, поскольку мы не будем создавать замкнутую кривую. Таким образом, получаем спираль, которая проходит через каждую точку, заданную на предыдущем шаге.
!
Спираль Фибоначчи создана. Продолжим работу и выполним еще два упражнения, которые назовем «Наутилус» и «Подсолнух». Продемонстрируем два варианта использования спирали Фибоначчи на примере этих представителей естественных систем.
Часть III. От спирали к наутилусу
Circle.ByCenterPointRadius. Узел окружности будет иметь те же входные данные, что и на предыдущем шаге. Значение радиуса по умолчанию равно 1.0, поэтому окружности создаются сразу. Четко видно, каким образом точки отклоняются от начала координат.
!
Number Sequence. Это исходный массив элементов «t». Если соединить его со значением радиуса узла Circle.ByCenterPointRadius, центры окружностей будут по-прежнему отклоняться дальше от начального положения, но радиус окружностей будет увеличиваться, создавая необычный график спирали Фибоначчи.
3D-изображение этого объекта будет выглядеть замечательно.
!
Часть IV. От наутилуса к подсолнуху
Массив. После создания раковины наутилуса перейдем к параметрическим сеткам. Используя основной угол вращения спирали Фибоначчи, создайте сетку Фибоначчи, а на ее основе — модель расположения семян цветка подсолнуха.
Начнем с того же шага, что и в предыдущем упражнении: создадим массив точек спирали с помощью узла Point.ByCoordinates.
Далее выполните следующие небольшие действия, чтобы создать последовательность спиралей с различным вращением.
!
a. Geometry.Rotate. Существует несколько вариантов узла Geometry.Rotate. Убедитесь, что выбран узел с входными параметрами geometry, basePlane и degrees. Соедините узел Point.ByCoordinates с входным параметром «geometry». Щелкните правой кнопкой мыши этот узел и убедитесь, что для переплетения задано значение «Векторное произведение».
b. Plane.XY. Соедините узел с входным параметром basePlane. Вращение будет выполняться вокруг начала координат, которое совпадает с основанием спирали.
c. Number Range. Для входного параметра значений градусов необходимо создать несколько вращений. Это можно быстро сделать с помощью компонента Number Range. Соедините его с входным параметром degrees.
d. Number. Чтобы задать диапазон чисел, добавьте три узла Number в рабочую область в вертикальном порядке. В нисходящей последовательности назначьте значения 0.0,360.0 и 120.0 соответственно. Они будут определять вращение спирали. Обратите внимание на результаты вывода из узла Number Range после соединения с ним трех узлов Number.
Полученное изображение начинает напоминать водоворот. Скорректируйте некоторые параметры Number Range и посмотрите, как изменятся результаты.
Измените размер шага в узле Number Range, задав вместо значения 120.0 значение 36.0. Обратите внимание, что при этом генерируется больше вращений, и, следовательно, создается более плотная сетка.
!
Измените размер шага в узле Number Range, задав вместо значения 36.0 значение 3.6. Получится более плотная сетка, а у спирали будет отсутствовать направление. Итак, мы создали подсолнух.
!
Last updated