Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Finalka_versia_2 графика.pdf
Скачиваний:
129
Добавлен:
05.06.2015
Размер:
1.98 Mб
Скачать

13. Матричные модели ГО.

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

Проблема: формализация системных параметров ГО.

, где Мli – это совокупность матриц

Независимо от формы объекта, описание одинаково (матрица).

Хранение информации: списковая структура, указатели которой системные параметры (показывают структуру взаимодействия частей ГО), содержимое – матрица. Достоинство: универсальность, емкие библиотеки по этим объектам: вызвать по соответствующему имени нужный объект.

2) Матричная модель в однородной системе координат.

Этот тип модели используется для описания совокупности линий на плоскости и в пространстве в однородных координатах.

 

 

wx1

wy1

w

 

 

wx1

wy1

wz1

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wx2

wy2

wz2

w

 

L

=

wx

2

wy

2

w

L

=

 

n*3

 

 

 

 

n*4

 

.... .... .... ....

 

 

 

wxn

wyn

w

 

 

 

 

 

 

 

wxn

wyn

wzn

w

 

 

 

 

 

 

 

 

 

 

 

Обратный переход от (n+1) – мерного пространства к n – мерному осуществляется путем проецирования.

Преимущества: Уходим от особых точек (Если w = 0 , то можно показать бесконечную точку);В однородных координатах разрешены совмещенные преобразования (выполнение нескольких преобразований).

Недостатки: Усложнение матрицы; Увеличение объема памяти.

 

wx

wy

wI

1

 

A = (wx1 wy1 w)

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

αn*3 =

wx2

wy2

wI2

 

проекция

 

 

 

wxn

wyn

wIn

 

wx

wy

 

(x y )

 

 

 

 

 

 

 

1 ,

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

w

 

1

1

 

 

 

 

 

 

 

 

3) Матричная модель в обобщенных координатах

Эта модель строится путем добавления ещеодного столбца связности.

i=1, то текущая точка связана с предыдущей;

i= 0 , то не связана; i(1) проверяется с i(n)

 

 

 

wx1

wy1

w

I1

 

 

 

α

n*3

=

wx2

wy2

w

I2

 

 

...

...

... ...

 

 

 

 

 

 

wxn

wyn

w

In

Преимущества: Одинаковое представление объектов; Мощная математика для оперирования над матрицами;Удобство представления операций над матрицами( B =T × A ; T = A1 ×B ).

14. Модели преобразования ГО и их классификация.

ТГО – типовые графические операции.

К специальным операциям также относят:

нелинейные преобразования:

1.композиция;

2.декомпозиция.

Связь 3D и 2D – проецирование, сечение, удаление невидимых линий.

15. Линейные преобразования ГО (масштабирование, поворот, сдвиг).

Сдвиг (move):

 

x’=x+∆x

|1 0 0 0|

 

|wx1 wy1 w|

|1

0

0|

|wx1’ wy1’ w|

 

y’=y+∆y

|0 1 0 0|

 

|wx2 wy2 w|

* |0

1

0| =

 

в 2D:

в 3D:

|0 0 1 0|

res=

|∆x ∆y 1|

|wxn’ wyn’ w|

- матрица сдвига

|wxn wyn w|

 

 

 

 

 

 

 

 

 

 

однородные

 

 

 

 

 

 

Масштабирование (block). 2D x’=Mx*x, y’=My*y

 

координаты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|Mx 0 0 |

 

 

 

 

 

 

 

 

 

 

|0 My 0 | - матрица масштаба

 

 

 

 

 

 

 

 

 

| 0 0 1 |

 

 

 

 

 

 

 

 

 

 

Поворот (rotate):

 

 

 

 

 

 

|cosθ -sinθ 0|

X=R*cosα – использование

X=R*cos(α+θ) =R*cosα*cosθ-R*sinα*sinθ=R*cosθ(x/R)-

данных;

после поворота

R*sinθ(y/R) = x*cosθ-y*sinθ = x’

 

 

 

|cosθ

sinθ

0|

Y=R*sinα

Y=R*sin(α+θ) = R*cosα*sinθ -R*sinα*cosθ=R*sinθ(x/R)-

| 0

0

1|

 

 

R*cosθ(y/R) = x*sinθ+y*cosθ = y’

 

 

 

 

 

 

Совмещённое преобразование: обязательно задаётся алгоритм действий: 1) сдвиг 2) поворот 3) масштаб.

 

 

Масштабирование

 

 

 

 

 

 

 

 

 

Для масштабирования объекта каждую точку необходимо растянуть в Sxраз по оси х и в Sy раз по оси у.

 

 

х' = х. Sx

у' = у . Sy

 

 

 

 

 

 

 

 

 

Определяя

 

 

 

 

 

 

 

 

 

 

 

| Sx 0 |

 

 

 

 

 

 

 

 

 

S=

 

 

 

 

 

 

 

 

 

 

| 0

Sy |

 

 

 

 

 

 

 

или P'=P . S

Отметим, что масштабирование производится относительно начала координат.

Масштабирование относительно других точек рассмотрим ниже.

Если Sx != Sy неоднородное масштабирование.

Если Sx = Sy однородное масштабирование.

Поворот Объект может быть повернут, ели координаты каждой его точки будут подвергнуты преобразованию

x' = х.cosθ-y.sinθ у' = х.sinθ-y.cosθ

В матричной форме

|

cosθ

sinθ

|

[x' у']=[x у]

 

 

 

|

-sinθ

cosθ

|

или Р' = Р . R

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

В случае отрицательных углов можно воспользоваться тождествами

cos(-θ)= cos(θ) sin(-θ)=-sin(θ)

Поворот производится относительно начала координат

Однородные координаты

Преобразования переноса, масштабирования и поворота в матричной форме записываются как

P' = P + T

P' = P . S

P' = P . R

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]