Креативное программирование что это такое

Концепции программирования в Scratch

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Многим знаком Scratch – детская среда программирования, обучение в которой обычно сводится к созданию творческих проектов по принципу «от простого к сложному». При этом «классический подход» к изучению программирования (переменные → ветвления → циклы → функции → структуры → объекты → …) в Scratch затруднителен.

Однако изменение последовательности изучения понятий (назовем их концепциями) структурного, объектно- и событийно-ориентированного программирования, их сокрытие за яркими спрайтами и интерактивной анимацией, не означает, что на концепциях не следует делать акцент. Особенно, если целью ставится не столько развитие творческих способностей, сколько обучение программированию. Эту идею я постаралась отразить в своем курсе.

Первым, с чем сталкивается начинающий скретчер, являются спрайты. Хотя в Scratch как такового объектно-ориентированного программирования нет, спрайты можно считать объектами. На этом этапе обучающийся видит, что в программе может быть множество объектов, поведением которых управляют внешние для них скрипты. Спрайты получают команды или по требованию передают информацию о своем состоянии, то есть программирование сводится к управлению объектами.

Вторым, что в Scratch сразу сваливается на голову юного программиста, является понятие о многопоточности. Каждый спрайт может иметь по несколько скриптов, выполняемых одновременно. Несколько спрайтов также могут выполнять свои программы одновременно друг с другом. Причем оказывается сложнее организовать последовательное выполнение.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

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

Поскольку Scratch событийно-ориентированная среда, блоки условного оператора удобнее изучить до переменных. Условием могут выступать те или иные события.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

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

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

В Scratch, не считая списков, программист сталкивается с тремя типами данных: числами, строками и булевым типом. При этом тип привязан к значению, а не переменной. Преобразовывать строки в числа и обратно не требуется. Строки в кавычки не заключаются.

Блок, возвращающий логическое значение и имеющих характерную для него угловатую форму, можно вставлять в округлые поля. Обратное не верно: там где предполагается логическое выражение, нельзя вставить обычную переменную.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Scratch реализован так, чтобы в процессе выполнения не возникало критических ошибок. Видимо поэтому, если попытаться использовать строку в арифметической операции, она заменяется нулем (см. первый скрин).

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

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Функции в Scratch реализованы в разделе «Другие блоки», где с одной стороны вы создаете собственный блок, который можно вставлять в другие скрипты. С другой стороны – должны собрать функциональность этого блока, то есть то, что он будет делать.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Возврата значении из скретч-функции нет.

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

Источник

Креативное программирование

Что такое креативное программирование?

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

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование расширяет возможности.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

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

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Что такое скретч?

С помощью Скретч можно создавать широкий спектр интерактивных медиа проектов: анимацию, истории, игры и многоедругое – и делиться этими проектами с другими в онлайн сообществе. С момента запуска Скретч, в мае 2007 года, сотни тысяч людей по всему миру уже создали и поделились более чем шестью миллионами проектов.

Мы предлагаем курсы «Креативное программирование». Желающие узнать о курсах поподробнее и записаться на них пройдите по ссылке Курсы начального опыта креативного программирования.

Источник

Креативное программирование

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

НЕДЕЛЬ

Начало занятий — 28 ноября

Занятия проходят по воскресеньям.
Расписание формируется

кураторы и преподаватели

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Медиахудожник, музыкант, преподаватель Московской высшей школы социальных и экономических наук. Изучал медиаискусство в школе фотографии и мультимедиа им. А. Родченко. Выставлялся в галереях «Электрозавод» и SA))_gallery в Москве.

чему вы научитесь

Программа рассчитана на школьников от 11 лет и старше, которым интересно освоить основы программирования и цифрового искусства.

Тематический план

мы рекомендуем для продолжения обучения по выбранной траектории

ВОПРОСЫ И ОТВЕТЫ

Задать оставшиеся вопросы администратору школы вы можете по телефону 916 640-39-04 (WhatsApp, Telegram) или по почте ashashina@hse.ru.

Запишитесь на день открытых дверей, чтобы посетить мастер-классы, пообщаться с преподавателями и задать уточняющие вопросы администратору Детской школы.

Если вы пока не знаете, какую программу выбрать, то вы можете посетить День открытых дверей. Там вы поучаствуете в мастер-классах и побеседуете с преподавателями. Это станет вводным, пробным занятием курса.

Также вам может помочь администратор детской школы — Анна Шашина 916 640-39-04, ashashina@hse.ru). Она знает особенности курсов и сможет подобрать курс исходя из желаний и возраста ребенка.

Если слушатель старше или младше указанного возраста на полгода, но очень хочет стать слушателем, то мы будем рады видеть его на курсе, однако всегда лучше проконсультироваться с преподавателем дополнительно.

Если возраст отличается на год или более, то лучше выбрать другой курс или подождать — для некоторых курсов необходимо иметь багаж школьных и житейских знаний — ребенку может быть некомфортно на курсе, и это отобьет интерес к выбранной профессии.

В большинстве групп 8-12 человек — это позволяет уделять достаточное внимание каждому ребенку и сделать хорошие персональные проекты. Проектное обучение — основополагающий принцип обучения в Школе дизайна.

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

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

Все занятия проходят по воскресеньям на Малой Пионерской, 12. Большинство занятий стартуют в 12:00.

Курсы стартуют в сентябре, ноябре, январе, апреле, а окончательное расписание формируется перед стартом.

Онлайн-курсы стартуют в октябре и феврале.

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

Вы можете задать вопрос напрямую куратору курса.

По административным вопросам вы можете напрямую написать на почту администратору Детской школы Анне Шашиной: ashashina@hse.ru или звонить по телефону 916 640-39-04.

По окончании программы мы выдаем сертификат Детской школы дизайна НИУ ВШЭ.

Практически для каждого курса предусмотрен следующий продвинутый курс, который спускается следом.

Кураторы курсов и администратор школы смогут дать рекомендации по дальнейшему развитию и обучению.

Главнейшее преимущество — полученные знания и умения, а также знакомство со Школой и преподавателями.

Формальных преимуществ (дополнительных баллов и т.д.) Детская школа не предоставляет.

Мы принимаем оплату от физических лиц по выставленной квитанции и от юридических лиц по номеру расчетного счета. Вы можете оплатить весь курс сразу или платить по частям: равными долями за каждый модуль. Первая оплата — до зачисления на программу.

Скидки предоставляются только сотрудникам ВШЭ. Возможна оплатам материнским капиталом. При появлении новых форматов скидок, мы сообщим дополнительно.

Источник

Креативное программирование: методы и инструменты для JavaScript, Python и других языков

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование

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

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

Лексикон и общение

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

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

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Как же программисту и художнику наладить эффективный диалог? Желательно по меньшей мере превзойти результат, показанный в фильме “Трудности перевода”. Сцена съемок рекламы Suntory Time уморительна, но в итоге получилась неплохая фотосессия. Хотя бы есть на что надеяться. Нам же при организации сотрудничества между художником и программистом нужно добиться большего.

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

Инструменты для креативного программирования

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

Немного истории

Художники изучали потенциал использования в творчестве компьютеров с самого их появления. Легендарные Bell Labs создали одни из самых ранних произведений искусства именно с помощью компьютеров. В этой же лаборатории Эдвард Заец создал первую известную компьютерную анимацию, а ставшая легендой Лилиан Шварц начала работать с графикой. В то время для этого использовался язык BEFLIX (Bell Flicks), первый вложенный предметно-ориентированный язык, разработанный Кеном Ноултоном для компьютерной анимации.

Первая известная компьютерная анимация “Моделирование двухгироскопической гравитационно-градиентной системы контроля ориентацией”, созданная Эдвардом Заецом на SC-4020 в 1963 году

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

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

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Со времен Fortran было разработано много языков программирования. Как правило, появление новых языков вызвано невозможностью решения задач с помощью существующих. Первым же ориентированным на креативное программирование языком стал, вероятно, Design By Numbers (DBN), созданный Джоном Маэда в Media Lab Массачуссетского технологического института (MIT) в 1999 году. DBN не является полнофункциональным, но он монументален, поскольку стал первым языком, предназначенным именно для креативного программирования. Два года спустя, студенты Маэды — Кэйси Риз и Бен Фрай заявили об изобретении Processing.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Интервью с Джоном Маэдой в Американском институте графического искусства (AIGA). Будучи президентом Род-Айлендской школы дизайна (RISD), он стремился внедрить в концепцию STEM (Science [наука], Technology [технология], Engineering [инженерия], Math [математика]) дисциплину Art (искусство) и преобразовать ее в STEAM.

