Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Отсечение прямоугольным окном».

ЗАДАНИЕ 1

«Анимация и морфинг»

 

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

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

- отображение на экране всего множества заданных фигур;

- отображение одной текущей фигуры.

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

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

- второй раз та же фигура прорисовывается с использованием цвета фона.

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

Фигуры-многоугольники отображаются по узловым точкам с использованием функции отображения отрезка прямой линии по его двум конечным точкам.

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

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

1-ый способ перемещения.

При этом способе необходимо обеспечить метаморфозу многоугольника из начальной формы в заданную конечную форму. На приведенном рисунке (рис.1-1) этот способ иллюстрируется для случая перехода исходного квадрата в конечный треугольник.

В общем случае при этом способе необходимо выполнить следующие действия.

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

2. Для каждой исходной опорной точки определяется шаг движения исходной опорной точки к конечной по соответствующей линии-траектории, соединяющей рассматриваемые точки. Этот шаг рассчитывается посредством деления длины линии-траектории на число заданных шагов (это число во всех вариантах равно 30). Линия-траектория на экране не отображается.

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

4. Строится новый многоугольник с использованием полученного набора узловых точек.

Связь начальных и конечных узловых точек может задаваться:

- в соответствии с последовательности их расположения в контуре фигуры; в свою очередь в этом случае возможны два варианта:

- узловые точки начальной и конечной фигур берутся в одинаковом направлении, т.е. в направлении по ходу часовой стрелки (схема 1) или в направлении против часовой стрелки (схема 2);

- узловые точки начальной и конечной фигур берутся с использованием разного направления их обхода в контуре фигуры, например, в исходной фигуре они берутся в порядке направления хода часовой, а в конечной – в направлении против часовой стрелки (схема 3), или наоборот (схема 4);

- связь конечных и начальных узловых точек выбираться случайным образом (используется функция «random» (схема 5).

 
 

 


Рис.1-1

 

На приведенном рисунке (Рис.1-1) используется связь начальных точек с конечными по схеме 2.

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

При этом возможны следующие варианты соединения текущих узловых точек:

- порядок соединение узловых точек в каждом наборе сохраняется на всей траектории перемещения (от начального узловой точки до линии- перегородки и далее до конечного положения) и определяется по одной из выше описанные схемы 1-5 (вариант «П1»;

- порядок соединение узловых точек в каждом наборе до линии-перегородки соответствует порядку расположения соответствующих узловых точек в исходном многоугольнике, а после перегородки соединение узловых точек в каждом очередном наборе соответствует порядку расположения соответствующих узловых точек в конечном многоугольнике (вариант «П2»).

Если количество опорных точек в исходной и конечной фигуре не совпадают, то в набор с меньшим количеством опорных точек вводится дополнительные точки. Например, на рис.1-1 представлен случай, при котором в набор узловых точек конечной фигуры пришлось ввести дополнительную точку, удвоив количество точек в вершине А конечного треугольника. Дополнительно вводимые точки не обязательно должны располагаются в вершинах многоугольника. Их можно брать и на ребрах (например, на середине ребра). Выбор местоположения дополнительно вводимых точек осуществляется студентом.

2-ый способ перемещения.

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

Хаотическое движение многоугольника может быть получено за счет изменения положения его центра на вектор направления V с параметрами (vx,vy), где:

- vx – проекция вектора V на координатную ось X, которая рассчитывается согласно выражению:

 

vx =rDx;

 

- vy – проекция вектора V на координатную ось Y, которая рассчитывается согласно выражению:

 

vy =sDy;

 

- r и s – коэффициенты, задаваемые функцией random; они могут принимать значения в диапазоне от -2 до +2.

Значение для Dx и Dy задаются студентом, но при условии обеспечения эффекта движения без скачков.

Изменение фигуры может происходить посредством:

- уменьшением масштаба (рис.1-2 b) на каждом шаге на величину 1/30 ее текущего размера (динамический режим ДР1);

- перемещением узловой точки к ближайшей соседней узловой точке (рис.1-2 a) по ребру на 1/30 часть текущей длины ребра (динамический режим ДР2).

 

 
 

 

 


Рис.

 

Перечень вариантов приведен в виде таблицы

 

Рис.1-2

 

Перечень индивидуальных заданий по данной работе приведен в таблице 1-1

 

Варианты индивидуальных заданий. Таблица 1-1

№ варианта   Многоугольник 1     Многоугольник 2 Способ перемещения Способ изменения перегородка Схема связи  
        - -    
        - -    
        - -    
        - -    
    5*   - -    
        - Пр1    
        - Пр1    
        - Пр1    
    6*   - Пр2    
        - Пр2    
        - Пр2    
    -     - ДР1  
    -     - ДР1  
    -     - ДР1  
  5* -     - ДР2  
    -     - ДР2  

Примечание: запись n* означает, что фигура имеет форму n-конечной звезды.

 

ЗАДАНИЕ 2

Отсечение прямоугольным окном».

 

При выполнении данной работы необходимо написать программу, выполняющую заданное (внутреннее или внешнее) отсечения окном. Форма окна определяется индивидуальным заданием. Программы должны быть основаны на алгоритме отсечения прямоугольным окном Сазерленда-Коуэна. Описание этого алгоритма приведено в тексте лекций по данной дисциплине. Работу составленной программы необходимо продемонстрировать на примере отсечения перемещающейся фигуры, полученной в результате выполнения задания № 1, окном заданной формы.

Реализация отсечения многоугольниками заданных форм требует в некоторых случаях выполнения нескольких отсечений (внутренних и внешних) для отдельных окон, на которые нужно разбить заданную форму многоугольника. Например, внутреннее отсечение окном, имеющим форму «а», приведенную на рис.2-1, можно выполнить, реализовав внутреннее отсечение для окна в форме горизонтального прямоугольника, и внутреннее отсечение для окна в форме вертикального прямоугольника. Сумму видимых частей, полученных для этих двух отсечений, и будет результатом отсечения окном заданной формы.

 
 

 

 


Рис.2-1

 

 

Перечень индивидуальных заданий приведен в таблице 2-1.

 

Индивидуальные задания. Таблица 2-1

№ варианта Вид отсечения Вид окна
  внешнее  
  Внешнее  
  Внешнее  
  Внешнее  
  Внешнее  
  внешнее  
  внутреннее  
  Внутреннее  
  Внутреннее  
  Внутреннее  
  Внутреннее  
  внутреннее  

Примечание. В графе «Вид окна» используются обозначения форм окна, принятые рис.2-1. Конкретные размеры заданного окна выбираются студентом с учетом сохранения заданной формы.

 


<== предыдущая | следующая ==>
Метод введения поправки на риск | Ниже приведен ряд терминов. Все из них, за исключением одного, относятся к теории

Date: 2016-07-18; view: 447; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию