42254

Базовые алгоритмы 2D-геометрии

Лабораторная работа

Информатика, кибернетика и программирование

Геометрически каждая точка на плоскости задается значениями координат радиусвектора относительно выбранной системы координат. В этом случае объект поворачивается относительно оси вращения перпендикулярной плоскости xoy. Наиболее распространен сдвиг в направлении оси x и сдвиг в направлении оси y. Сдвиг выполняется путем умножения однородных координат точки на матрицу сдвига: сдвиг в направлении оси y сдвиг в направлении оси x.

Русский

2013-10-28

638.5 KB

7 чел.

Лабораторная работа 3.

Тема: Базовые алгоритмы 2D-геометрии

Цель: Изучить способы выполнения базовых преобразований на плоскости.

Написать программу, выполняющие следующие функции:

- чтение из файла координат вершин многоугольника, заданных в мировой системе координат;

- переход от мировых координат к экранным координатам, используя формулы (см. лекции);

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

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

Требования:

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

- равномерное масштабирование реализовать через правый нижний элемент s матрицы преобразований;

- для построения эллипса и окружности использовать параметрическое описание (см. Роджерс, Математические основы машинной графики, ftp://ftp.vt.tpu.ru/study/Tokareva/public/Comp_Graph/Math_basic.djvu);

- после выполнения преобразования должна производиться перерисовка содержимого окна (старое изображение заменяется на новое);

- необходимо реализовать возврат фигуры в исходное положение по нажатию на кнопку в окне (или при выборе пункта меню);

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

Схема оценивания:

Общее количество баллов – 10.

Геометрически каждая точка на плоскости задается значениями координат радиус-вектора относительно выбранной системы координат. Для выполнения преобразований на плоскости используются однородные координаты. Будем рассматривать координаты точки как элементы матрицы [x y]. Однородные координаты неоднородного вектора [x y] представляют собой тройку чисел [xyh], где x=x’/h, y=y’/h, h – некоторое число. Случай h=0 является особым. Всегда существует один набор однородных координат [x y 1]. Все остальные однородные координаты представляются в виде [hx hy h].

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

Трансляция точки выполняется путем добавления смещения [m n] к ее координатам [x y], в результате чего получается точка с новыми координатами. Для объекта, описываемого множеством точек, все точки объекта перемещаются на одинаковые расстояния вдоль параллельных прямых. В матричной форме трансляция выполняется путем умножения однородных координат точки на матрицу трансляции:

.

Двумерный поворот – перемещение объекта по круговой траектории на плоскости xoy. В этом случае объект поворачивается относительно оси вращения, перпендикулярной плоскости xoy. Для двумерного поворота задается точка, вокруг которой будет производится поворот и угол вращения. Поворот точки на угол φ вокруг начала координат выполняется путем умножения однородных координат точки на матрицу поворота R:

.

В компьютерной графике поворот на положительный угол φ выполняется против часовой стрелки.

Масштабирование выполняется путем умножения однородных координат точки на матрицу масштабирования S:

, где sx, sy – любые положительные числа, sx – коэффициент масштабирования по x, sy – коэффициент масштабирования по y. При sx>1 и sy>1 масштаб увеличивается, при sx<1 и sy<1 –  уменьшается.

Если sx=sy масштабирование называется равномерным. В случае равномерного масштабирования по x и по y с коэффициентом s может быть использована матрица масштабирования S:

 с последующим нормированием координат.

Объекты, преобразованные масштабированием, изменяют размер и переносятся в другое место.

Сдвиг (скос) – преобразование, которое так изменяет форму объекта, что преобразованная форма выглядит так, будто объект составлен из внутренних слоев, скользящих один по другому. Наиболее распространен сдвиг в направлении оси x и сдвиг в направлении оси y.

Сдвиг выполняется путем умножения однородных координат точки на матрицу сдвига:

 - сдвиг  в направлении оси y,

- сдвиг  в направлении оси x.

Отражение – преобразование, генерирующее зеркальное отображение объекта.

- отражение относительно оси x (y=0),

 - отражение относительно оси y (x=0),

- отражение относительно начала координат,

- отражение относительно оси y=x,

 - отражение относительно оси y=x.

Задания - на следующей странице или по адресу:

http://ad.cctpu.edu.ru/Personal/Anton/ZHtml/CompGraph/lab3/lab3.htm


Задание №1

  •  Отразить относительно оси Y= -X;
  •  увеличить на 50%;
  •  повернуть на 45 градусов по часовой стрелке.

Задание №2

  •  Отразить относительно оси Y= -X;
  •  увеличить по оси X на 50%, по оси Y уменьшить в 2 раза;
  •  повернуть на 30 градусов по часовой стрелке.

Задание №3

  •  перенести все многоугольники так, чтобы левый верхний угол прямоугольника совпал с началом координат;
  •  повернуть вокруг точки B против часовой стрелки на 30 градусов;
  •  увеличить по оси X на 30%.

Задание №4

  •  перенести все фигуры так, чтобы центр окружности совпал с началом координат;
  •  провести полное изменение масштаба, увеличив все на 200%;
  •  повернуть на 90 градусов по часовой стрелке.

Задание №5

  •  повернуть многоугольники относительно точки C на угол 180 градусов;
  •  увеличить по оси Y на 50%, по оси X уменьшить в 2 раза;

Задание №6

  •  перенести все фигуры так, чтобы центр эллипса совпал с началом координат;
  •  повернуть на 90 градусов по часовой стрелке.
  •  повернуть на 30 градусов по часовой стрелке.

Задание №7

  •  Отразить относительно оси X;
  •  увеличить по оси X на 150%, по оси Y - в 2 раза;
  •  повернуть на 30 градусов против часовой стрелки.

Задание №8

  •  Отразить относительно оси X;
  •  уменьшить масштаб в 2 раза;
  •  повернуть на 90 градусов по часовой стрелке;
  •  повернуть на 45 градусов против часовой стрелки.

Задание №9

  •  Повернуть на 57 градусов по часовой стрелке вокруг точки D.

Задание №10

  •  Отразить относительно прямой Y=X;
  •  увеличить масштаб в 2 раза;
  •  повернуть на 30 градусов вокруг точки E.

Задание №11

  •  повернуть прямоугольник относительно начала координат на 30 градусов;
  •  повернуть остальные фигуры относительно точки F на 50 градусов;
  •  уменьшить по оси X на 30%, по оси Y - в 5 раз.

Задание №12

  •  повернуть относительно начала координат на 30 градусов по часовой стрелке.

Задание №13

  •  пренести все фигуры в первую четверть;
  •  изменить масштаб, увеличив в 2 раза;
  •  повернуть относительно начала координат на 45 градусов по часовой стрелке.

Задание №14

  •  Повернуть на 90 градусов относительно точки H по часовой стрелке;
  •  увеличить по оси X на 50%, по оси Y уменьшить на 50%;
  •  перенести все фигуры так, чтобы центр окружности совпал с началом координат.

Задание №15

  •  Отразить относительно оси X;
  •  увеличить масштаб в 2 раза;
  •  повернуть на 60 градусов по часовой стрелке.

Задание №16

  •  перенести фигуры так, чтобы центр окружности совпал с началом координат;
  •  увеличить по оси X на 200%, по оси Y уменьшить на 50%;
  •  повернуть на 90 градусов против часовой стрелки.

Задание №17

  •  повернуть относительно точки I на 45 градусов;
  •  увеличить по оси X на 150%, по оси Y - на 50%;
  •  повернуть относительно начала координат на 90 градусов по часовой стрелке.

Задание №18

  •  повернуть относительно начала координат на 70 градусов по часовой стрелке.

Задание №19

  •  увеличить по оси Y на 150%, по оси X уменьшить в 2 раза;
  •  повернуть относительно точки J на 45 градусов против часовой стрелки;
  •  повернуть относительно начала координат на 30 градусов против часовой стрелки.

Задание №20

  •  Отразить относительно оси Y;
  •  повернуть относительно начала координат на 45 градусов против часовой стрелки;
  •  масштаб уменьшить в 2 раза.

Задание №21

  •  Отразить относительно оси X;
  •  повернуть на относительно точки K на 90 градусов против часовой стрелки.
  •  масштаб увеличить в 2 раза;

Задание №22

  •  Повернуть относительно начала координат на 180 градусов по часовой стрелке.

Задание №23

  •  Повернуть относительно точки L на 30 градусов по часовой стрелке.

Задание №24

  •  Отразить относительно оси Y;
  •  уменьшить по оси X на 50%, по оси Y увеличить в 2 раза;
  •  повернуть относительно точки M на 60 градусов по часовой стрелке.

Задание №25

  •  Отразить относительно прямой Y= -X;
  •  уменьшить масштаб на 50%;
  •  повернуть относительно точки N на 90 градусов против часовой стрелки


 

А также другие работы, которые могут Вас заинтересовать

27750. Становление идей воспитывающего и развивающего обучения в педагогической мысли Западной Европы до 80-х гг. XIX в 27.72 KB
  Становление идей воспитывающего и развивающего обучения в педагогической мысли Западной Европы до 80х гг. в педагогической мысли возникают теории обучения и воспитания которые становятся классическими педагогическими теориями и базой для дальнейшего развития науки и практики образования во всех странах. Так один из основоположников дидактики начального обучения швейцарский педагог Иоганн Генрих Песталоцци 1746–1827 окончивший два курса коллегиума Каролинум вел активную просветительскую деятельность организовал ряд приютов для детей из...
27751. Сущность коррекционно-педагогической деятельности с детьми и подростками 28.78 KB
  Возникает задача поиска более действенных и результативных путей профилактики и педагогической коррекции отклоняющегося поведения детей и подростков как следствия их школьной дезадаптации опирающихся на принципы гуманизации и индивидуализации педагогического процесса в общеобразовательной школе. В педагогической науке в настоящий момент отсутствуют системные исследования коррекционнопедагогической деятельности не ведется пока целостного изучения взаимосвязи между коррекционной деятельностью и единым педагогическим процессом. Поэтому...
27752. Психолого - педагогические подходы в воспитании детей с ограниченными возможностями 39.13 KB
  В процессе развития ребенка функциональные системы взаимовлияют друг на друга. Поэтому эмоциональноположительное взаимодействие ребенка с матерью составляет основу формирования всех психических функций: речи внимания памяти целенаправленной деятельности эмоциональной сферы мышления и сознания. Специальные исследования показали что отрицательные последствия воспитания детей грудного и раннего возраста в учреждениях закрытого типа возникают не изза отсутствия материального ухода а являются следствием недостаточности эмоциональных...
27753. Средства массовой информации. Их влияние на развитие личности детей и подростков 23.81 KB
  Не смотря на бурное развитие средств коммуникации в начале XXI века телевидение и сегодня остается самым массовым и доступным средством информации. СМИ являются также источниками пошлой информации порнографии. Помимо негативного влияния СМИ на молодежное поведение можно выделить несколько позитивных моментов: СМИ держит молодежь в курсе всех происходящих событий таким образом удаляя информационный голод средства массовой информации повышает общую в том числе и политическую культуру населения; служит для взаимного информирования властей и...
27754. МЕТОДОЛОГИЯ И МЕТОДЫ ПЕДАГОГИЧЕСКИХ ИССЛЕДОВАНИЙ 46.16 KB
  В свою очередь для их накопления и интерпретации нужны научно обоснованные методы исследования. Методология науки дает характеристику компонентов научного исследования его объекта предмета анализа задач исследования совокупности исследовательских средств необходимых для их решения а также формирует представление о последовательности движения исследователя в процессе решения исследовательских задач. Дескриптивная методология как учение о структуре научного знания закономерностях научного познания служит ориентиром в процессе...
27755. Сущность социальной педагогики 18.67 KB
  Социальная педагогика рассматривает процесс воспитания социологию личности в теоретическом и прикладном аспектах то есть социальная педагогика выступает и как наука и как область практической деятельности нацеленная на преобразование окружающей среды создание гуманных воспитывающих отношений в социуме поиск механизмов педагогически компетентного вмешательства в различные в том числе кризисные ситуации социальной действительности. Мудрик считает что социальная педагогика это отрасль педагогики рассматривающая социальное воспитание...
27756. Принцип. Основные принципы и их применение 26.32 KB
  Человек природное существо и развивается по законам естественной и социальной природы. Сущность принципа заключается в том что отношение к человеку должно быть как к природному существу а точнее социальноприродному. Принцип природосообразности диктует необходимость тщательного учета в процессе социальнопедагогической работы общих законов развития природы другими словами естественных возможностей человека. Основные требования это: знать законы и закономерности развития и воспитания человека и уметь строить в соответствии с ними всю...
27757. Принцип гуманизма 16.95 KB
  Гуманность человечность идеал различных направлений гуманизма его целью является развитие ценностных способностей чувств и разума человека высшее развитие человеческой культуры и нравственности и соответствующего поведения личности и ее отношения к миру. Понятие гуманизация широко используемое в наше время подразумевает деятельность отдельных людей и человеческих сообществ по реализации гуманизма как системы мировоззрения признание ценности человека как личности его права на свободное развитие и проявление своих способностей...
27758. Принцип индивидуальной обусловленности (индивидуального подхода) 13.72 KB
  Сущность принципа заключается в том что социальнопедагогическая деятельность ориентируется строится и реализуется с учетом индивидуальности объекта его социальной обусловленности и в его интересах. Этому способствует начальная первичная диагностика стремление социального педагога наиболее полно понять индивидуальные особенности объекта. Особое значение имеет личный опыт специалиста его способность при первой встрече максимально оценить своеобразие человека и строить свою деятельность с ним на основе познаваемой индивидуальности;...