Воскресенье, 28.04.2024, 23:14
Приветствую Вас Гость | RSS
Главное меню
Наш опрос
Оцените мой сайт
Всего ответов: 47
Форма входа
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Графика в Паскале

ПОВОРОТ ОБЪЕКТА

Точки можно повернуть на заданный угол α относительно начала координат. Если точка на плоскости задана координатами (x, y), то в результате поворота на угол α ее координаты (X, Y) будут определяться по формулам:


(x,y)

(X,Y)

О

α

Положительное значение угла α соответствует повороту против часовой стрелки, отрицательный – по часовой.

  

Рис.18. Поворот

 

При организации поворота необходимо учитывать, что начало системы координат в графическом режиме находится в левом верхнем углу экрана, ось OY направлена вниз, ось OX – вправо. Тогда, если поместить начало декартовой системы координат O1xy в точку O1(a, b) и направить ось O1y вверх, то связь между координатами x и y и координатами X, Y одной и той же точки М будет выражаться формулами:

 

 

О

M(X=a+x, Y=b-y)

X

Y

O1(a, b)

x

y

b

a

  Рис.19. Координаты точки относительно новой системы координат

 

На рис.19 (X, Y) – координаты точки M относительно системы координат в графическом режиме. O1(a, b) – точка, вокруг которой мы будем вращать нарисованный объект, где (a, b) – координаты этой точки относительно системы координат в графическом режиме.

Таким образом, при организации поворота относительно нового центра необходимо учитывать приведенные выше формулы:

 

Алгоритм поворота объекта:

1.     Нарисовать объект

2.     Зафиксировать положение объекта на экране

3.     Очистить экран (нарисовать объект цветом фона экрана)

4.     Изменить координаты, используя формулы поворота, и нарисовать объект выбранным цветом рисования.

 

Пример. Поворот относительно точки (0,0), т.е. левого верхнего угла. Формула используется из теории.



Первый рисунок - реализация вышеизложенной программы, второй рисунок - та же программа, только с использованием цикла while, шаг = 10.