сообщение в блоге Джиа Кастелло и Эстер Букет

Перед началом своей 10-недельной программы SFPC предлагает недельное введение в программирование для поступающих студентов и новичков, которые хотят научиться программировать. Организаторами буткемпа выступили Мэтт Якобсон и Робби Крафт при ассистенте преподавателя Алекс Миллер. Сессия стала прекрасным поводом узнать о синтаксисе C ++ и о том, как он работает, с использованием переменных, циклов, функций и многого другого, чтобы начать создавать визуальное искусство и анимацию в openFrameworks.

Изучение нового языка программирования похоже на изучение нового языка с его собственными выражениями, словами и пунктуацией, поэтому упражнения, которые мы сделали в течение пятидневного занятия, помогли нам научиться «говорить на openFrameworks».

1 день

Первый день был посвящен основам азов. После введения учителей и ТА мы узнали немного больше об инструментах и ​​среде, которую собирались использовать. Мы начали с простой геометрии, такой как прямоугольники и линии, и попытались отобразить их, чтобы нарисовать буквы наших имен. Это был познавательный и увлекательный способ узнать о переменных и их жизненном цикле, типах и функциях для создания настраиваемых чертежей с различными параметрами.

День 2

На второй день мы начали создавать наши первые анимации! Мы узнали, как функции могут возвращать значения, и закодировали мяч, который следует за нашей мышью.

Мы также могли использовать служебные методы, условия и случайные числа в openFrameworks и закодировать случайный ходунок на экране. Мы изучили основы управляющих структур, таких как циклы, и немного посчитали, используя время и синусоидальные кривые, чтобы построить подпрыгивающую форму. К концу дня у нас заболели мозги.

3 день

На третий день мы углубились в мир петель и контейнеров. Когда наш мозг был еще разогрет по сравнению со вчерашним днем, мы начали говорить о логике циклов, чтобы создать астроиду, особую математическую кривую, которая должна связать первое значение на оси x с последним значением ось y.

После небольшого перерыва мы использовали сохранение переменных и положение мыши, чтобы нарисовать линию с помощью курсора. Затем мы узнали, как хранить больше данных с помощью объектов, массивов и arrayList (называемого «вектором» в C ++), чтобы иметь возможность сохранять предыдущие позиции и удалять их после достижения максимального размера наших массивов. Отсюда у нас был выбор между тремя небольшими упражнениями: дождливый день, звездная ночь или анимированная сетка из предыдущих букв, которые мы нарисовали.

День 4

На четвертый день мы получили трип! Мы работали с объектами-полилиниями, векторами и камерами. Сначала мы узнали о функциях поворота, сдвига и масштабирования, а также о том, как ограничить преобразования с помощью матриц push и pop.

Из этого мы узнали, как создать класс для создания объекта частицы. Мы начали с рисования только одного шара, используя простые вычисления для физики, а затем сошли с ума, умножив этот шар в сто раз. Время конфетти!

Позже мы оставили 2D-рисование, чтобы начать создавать собственные 3D-среды с использованием осей X, Y и Z в наших проектах openFramework. Для этого мы построили сцену с трехмерным объектом посередине и спутниковым светом, освещающим наш объект. Мы смогли увидеть трансформации оттенков, и это было потрясающе.

5 день

День пятый и последний день занятий! После краткого введения в различие между функциями ofRandom и ofNoise мы начали сосредотачиваться на проблеме рукопожатия: для x человек в комнате, сколько рукопожатий произойдет? Это потребовало больше логики, мысленных расчетов и визуализации, но было действительно полезно иметь возможность использовать большинство инструментов, которые мы изучили в течение недели. Мы узнали, что это был способ соединить несколько фигур вместе, не забывая ни одной из них или дублируя линии.

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

И к этому времени мы также больше узнали друг друга и делились не только кодом, но и качественным временем вместе под солнцем. Мы все были очень благодарны за эту неделю обучения, которая определенно повысит нашу креативность и наши будущие проекты. Спасибо, Робби, Мэтт, Алекс (и Баг!) За ваше руководство и Лорен за то, что она была нашим замечательным хозяином.