Выбор инструмента для креативного программирования

Людям нравится сравнивать плюсы и минусы. Я же считаю, что это имеет смысл, только когда вы с этими инструментами уже знакомы. Иначе в большинстве случаев перечисление плюсов и минусов аналогично описанию симптомов доктору вроде боли в горле и отсутствия аппетита, что не дает представления об основной причине. Ваш выбор должен опираться на достаточное понимание рассматриваемых инструментов. Надеюсь, что четыре перечисленных ниже аспекта помогут вам в этом:

1) Источник

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

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Processing | p5.js | openFrameworks

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

Если же вы новичок в программировании, то советую начать с Processing. Если вы предпочтете использовать openFrameworks, то имейте в виду, что C++ известен своей высокой обслуживаемостью и для достижения успеха может потребовать более высокого уровня детерминации.

2) Шейдеры

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

Почему многие Processing-программисты не используют шейдеры? Ответ прост и заключается в том, что программировать GLSL достаточно сложно. Если вы уже пробовали работать в Processing, то должны знать, что для правильной работы шейдеров нужно приложить немало усилий. Редактор p5.js по-прежнему не поддерживает эту технология, и в этом случае для использования шейдеров вам потребуется задействовать внешний инструмент, например glitch. Если же вас интересует именно разработка шейдеров, то следует рассмотреть ряд дополнительных инструментов.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

OpenRNDR | ShaderToy | NME от Babylon.js

3) Визуальное программирование

Предоставление визуального интерфейса, упрощающего работу, кажется вполне естественным. На стыке любви к интерфейсам и программированию рождаются визуальные языки программирования. Разработанный MIT Scratch и детище Google Blocky созданы для привлечения детей. Какие же визуальные языки лучше всего подойдут для художников?

Max MSP | Pure Data | vvvv | cables.gl

Пример документации Max MSP (разработан cycling74). Как вы видите, здесь требуются некоторые познания в цифровой музыке или DSP (цифровой обработке сигналов). Max MSP и Pure Data в первую очередь используются музыкантами.

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

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

4) Поддержка 3D

Честно говоря, Processing и p5.js предоставляют только базовую поддержку 3D. Если вы хотите разрабатывать 3d проекты, то лучше вложить свое время в изучение более подходящего инструмента. Ниже приведены два оптимальных варианта:

Three.js | Babylon.js

5) Данные

Многие творческие проекты основаны на данных. Если вы работаете над анализом данных и визуализацией, то есть ряд инструментов способных упростить задачу:

D3.js | Dash | Leaflet и Folium

Итоговый список 16 инструментов

Замысел художника

Согласны ли вы, что в результате креативного программирования должно получиться произведение искусства? Если да, то нельзя также не согласиться, что в этом процессе очень важен замысел художника.

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

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Контраст между ее алым свитером и сильно осветленной кожей порождает великое множество мифов — Спящая красавица, Белоснежка и даже Лилит. Утонченные черты лица Бетти скрывают сильное желание быть именно увиденной, а не просто наблюдаемой. Рихтер подчеркнул ее глаза кобальтовым оттенком, одновременно напоминая смотрящим о неизбежных условностях фотографии и мимолетной природе самого детства. Бетти смотрит не на нас, а на своего отца, создателя в жизни и искусстве.

Если вы работаете в команде креативной разработки, то должны понимать замысел художника. Давайте в общих чертах посмотрим, в чем вообще его важность для общества.

Вы можете рассматривать художника как исследователя, того, кто пытается раскрыть глубинные и универсальные элементы человеческого существа. Как только эти элементы будут найдены, об их открытии необходимо сообщить обществу. Чем эффективнее художник может передать свои открытия в произведении искусства, тем больше людей смогут их понять и пережить этот ценный человеческий опыт. В конце концов, именно поэтому репрезентатизм идет вслед за конвенциализмом. Простое поверхностное знакомство с произведением искусства не вызывает глубокие и ценные вопросы “Зачем?” и “Как так вышло?”, которые волнуют человеческую сущность. Репрезентативность — это просто вспомогательный инструмент, используемый в процессе выражения, чтобы помочь наблюдателю понять истинные причины, вдохновившие произведение. И художник, и его аудитория стремятся преисполниться понимания человеческого существа. Замысел художника — это единственный механизм контроля в процессе достижения и передачи желаемых результатов.

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

О программистах ходит множество шуток. Иногда их представляют как странных существ, но большинство из них на самом деле любят говорить с людьми, особенно о программировании.

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

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

Если же замысел художника понят правильно, то результат будет чудесен.

Техническое понимание

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

Модель художника

Класс Canvas появился в Java на очень раннем этапе. Назван он так не случайно, так как использует модель художника. Джеймс Фор Уокер в книге “Painting the Digital River” рассказывает о своей деятельности в области цифрового искусства. Там он подробно описывает свое видение и подход, которые по замыслу также совпадают с моделью художника.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Processing в первую очередь служит для рисования 2D проектов, и построен он на основе этой же модели. Потому на языке Processing программа называется эскизом.

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

Работа с 3D

Представьте себе 3D кинотеатр. Для формирования 3D сцены нужна виртуальная камера. В этом случае используется OpenGL, являющаяся основной библиотекой с поддержкой большинства современных реализаций 3D.

Работа с 3D складывается из кадров с изображениями аналогично катушке с пленкой. Сложные модели можно создавать при помощи такого ПО, как Maya или Blender, но генеративное программирование в 3D может буквально завораживать.

Chaos Theory | Conspiracy. Программа реального времени, которая вся в целом, включая визуальное оформление и музыку, умещается в 64Kb памяти.

Команда для креативного программирования

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

1) Художник в роли программиста: настенные рисунки Сол ЛеВитта

Несмотря на то, что Сол ЛеВитт не использовал компьютер, его творения можно идеально повторить с помощью программирования. В действительности, воплощение его инструкций по созданию произведения отрисовывается так же, как на компьютере.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Сол ЛеВитт передал для своих настенных картин особые инструкции, подобные псевдоязыкам для программирования. Mass MoCA создали по ним крупномасштабную инсталляцию всех его работ, которая по истине впечатляет.

Сол ЛеВитт | Ретроспектива настенных рисунков (Mass MOCA)

А вот еще один художник, который одновременно и программист.

2) Программист в роли художника: Агрегация Энди Ломаса

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Энди Ломас был участником группы “Генеративное и генетическое искусство” на выставке SIGGRAPH 2006 в Бостоне, где объяснял алгоритм, создавший серию “Агрегация”. Его основным интересом было создание симуляции при помощи программирования, в результате чего получился сложный развивающийся процесс, символизирующий природные феномены. Серию “Агрегация” можно рассматривать как произведение искусства во многих смыслах.

Немало разработчиков начали свое путешествие в область креативного программирования именно этим путем. В структуре мира заложена универсальность, которую не стоит рассматривать как совпадение.

3) Команда из двух и более: Walking City

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

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

Ссылаясь на утопические видения архитектурной группы Archgram из 60-х, Walking City представляет собой развивающуюся видео-скульптуру, разработанную компанией Universal Everything.

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

Рабочий процесс креативного программирования

Когда перед публикой предстает проект креативного программирования, он оценивается как произведение искусства, реализуемое во времени. Теория реализуемого во времени искусства лучше всего проявляется в кинематографе, поскольку данная область изучена в этом отношении больше других.

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

Анализ: когда отъезд становится прибытием

Когда отъезд становится прибытием | Ребекка Сюй, Шон Чжай

Это продукт сотрудничества Ребекки Сюй и Шона Чжай (меня), который выставлялся на ISEA2016 – 22-м международном симпозиуме по электронному искусству.

I. Разработка концепции

Представленный проект — это визуальное музыкальное произведение. Для подобных работ иногда мы сотрудничаем с композитором и разрабатываем видео- и звукоряд параллельно. В данном случае у нас уже была композиция, которая обоих устраивала. Взяли мы ее из серии произведений inter-sax-tive композитора Николаса Шерзингера.

