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



Скачать 213.81 Kb.

Дата14.02.2017
Размер213.81 Kb.
Просмотров83
Скачиваний0

Муниципальное бюджетное общеобразовательное учреждение
«Лицей №1 Зеленодольского муниципального района
Республики Татарстан»
Исследовательская работа на тему:
Креативное программирование на языке Processing.
Выполнила: Кирпичникова К.К.
Руководитель: Хамитов Р.М.
Зеленодольск, 2014 г.

Креативное программирование на языке Processing.
Способы взаимодействия
«человек–компьютер» меняются стремительно, появляются новые платформы и средства взаимодействия. Для успешного освоения языков и инструментов разработки программного обеспечения необходимы удобные платформы для их изучения. В данной статье мы исследуем возможности использования открытого языка программирования Processing в образовании: непосредственно в учебном процессе при изучении языков программирования и различных платформ.
Язык Processing синтаксически базируется на языке Java. Он был создан в 2001 году Кэйси Ризом и Бэн Фраем в Массачусетском
Технологическом Институте (MIT) и с тех пор активно развивается некомерческой инициативной группой (Processing Foundation, processing.org).
С самого начала язык Processing разрабатывался в целях обучения так, чтобы он мог быть первым языком программирования у начинающих программистов. Его создатели черпали вдохновение в младших языках, подобных БЕЙСИКУ и ЛОГО, но постарались расширить именно визуальные возможности языка. Простой синтаксис и богатые возможности по созданию насыщенных графических и интерактивных программ обеспечили Processingу огромную популярность в школах, колледжах и университетах. Более того Processing стали использовать архитекторы, дизайнеры, артисты для создания своих работ. Компании, такие как New
York Times, General Electric, Nokia, Yahoo! стали использовать Processing для визуализации своих внутренних данных [1]. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду то, что каждый
*.pde файл визуальной оболочки Processing’а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.
Processing дает возможность быстро и легко создавать мультимедиа приложения, содержащие графику, анимацию, разнообразную визуализацию,
интерактивные приложения и т.д. В принципе, ничего не мешает создавать даже 3D-аппликации (в том числе и игры), ведь processing имеет средства поддержки OpenGL. Все эти возможности, вкупе с большим количеством функций и очень логичным синтаксисом, делают этот язык идеальным для обучения и прививания интереса к программированию [2].
Программа на Processing называется скетч (от англ. sketch — эскиз).
Идея состоит в том, чтобы программирование в Java-стиле было похоже на скриптование, и взятии на вооружение процесса скриптования для быстрого написания кода. Каждый скетч в Processing является классом, наследуемым от Java-класса PApplet, который содержит в себе большинство возможностей языка Processing. Перед выполнением скетча он преобразуется в код на языке
Java для выполнения в среде Windows/Linux/MacOS/Android либо в
Javascript-код для выполнения в браузере внутри Canvas. При программировании на языке Processing все создаваемые классы являются внутренними классами основного. Это накладывает определённые ограничения при разработке.
Язык очень похож на классический Си. Так что если у вас есть опыт работы с такими языками, как C, PHP, JavaScript, etc, то можно считать, что
Processing вы практически знаете — очень многие языковые конструкции, операторы, циклы выглядят точно так же.
Хоть Processing и очень простой язык, который допускает много вольностей, но если мы хотим написать хорошую программу, то необходимо следовать некоторым соглашениям.
Так, например, все функции инициализации: size() — размер окна, stroke() — цвет линий, background() — цвет фона, и некоторые другие, необходимо помещать внутрь специальной служебной функции void setup().
Рекомендуется писать ее первой.
Следующая служебная функция — void draw(). Её аналогом можно назвать int main() в C++.

