![](/user_photo/536_l6RD4.jpg)
- •1. Программы компьютерной графики 6
- •1. Программы компьютерной графики
- •1.1. Трехмерная векторная графика и ее реализация в 3d Studio max
- •Понятия о проекциях
- •Общие сведения о программе
- •1. Создание геометрии или моделирование
- •2. Источники света, съемочные камеры, материалы
- •3. Анимация
- •4. Визуализация
- •Интерфейс программы
- •Проверка знаний по разделу Интерфейс программы
- •Моделирование простых объектов
- •1. Построение объектов
- •2. Выделение объектов
- •3. Перемещение, вращение и изменение масштаба
- •4. Управление представлением объектов без изменения их геометрии
- •1.2. Растровая графика и ее реализация в программе Adobe Photoshop Характеристика программы
- •Интерфейс программы
- •Панель инструментов Инструменты группы Выделение области
- •Инструмент Перемещение выделенной области
- •Инструменты группы Лассо
- •Инструмент Волшебная палочка
- •Инструмент Масштаб
- •Инструмент Eyedropper
- •Рисующие инструменты
- •Заполняющие инструменты
- •Инструменты группы Текст (см. Рис. 11, слева направо: Текст, Границы символов, Вертикальный текст, Вертикальные границы символов).
- •Инструмент Кисть событий
- •Главное меню
- •Выделение и работа с выделенными областями
- •Главное меню, позиция Select
- •Быстрая маска
- •Работа с выделенными областями
- •Слои и каналы
- •1.3. Программа Macromedia Flash, ее назначение и характеристики Характеристика и интерфейс программы
- •ColorMixer– Установка цвета.
- •Library – библиотека
- •Properties– свойства
- •A Рис. 15. Панель Actions. Ctions– действия
- •Работа со слоями и с символами. Использование библиотеки
- •Создание и обработка текста
- •Кнопки, их создание и использование
- •Техника анимации
- •2. Программа 3d Studio max
- •2.1. Сцена на основе стандартных примитивов
- •Построение и компоновка сцены
- •Работа с материалами
- •Освещение сцены
- •Задание для самостоятельной работы
- •2.2. Работа со сплайнами
- •Моделирование вазы
- •Моделирование кружки
- •Моделирование книги
- •Задание для самостоятельной работы. Компоновка сцены из объектов, находящихся в разных файлах
- •2.3. Моделирование сложных объектов
- •Моделирование сверла
- •Моделирование патрона
- •Моделирование стойки
- •Моделирование ручки
- •Задания для самостоятельной работы
- •2.4. Моделирование объектов для игры пинг-понг Моделирование крышки стола
- •Моделирование мяча
- •Моделирование сетки из плетеного материала
- •Задание для самостоятельной работы
- •2.5. Основы анимации Анимация на основе опорных кадров
- •Анимация мяча с использованием преобразования движения
- •Управление промежуточными кадрами
- •Анимация с использованием пустышек (Dummy Objects)
- •Создание пустышки
- •Соединение мяча с пустышкой
- •Иерархия объектов в Schematic View
- •Анимация пустышки
- •Анимация удара по мячу
- •Задания для самостоятельной работы
- •Контроллеры
- •Подготовка сцены
- •Анимация с помощью контроллеров положения
- •Описание анимационных эффектов в виде математических выражений
- •Динамические эффекты в 3d Studio max
- •Сохранение анимированных сцен в файле формата avi
- •Задание для самостоятельной работы
- •2.6. Редактор материалов Основы создания материалов
- •Непрозрачные материалы с использованием тонирования Фонга
- •Прозрачные материалы с использованием тонирования Блинна
- •Материалы типов Multi/Sub-Object (Составной) и Raytrace (Трассируемый)
- •Задания для самостоятельной работы
- •Использование текстурных карт
- •Создание материала, имитирующего стекло
- •Создание материала, имитирующего природный камень
- •Создание материала, имитирующего песок
- •Создание сложного материала для верхней и нижней деталей песочных часов
- •Задание для самостоятельной работы
- •Имитация световых бликов
- •Тонкая настройка источников света
- •Работа с тенями
- •Добавление и настройка рисующего света
- •Задание для самостоятельной работы
- •2.8. Моделирование сложных поверхностей
- •Подготовка эскизов
- •Создание заготовки
- •Выдавливание поверхностей заготовки
- •Прорисовка носовой части
- •Моделирование передних сопел
- •Моделирование крыльев
- •Добавление сопел
- •Добавление двигателей и руля
- •Моделирование двигателей
- •Формирование поверхности двигателей
- •Обработка поверхности корпуса
- •Сглаживание поверхности кабины пилота.
- •Задания для самостоятельной работы
- •3. Программа Adobe Photoshop
- •3.1. Выделение и работа с выделенными областями Основные приемы выделения
- •Работа с выделением и связанные задачи
- •3. 2. Слои и каналы
- •Создание каналов и размытие
- •Раскраска
- •Задание для самостоятельной работы
- •3.3. Использование слоев и каналов для выделения сложных областей
- •3.4. Создание текстур Текстура «камуфляж»
- •Текстура «Потрескавшаяся земля»
- •Добавить два слоя
- •Задание для самостоятельной работы
- •3.5. Построение контура с закруглениями Способ 1. Размытие по Гауссу
- •Способ 2. Использование канала
- •Способ 3. Использование контура
- •Задание для самостоятельной работы
- •3.6. Градиентная заливка
- •Освоение техники градиентной заливки
- •Эффект жалюзи (сложная заливка)
- •3.7. Имитация движения
- •Использование инструмента Clone Tool (Штамп)
- •3.8. Создание сложного изображения Моделирование корпуса пульта
- •Моделирование вставки (см. Рис. 67, средняя часть)
- •Моделирование канавок
- •Завершающие шаги
- •3.9. Создание Веб - страниц с помощью Adobe PhotoShop Сохранение изображений для публикации в сети Интернет
- •О Рис. 73. Фрагментыбщие замечания
- •Фрагменты
- •Типы фрагментов
- •Создание фрагментов
- •Чтобы создать фрагмент на основе выделенияв программе ImageReady:
- •Получение карты на основе изображения
- •Создание картинной галереи
- •Использование модуля автоматизации
- •4. Программа Macromedia Flash
- •4.1. Основные приемы
- •4.2. Основы рисования
- •Задание
- •4.3. Работа с символами
- •Создание символов и экземпляров
- •Управление свойствами экземпляров
- •Редактирование символов
- •Вопросы для самоконтроля
- •4.4. Работа со слоями
- •Задание для самостоятельной работы
- •4.5. Создание и обработка текста
- •4.6. Техника анимации
- •4.7. Простой анимационный ролик
- •4.8. Движение по кривой. Использование символов Movie Clip
- •Задание для самостоятельной работы
- •4.9. Action Script. Обработка событий. Интерактивное управление роликом
- •Создание и использование кнопок
- •Создание простой кнопки
- •Управление клипом с помощью кнопок
- •Управление объектом с помощью кнопок
- •Использование текстовых полей для ввода управляющей информации
- •Задания для самостоятельной работы
- •4.10. Добавление звуковых эффектов
- •Добавление непрерывного звука
- •Добавление звуков событий
- •4.11. Решение логических задач на языке ActionScript
- •Проверка правильности значения, введенного пользователем
- •Головоломка Угадай число
- •If(isNaN(ans))gotoAndStop(1); /*если введено не число, вернемся в первый кадр*/
- •Специальный калькулятор
- •4.12. Публикация в Веб
- •5. Заключение
- •6. Программа курса
- •1. Введение Цели и задачи курса
- •2. Программное обеспечение
- •Тема 1. Введение
- •Тема 2. Основные понятия компьютерной графики
- •Тема 3. Построение трехмерных изображений средствами программы 3dStudioMax
- •Тема 4. Создание и редактирование растровых изображений с помощью программы AdobePhotoShop
- •Тема 5. Практика работы с программой MacromediaFlash
- •3. Практические занятия (компьютерный практикум) Тема 1. Работа с программой 3dStudioMax.
- •Тема 2. Работа с программой AdobePhotoShop
- •Тема 3. Работа с программой Macromedia Flash
- •4. Вопросы к экзамену
- •7. Приложения п1. Методические указания по выполнению курсовой работы Общие положения
- •Тематика курсовых работ
- •Задания по программе Adobe PhotoShop
- •Задания по программе 3d Studio Max
- •Задания по программе Macromedia Flash
- •Примерный план пояснительной записки:
- •П2. Краткое руководство по подготовке документов в текстовом редакторе Microsoft Word Общие сведения
- •Иллюстрации
- •Техника получения файлов изображений для вставки в документ
4.11. Решение логических задач на языке ActionScript
Решение логических задач предполагает использование оператора сравнения if. По своему синтаксису языкиActionScriptи Си похожи, в частности конструкция данного оператора выглядит так:
if(условие) группа операторов 1elseгруппа операторов 2;
Если условие истинно, то выполняется группа операторов 1, если ложно – то группа операторов 2.
В данном разделе будут рассмотрены три логические задачи различного уровня сложности.
Проверка правильности значения, введенного пользователем
В задании 4.9 была реализована возможность ввода пользователем числового значения, используемого в дальнейшем для изменения свойств _x,_y, или_rotation. При этом предполагалось, что пользователь будет всегда вводить числовую информацию, причем введенное число будет соответствовать задаче. В данном варианте того же клипа будет проверяться условие, введенное пользователем и, при неправильном вводе значение переменной будет автоматически изменяться на число10.
Открыть файл plane.flaиз предыдущего задания.
Перейти к кадру 3 слоя Control.
Выделить первую слева кнопку управления углом вращения объекта. Обработчик события Отпускание кнопки, связанный с этой кнопкой, имеет следующий вид:
on(release){
plane._rotation+=d;
}
Напомним, что d – это значение, введенное пользователем и полученное через поле ввода. Воспользуемся встроенной функцией isNaN() для проверки условия: введенное значение является числом. Данная логическая функция возвращает Истина, если значение аргумента – не число.
Изменить текст скрипта для приведенного выше обработчика события на следующий:
on(release){
if(isNaN(d)) d=10 // если введенное значение – не число
//то присвоить переменной d значение 10
plane._rotation+=d;
}
Напомним, что двойной слеш исползуется для отметки комментариев – строк программы, которые не содержат операторов.
Отметить поочередно каждую из кнопок управления и изменить тексты обработчиков.
Протестировать клип и убедиться, что функции выполняются.
Сохранить файл на рабочем диске.
Предположим теперь, что нужно ограничить значение числа, вводимого пользователем.
Изменить текст приводимого выше скрипта на следующий:
on(release){
if(isNaN(d)) d=10 // если введенное значение – не число
//то присвоить переменной d значение 10
if(Math.abs(d) > 30) d=10;
plane._rotation+= d )
}
Функция Math.abs возвращает абсолютное значение своего аргумента.
Аналогично изменить обработчики событий для остальных кнопок.
Протестировать клип и убедиться, что функции выполняются.
Сохранить файл на рабочем диске.
Головоломка Угадай число
Создадим клип, который будет предлагать пользователю простую логическую задачу. Каждый раз в начале игры будет генерироваться случайное целое число numв диапазоне от 1 до 100. Пользователю предлагается угадать это число за наименьшее количество попыток. Для этого ему предоставляется поле ввода и кнопка, на которую он нажимает, когда закончит ввод числа. Программа сравнивает полученное от пользователя число со значениемnum и сообщает результат проверки одним из следующих сообщений:
Ваше число меньше,
Ваше число больше,
Вы угадали.
Одновременно подсчитывается количество попыток.
Примерный результат выполнения задания находится по адресу:
http://www.master-teacher.org/compAnimo/examples/logic0.html.
Создать новый клип. Установить параметры: размеры 200х300 пикселей, цвет заднего плана – темно-синий (код #000099).
Создать и установить рамку в соответствии с образцом.
Добавить новый слой. Присвоить нижнему слою имя back, второму – имяwork.
Выделить в слое backтретий кадр и нажать на клавишуF5. В результате первые три кадра этого слоя будут одинаковыми.
Сделать недоступным для редактирования слой back.
Создать в слое workтри пустых ключевых кадра.
Создать символ класса Button. Присвоить символу имяbtn.
Разместить на первом кадре кнопку и надписи в соответствии с образцом.
Выделить первый кадр, открыть панель Actionsи создать следующий обработчик события «Вход в кадр»:
stop();
tryn=0;
ind._heigth=10;
Пояснения. Функцияstop()вызывается для того, чтобы клип не воспроизводился автоматически, а останавливался на первом кадре. Переменнаяtryn- количество попыток. Объектind(индикатор) находится на втором кадре и используется для визуального информирования пользователя о количестве попыток.
Выделить второй кадр и расставить на нем статическое текстовое поле, поле ввода, кнопку, динамическое текстовое поле и рамку в соответствии с рисунком.
Создать символ класса movieClip. Присвоить символу имяindicator. Символ представляет собой прямоугольник размером 10х10 пикселей.
Установить в рамку экземпляр этого символа. Изменить свойства экземпляра: имя = «ind», значениеw(ширина)=1.
Связать с динамическим текстовым полем переменную res.
Выделить кадр 2 и создать следующий обработчик события Вход в кадр:
num=Math.random()*100+1;
num=Math.floor(num);
res="";
Первые две строки скрипта устанавливают значение переменной num(случайное число в интервале от 1 до 100). Последний оператор записывает пустую строку в динамическое поле вывода сообщения.
Выделить кнопку и создать следующий обработчик события Release:
on(release){