Задачи графических преобразований в приложениях моделирования с использованием ЭВМ
Рефераты >> Программирование и компьютеры >> Задачи графических преобразований в приложениях моделирования с использованием ЭВМ

Содержание

1. Введение

2. Афинные преобразования на плоскости

3. Однородные координаты точки .

4. Аффинные преобразования в пространстве

5. Заключение

6. Список литературы

1. Введение

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

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

Теперь необходимо рассмотреть графическую реализацию 3-х мерных объектов, т.к. она тесно связана со свойствами объектов. Система координат экрана, как известно, является двумерной, поэтому на экране возможна эмуляция 3-х мерной системы координат, расположеной наиболее удобно для последующих расчетов. В дальнейшем все объекты считаются 3-х мерными, а отображение осуществляется с помощью набора функций разработанной библиотеки.

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

2. Афинные преобразования на плоскости

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

Допустим, что на плоскости введена прямолинейная координатная система. Тогда каждой точке М ставится в соответствие упорядоченная пара чисел (х, у) ее координат (рис. 1). Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел – (x*, y*).

0

Y

X

M (x, y)

Рис. 1

Переход от одной прямолинейной координатной системы на плоскости к другой описывается следующими соотношениями:

x* = ax + by +l, (2.1)

y* = gx + by + m, (2.2)

где a, b, g, l, m -- произвольные числа, связанные неравенством:

a b

= 0. (2.3)

g d

Формулы (2.1) и (2.2) можно рассматривать двояко: либо сохраняется точка и изменяется координатная система (рис. 2) – в этом случае произвольная точка М остается той же, изменяются лишь ее координаты (х, у) | (х*, y*), либо изменяется точка и сохраняется координатная система (рис. 3) – в этом случае формулы (2.1) и (2.2) задают отображение, переводящее произвольную точку М (х, у) в точку М* (х*, у*), координаты которой определены в той же координатной системе.

X*

0

Y

X

M 0*

Y*