Эта функция является основой для построения любой анимации. Её особенностью является то, что она автоматически вызывается при каждом обновлении фреймбуфера.
Последнее соглашение связано с позиционированием объектов в координатной плоскости.
После инициализации размера окна функцией setup(), внутри программы становятся доступны две глобальных константы — WIDTH и HEIGHT, в которых хранится соответственно ширина и высота окна. Каждый раз, когда вы хотите разместить, скажем, круг по центру экрана, пользуйтесь такой записью [2].:
1.
ellipse(WIDTH/2, HEIGHT/2, 50, 50);
Вот пример маленькой программы, написанной с использованием соглашений:
Рисунок 1 – Пример программы рисования в Processing
Функции mouseX и mouseY возвращают текущие координаты курсора мыши. Таким образом, при каждом движении мыши будут рисоваться новые линии (Рисунок 1).

Вот еще один пример простой программы рисования окружностями при движении курсора мыши (Рисунок 2). void setup() { size(640, 360); background(102);
} void draw() {
/ / Вызвать метод variableEllipse () и отправить ему
/ / Параметры текущего положения курсора мыши
/ / И предыдущего положения мыши variableEllipse(mouseX, mouseY, pmouseX, pmouseY);
}
/ / Простой метод variableEllipse () был создан специально
/ / Для этой программы. Он рассчитывает скорость мыши
/ / И рисует маленький эллипс, если мышь движется медленно
/ / или рисует большой эллипс, если мышь движется быстро void variableEllipse(int x, int y, int px, int py) { float speed = abs(x-px) + abs(y-py); stroke(speed); ellipse(x, y, speed, speed);
}
Рисунок 2 – Пример программы рисования кругами в Processing

На основании языка Processing был создан язык Wiring для широко известной платформы Arduino, получившей огромную популярность в любительской робототехнике. Если скачать и запустить PDE (Processing
Development Evironment), то сразу обнаружится абсолютное сходство с
Arduino IDE. В это нет ничего удивительного, так как именно от IDE
Processing-а была унаследована Arduino IDE. Из Processing-а можно общаться с
Arduino, при помощи протокола
Firmata. Что открывает широкие возможности при изучении основ робототехники.
Сегодня Processing так же легко запускается на мобильной платформе
Android. Вы можете поэкспериментировать со свободными SDK и эмуляторами, но гораздо приятнее поработать непосредственно с устройством. Используя свободное ПО, вы можете делать скетчи на мобильной платформе так же легко, как и на десктопе в одной и той же среде с небольшими модификациями (запуская один и тот же код на десктопе в браузере и непосредственно на мобильном устройстве).
С помощью одного и того же элегантного API вы можете “рисовать” свои идеи, используя различные средства, начиная от экранов Android- телефона и браузера до проекций или инсталляций. Программирование для
Android или processing выполняет все те же основные функции, что и
Processing для десктопа – 2D и 3D визуализацию; манипулирование данными, изображениями и типами – кроме того, можно использовать в коде вызов стандартных API-функций Android прямо в проекте. Processing контролирует экран, на котором выполняется отрисовка, но также можно добавить что- нибудь ещё, вплоть до поддержки мультитач, сенсоров и даже кода NDK [5].
Итак, что дает использование языка Processing:
— простой и понятный язык программирования для создания визуальных интерактивных эффектов, основанный на упрощённом синтаксисе языка Java;

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

Список источников:
1. Волшебное программирование [Электронный ресурс] URL: http://www.programmingforkids.ru/2013/09/Processing-istoriya-i- preimushestva.html
2.
Знакомство с Processing 1.0 [Электронный ресурс] URL: http://ru.wikipedia.org/wiki/%D0%A5%D0%B0%D0%B1%D1%80%D0%B0%D
1%85%D0%B0%D0%B1%D1%80 3. Processing Материал из Википедии — свободной энциклопедии
[Электронный ресурс] URL: http://ru.wikipedia.org/wiki/Processing
4.
Processing и
Arduino
[Электронный ресурс]
URL: http://robocraft.ru/blog/arduino/336.html
5.
Руководство по использованию
Processing под
Android http://www.malbred.com/soft-po-vidzheingu/rukovodstvo-po-ispolzovaniyu- processing-pod-android.html
6. Ян Вантомм Processing 2: креативное программирование // Перевод:
Александра Мишутина Год издания: 2012 Издательство: Published by Packt
Publishing Ltd., Интернет-издание С. 292


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал