Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Покупка
Основная коллекция
Артикул: 684318.01.99
Настоящее учебное пособие знакомит с понятием креативного программирования на примере двух современных сред — Processing и VVVV. Представлены текстовая и кодовая фундаментальные парадигмы программирования. материал по каждой среде программирования содержит основы взаимодействия с интерфейсом, синтаксис, создание анимации, импорт и экспорт данных, работу с цветом, текстом, двухмерной и трехмерной графикой. Уделено внимание такой актуальной технологии, как программирование шейдеров, на примере двух наиболее распространенных языков — GLSL и HLSL. Рассмотрены механизмы взаимодействия программ и устройств. В заключительной части продемонстрированы четыре разных технологических подхода к программированию конкретной задачи.
Липовка, А. Ю. Креативное программирование: Учебное пособие / Липовка А.Ю., Бундова Е.С., Жоров Ю.В. - Краснояр.:СФУ, 2015. - 280 с.: ISBN 978-5-7638-3356-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/966701 (дата обращения: 19.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Алексей Юрьевич Липовка
Екатерина Сергеевна Бундова
Юрий Владимирович Жоров

2015

крЕАтиВноЕ

прогрАммироВАниЕ

Учебное пособие для студентов высших учебных заведений, 

обучающихся по программам магистерской подготовки по направлениям 

«Дизайн», «Дизайн архитектурной среды», «градостроительство»

Финансируется Европейским Союзом

УДк 004.42(07) 
ББк 32.973я73 
Л615

Липовка, А. Ю.

Л615 крЕАтиВноЕ прогрАммироВАниЕ : учеб. пособие / А. Ю. Липовка, Е. С. Бундова, 

Ю. В. Жоров. – красноярск : Сиб. федер. ун-т, 2015. – 280 с.

ISBN 978-5-7638-3356-0 (ФгАоУ Впо «СФУ»)

настоящее учебное пособие знакомит с понятием креативного программирования на примере двух современных сред 

—  Processing и VVVV. представлены текстовая и кодовая фундаментальные парадигмы программирования. материал по 

каж-дой среде программирования содержит основы взаимодействия с интерфейсом, синтаксис, создание анимации, 

импорт  и экспорт данных, работу с цветом, текстом, двухмерной и трехмерной графикой. Уделено внимание такой 

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

GLSL 
и 
HLSL. 
рассмо-трены 
механизмы 
взаимодействия 
программ 
и 
устройств. 
В 
заключительной 
части 

продемонстрированы четыре разных технологических подхода к программированию конкретной задачи.

УДК 004.42(07)
ББК 32.973я73

рецензенты:
Е. А. Ахмедова, доктор архитектуры, профессор, чл.-корр. рААСн; 
А. Л. кришан, доктор технических наук, профессор, заведующий кафедрой проектирования зданий и строительных  
конструкций ФгБоУ Впо «мгтУ»;
В. м. иванов, доктор физико-математических наук, профессор, заведующий кафедрой инженерной графики и дизайна СпбпУ

ISBN 978-5-7638-3356-0
  © Сибирский федеральный университет, 2015

Учебное пособие обобщает опыт, полученный в рамках выполнения проекта TEMPUS. Содержание данной 
публикации является предметом ответственности авторов и не отражает точку зрения Европейской комиссии.

крЕАтиВноЕ
прогрАммироВАниЕ

А. Ю. ЛиповКА, Е. С. БУнДовА, Ю. в. Жоров

оглавление

 
 
стр. 6 
ввЕДЕниЕ

ТЕмА 
I. 
стр. 8 
оСновЫ КрЕАТивноГо 

проГрАммировАниЯ

 
I.1 
 
ВВЕДЕниЕ В крЕАтиВноЕ 

прогрАммироВАниЕ

 
I.2 
 
понятиЕ крЕАтиВного 

прогрАммироВАния

 
I.3 
 
примЕнЕниЕ крЕАтиВного 

прогрАммироВАния

 
I.4 
 
инСтрУмЕнт крЕАтиВного 

прогрАммироВАния

ТЕмА 
II. 
стр. 23 оСновЫ ТЕКСТовоГо 

проГрАммировАниЯ  

в ProcessIng

 
II.1  
УСтАноВкА ProcESSING

 
II.2  
оСноВы рАБоты С ProcESSING

 
II.3  
отоБрАЖЕниЕ ДАнных

 
II.4  
ЭкСпорт ДАнных из ProcESSING

ТЕмА 
III. 
стр. 141 оСновЫ ноДовоГо 

проГрАммировАниЯ в VVVV

 
III.1  
УСтАноВкА VVVV

 
III.2  
оСноВы рАБоты С VVVV

 
III.3  
отоБрАЖЕниЕ ДАнных

 
III.4  
ЭкСпорт ДАнных из VVVV

 
III.5  
прогрАммироВАниЕ 

СоБСтВЕнных ноДоВ

ТЕмА 
IV. 
стр. 225 взАимоДЕйСТвиЕ проГрАмм  

и УСТройСТв

 
IV.1  
оБмЕн ДАнными по СЕтЕВомУ 

протокоЛУ oSc

КрЕАТивноЕ проГрАммировАниЕ

 
IV.2  
ВзАимоДЕйСтВиЕ  

С микроконтроЛЛЕрАми  

по протокоЛУ FIrMaTa

ТЕмА 
V. 
стр. 241 прАКТиКУм. проЕКТировАниЕ  

и рЕАЛизАциЯ проГрАмм

 
V.1 
 
ВВЕДЕниЕ

 
V.2 
 
рЕАЛизАция проЕктА  

В ProcESSING

 
V.3 
 
рЕАЛизАция проЕктА В VVVV

 
V.4 
 
оптимизАция проЕктА 

ProcESSING шЕйДЕрАми GLSL

 
V.5 
 
оптимизАция проЕктА VVVV

 
 

КОНЦЕПЦИИ ГРАФИЧЕСКОГО ДИЗАЙНА

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

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

Вам станут доступны двухмерная и трехмерная графика, работа 
со звуком, сетевое программирование и связь с периферийными устройствами.

А. Ю. ЛИПОвКА, Е. С. БуНДОвА, Ю. в. ЖОРОв

введение

Н. КУЗВЕСОВА.  ИСТОРИЯ ГРАФИЧЕСКОГО ДИЗАЙНА

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

КРЕАТИВНОЕ пРОГРАммИРОВАНИЕ

КОНЦЕПЦИИ ГРАФИЧЕСКОГО ДИЗАЙНА
А. Ю. ЛИПОвКА, Е. С. БуНДОвА, Ю. в. ЖОРОв

ТЕмА I.

оСновЫ КрЕАТивноГо 
проГрАммировАниЯ

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

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

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

инструмент креативного программирования

здесь вы познакомитесь 
с областью применения 
креативного 
программирования.

Н. КУЗВЕСОВА.  ИСТОРИЯ ГРАФИЧЕСКОГО ДИЗАЙНА
КРЕАТИВНОЕ пРОГРАммИРОВАНИЕ

креативное программирование (от англ. creative — творческий, созидательный), некогда бывшее уделом «избранных», сегодня становится все более доступным, понятным, принимаемым, приобретает 
популярность и находит разнообразное применение: 

 
– создание статичных изображений в автоматическом или полуавтоматическом режиме на основе всевозможных правил, идей, 
технологий;
 
– интерактивные инсталляции;

 
– масштабные видеопроекции (видеомэппинг);

 
– прототипирование физических и виртуальных интерфейсов;

 
– создание трехмерных параметрических моделей;

 
– аудиовизуальное оформление и многое другое;

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

I.1.

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

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

КОНЦЕПЦИИ ГРАФИЧЕСКОГО ДИЗАЙНА
А. Ю. ЛИПОвКА, Е. С. БуНДОвА, Ю. в. ЖОРОв

Два крупнейших фестиваля — EyeO в США  
(http://eyeofestival.com/) и Resonate в Европе 
(http://resonate.io/) — ежегодно собирают 
самых сильных представителей

  

Уже давно известно, что среди людей есть более склонные к науке (ученые), а есть более склонные к искусству (художники).  
В современном обществе предпочитают эти понятия разделять. 
Большинство людей приближает программирование к науке,  
а креативность и творчество — к искусству. В том числе и обучение в вузах подразумевает точное деление на творческие и нетворческие специальности, практически не давая возможности 
студенту объединить в процессе обучения эти направления. Хотя 
давно уже доказано и примерами, и наукой, что личность может 
развиваться в различных направлениях, границы чаще всего существуют лишь внутри человека. Такая дисциплина, как креативное программирование, дает возможность объединить науку 
и творчество, по-новому посмотреть на различные специальности и потенциал их развития, позволяя абсолютно разным специалистам (от программиста до художника) развить навыки и получить новые знания в области и науки, и искусства одновременно.

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

I.2.

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

креативное 
программирование дает 
возможность объединить 
науку и творчество

Н. КУЗВЕСОВА.  ИСТОРИЯ ГРАФИЧЕСКОГО ДИЗАЙНА
КРЕАТИВНОЕ пРОГРАммИРОВАНИЕ

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

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

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

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

КОНЦЕПЦИИ ГРАФИЧЕСКОГО ДИЗАЙНА
А. Ю. ЛИПОвКА, Е. С. БуНДОвА, Ю. в. ЖОРОв

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

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

В современном мире с помощью компьютерных технологий создаются целые художественные произведения. В основном это абстрактное искусство или реалистичные трехмерные изображения, 
которые практически невозможно было бы создать без помощи 
машины. Некоторые картины получаются при помощи случайных алгоритмов, не давая возможности даже самому художнику 
предсказать результат. Это положило начало новому направлению 
в искусстве, которое называют Generative Art (GenArt). Художников, работающих в этом жанре, называют алгористами (алгоритмическими артистами, художниками). В основном картины, изображенные на рис. 1, получены из простых геометрических фигур: 
точек, прямых и кривых линий, эллипсов и прямоугольников.

I.3.

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

I.3.1

Художественная 
деятельность

С помощью компьютерных 
технологий создаются 
целые художественные 
произведения