Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
объединенная КГ полная.pdf
Скачиваний:
14
Добавлен:
05.06.2015
Размер:
1.61 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

 

проекция

 

 

 

wx

n

wy

n

wI

n

 

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 |

 

 

в

 

 

в 3D:

сдвига

 

res=

=

 

 

|wxn’ wyn’ w|

 

2D:

 

 

|0 0 1 0|

 

|wxn wyn w|

|∆x ∆y

 

 

 

 

 

 

 

 

 

 

однородные

1|

 

 

 

 

 

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

 

 

координаты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|Mx 0 0 |

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

| 0 0

1 |

 

 

 

 

 

 

 

 

 

 

 

 

 

Поворот (rotate):

 

 

 

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

0|

X=R*cosα

использование

X=R*cos(α+θ)

 

данных; после поворота

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

 

 

 

 

 

|cosθ

sinθ

0|

 

 

 

 

 

 

 

 

 

 

 

 

| 0

0

1|

Y=R*sinα

 

 

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

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

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

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

х' = х . Sx

у' = у. Sy

 

 

 

 

 

 

 

 

 

 

 

Определяя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S=

| Sx 0 |

 

 

 

 

 

 

 

 

 

 

 

 

 

| 0

Sy |

 

 

 

 

 

 

 

 

или P'=P . S

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

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

Объект может быть повернут, ели координаты каждой его точки будут подвергнуты преобразованию x' = х.cosθ-y.sinθ

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

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

[x' у']=[x у]

|

cosθ

sinθ

|

|

-sinθ

cosθ

|

 

или Р' = Р . R

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

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

sin(-θ)=-sin(θ)

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

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

P' = P + T

P' = P . S

P' = P . R

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