“inter-sax-tive” — это серия импровизированных работ для саксофона и интерактивного компьютера. Главное отличие такого “взаимодействия” от многих традиционных работ, совмещающих живые инструменты с электроникой, в том, что здесь компьютер и исполнитель взаимодействуют в реальном времени. Каждое произведение составляется из набора материалов, подающих основной тон, и специальных эффектов, с которыми саксофонист свободно импровизирует. Компьютер реагирует на издаваемые музыкантом звуки, исходя из того, что он играет. В этом процессе компьютер также может создавать произвольные элементы, что позволяет реагировать на них уже саксофонисту. Интерактивная компьютерная среда спроектирована для максимальной гибкости в создании, наложении и маршрутизации музыкальных материалов с той же импровизационной свободой, с которой музыкант может работать в чисто акустической среде.

Техническая настройка “inter-sax-tive” относительно проста. Нужен саксофон, микрофон, компьютер с возможностью запуска Max/MSP, аудиоинтерфейс с входом и стереовыходом, педальный MIDI контроллер и два динамика.

Благодаря такому взаимодействию музыканта и программы Max/MSP во время прослушивания возникает ощущение непрерывного предвкушения, так как никогда не знаешь, что последует далее. Несмотря на то, что восприятие музыки в основном субъективно, мы хотели сохранить визуальную абстракцию, допуская тем самым некую двусмысленность итогового музыкально-визуального произведения.

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

II. Визуальный анализ

Как выразить свои идеи через визуальный язык? Это удивительный этап проекта, так как возможности очень обширны. Прежде чем мы сможем представить визуально привлекательное произведение, нам необходимо сформулировать его идею. Будучи командой, нам также нужно обсудить наши мысли друг с другом:

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

III. Разработка алгоритма

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

В Processing мы добиваемся этого при помощи 3D сцены, не очищая изображения из предыдущих кадров. Позвольте объяснить подробнее:

Я уже отмечал, что Processing предоставляет только базовые возможности работы с 3D. Мы же нашли удивительную библиотеку iGeo, созданную Сатору Сугихара (ATLV), который разработал ее как инструмент параметрического проектирования в архитектуре. iGeo предоставляет богатую поддержку 3D вычислений. Как инструменту моделирования ей требуется некоторое время для вычисления изображений и для анимации она не оптимизирована.

По этому вопросу я связался с Сугихара через Facebook, и он любезно предоставил мне образец программы, показывающий как использовать iGeo в качестве внешней библиотеки.

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

IV. Повторения

Сотрудничество между художниками и программистами

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

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

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

Заключение

Когда Леон Хармон и Кен Ноултон впервые создали в Bell Labs работу “Исследования восприятия”, отдел по связям с общественностью предупредил их: “Вы можете распространять это исследование, но ни в коем случае не связывайте его с именем Bell Labs.”

Креативное программирование что это такое. Смотреть фото Креативное программирование что это такое. Смотреть картинку Креативное программирование что это такое. Картинка про Креативное программирование что это такое. Фото Креативное программирование что это такое

Для меня же куда более интересно содержание следующего абзаца, взятого из записки Ноултона под названием “Мозаичные портреты: новые методы и стратегии”:

С другой стороны, опять же по воле случая, мой дебют как художника был отложен на несколько лет. Как так получилось? В то время был особо популярен тандем технологии и искусства. Музей современного искусства проводил “Показ машин”, и в Бруклинском музее, как и в других похожих местах, организовывались аналогичные мероприятия, где в каждом случае мы с Леоном выставляли “The Nude”, демонстрируя продукт сотрудничества художника и технаря. Поэтому один из нас должен был быть художником. И по воле подброшенной монеты им стал Леон, я же остался технологом (хотя по факту и он тоже). Только спустя десять лет я осознал, что проиграл тот жребий, так как для меня открылось, что художники — это проницательные провидцы, смелые, яркие и почитаемые аналитики прошлого, настоящего и будущего, великие и в то же время хитрые комментаторы человеческих радостей и печалей. Спустя еще десять лет и сотни знакомств с различными художниками, я понял, что и это мнение было ошибочно.

Быть может различие между художником и программистом — это всего лишь игра. Почему бы и вам не подбросить монету и сделать свою ставку?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *