21
TRANSFORMĂRI GRAFICE TRIDIMENSIONALE

transformări grafice TRIDIMENSIONALE

  • Upload
    maxima

  • View
    101

  • Download
    7

Embed Size (px)

DESCRIPTION

transformări grafice TRIDIMENSIONALE. NOŢIUNI GENERALE. Astfel de transform ări sunt: - translarea - scalarea - rotaţia - oglindirea - forfecarea - proiecţia. TRANSFORMĂRI 3D. - PowerPoint PPT Presentation

Citation preview

Page 1: transformări  grafice TRIDIMENSIONALE

TRANSFORMĂRI GRAFICE

TRIDIMENSIONALE

Page 2: transformări  grafice TRIDIMENSIONALE

NOŢIUNI GENERALE

Astfel de transformări sunt:

- translarea- scalarea- rotaţia- oglindirea- forfecarea- proiecţia

Page 3: transformări  grafice TRIDIMENSIONALE

TRANSFORMĂRI 3D

Aşa cum transformările 2D se reprezintă prin intermediul matricelor 3x3 folosind coordonate omogene, transformările 3D se vor reprezenta ca matrice 4x4.Punctul din spaţiu având coordonatele (x,y,z) se reprezintă prin vectorul:

q

z

y

x

q

q

q

Page 4: transformări  grafice TRIDIMENSIONALE

TRANSFORMĂRI 3DCu q s-a notat parametrul real cu ajutorul căruia se realizează următoarele definiri:

Punctele pentru care q=0 sunt puncte situate la infinit.Transformarea generalizată este:

q/zzq/yyq/xx qqq

1

z

y

x

aaaa

aaaa

aaaa

aaaa

1

'z

'y

'x

44434241

34333231

24232221

14131211

Page 5: transformări  grafice TRIDIMENSIONALE

TRANSFORMĂRI 3D

Transformatea se scrie:

unde A notează matricea transformării:

44434241

34333231

24232221

14131211

aaaa

aaaa

aaaa

aaaa

A

Ar'r

Page 6: transformări  grafice TRIDIMENSIONALE

TRANSFORMĂRI 3D

Matricea transformării poate fi împărţită în blocuri matriceale, astfel:

1131

1333A

Page 7: transformări  grafice TRIDIMENSIONALE

TRANSFORMĂRI 3DCele patru blocuri matriceale au următoarele semnificaţii

- matricea 3x3 include transformările de scalare locală, forfecare, oglindire şi rotaţie;

- matricea 1x3 reprezintă transformarea de perspectivă;

- matricea 3x1 reprezintă transformarea de translare;

- matricea 1x1 reprezintă transformarea de scalare globală.

Page 8: transformări  grafice TRIDIMENSIONALE

TRANSFORMĂRI 3DÎntr-un sistem de coordonate cartezian ortogonal drept, o rotaţie pozitivă se defineşte astfel încât privind de pe o semiaxă pozitivă către origine, o rotaţie în sens trigonometric cu /2 transformă, prin permutare, o semiaxă pozitivă în alta. Această regulă este echivalentă cu regula burghiului drept utilizată în fizică.Sistemul de coordonate cartezian ortogonal drept este sistemul standard utilizat în matematică. Uneori, însă, este mai convenabilă utilizarea sistemului stâng, oferind o interpretare mai naturală a sensurilor pozitive ale axelor. Într-un sistem de coordonate stâng o rotaţie pozitivă se consideră în sens orar, privind de pe o semiaxă pozitivă înspre origine.Pornind de la aceste definiţii ale rotaţiei pozitive, indiferent de sistemul de coordonate 3D utilizat, matricea transformării de rotaţie în jurul unei axe este aceeaşi.

Page 9: transformări  grafice TRIDIMENSIONALE

TRANSLAREA 3D

Matricea de translare 3D este:

1000

t100

t010

t001

Dz

y

x

Dacă x,y,z sunt coordonatele unui punct P din spaţiu, prin translare el este dus în punctul P’ de coordonate x’,y’,z’. Avem:

sau, în format matriceal:

z

y

x

tz'z

ty'y

tx'x

Dr'r

Page 10: transformări  grafice TRIDIMENSIONALE

SCALAREA 3D

Matricea de scalare locală 3D este:

1000

000

000

000

z

y

x

ls

s

s

S

Dacă P(x,y,z) sunt coordonatele unui punct P din spaţiu, prin scalare faţă de origine el este transformat în punctul P’ (x’,y’,z’). Avem:

sau, în format matriceal:

zsz

ysy

xsx

z

y

x

'

'

'

Srr '

Page 11: transformări  grafice TRIDIMENSIONALE

SCALAREA 3D

Observaţii:

1. Ca şi în cazul transformărilor 2D, factorii de scalare sunt numere pozitive.

2. Un factor de scalare subunitar (s<1) produce o micşorare a modulului vectorului de poziţie al punctului scalat, în timp ce un factor de scalare supraunitar (s>1) produce o mărire a modulului acestui vector.

3. Scalarea unitară (s=1) coincide cu transformarea identitate:

1000

0100

0010

0001

I

Page 12: transformări  grafice TRIDIMENSIONALE

SCALAREA 3D

Matricea de scalare globală 3D este:

O altă posibilitate de reprezentare a acestei transformări este:

1000

000

000

000

s

s

s

S

s

Sg

000

0100

0010

0001

Page 13: transformări  grafice TRIDIMENSIONALE

SCALAREA 3D

Ca o consecinţă a ultimei forme de reprezentare, putem scrie:

Observaţie:

Scalarea globală poate fi privită ca fiind o scalare locală de tipul:

cu

1000

0/100

00/10

000/1

1

s

s

s

Ss

S gG

1000

0/100

00/10

000/1

z

y

x

Ls

s

s

S ssss zyx

Page 14: transformări  grafice TRIDIMENSIONALE

ROTAŢIA 3D ÎN JURUL UNEI AXE

În cazul rotaţiei punctului P(x,y,z) în jurul axei Ox, componeta x a vectorului de poziţie nu se schimbă (este un invariant). Analog se petrec lucrurile şi pentru rotaţii în jurul axei Oy şi respectiv Oz.Matricea de rotaţie în jurul axei Ox cu unghiul este:

Pentru rotaţia în jurul axei Oy, avem:

1000

0cossin0

0sincos0

0001

xR

1000

0cos0sin

0010

0sin0cos

yR

Page 15: transformări  grafice TRIDIMENSIONALE

ROTAŢIA 3D ÎN JURUL UNEI AXE

Matricea de rotaţie în jurul axei Oz cu unghiul este:

Blocurile matriceale 3x3 construite în poziţia stânga-sus pe cele trei matrice anterioare, sunt formate din vectori (coloane) reciproc ortogonali. Putem verifica acest lucru calculând produsele scalare între fiecare pereche de vectori ce poate fi formată, şi verificând că toate acestea sunt nule.

Rezultă că submatricele în cauză sunt ortogonale, deci au determinantul nenul. În cazul particular al exemplului nostru, acesta este egal cu 1.

Se ştie că transformările ortogonale conservă distanţale şi unghiurile.

1000

0100

00cossin

00sincos

zR

Page 16: transformări  grafice TRIDIMENSIONALE

PROPRIETĂŢI

Inversa unei matrice ortogonale există întotdeauna şi este chiar transpusa matricei directe, adică:

Observaţii:

1. Inversa matricei de translare se obţine prin inversarea semnelor parametrilor .

2. Inversa matricei de scalare se obţine prin trecerea parametrilor în .

3. Inversa matricei de rotaţie se obţine prin schimbarea semnului unghiului de rotaţie.

TMM 1

zyx ttt ,,

zyx sss ,,zyx sss /1,/1,/1

Page 17: transformări  grafice TRIDIMENSIONALE

PROPRIETĂŢI

Se poate scrie:

)()(

)()(

)()(

)/1,/1,/1(),,(

),,(),,(

1

1

1

1

1

zz

yy

xx

zyxzyx

zyxzyx

RR

RR

RR

sssSsssS

tttTtttT

Page 18: transformări  grafice TRIDIMENSIONALE

FORFECAREA 3D

Matricea de forfecare este:

Expresia analitică este:

1000

01

01

01

fc

ib

gd

F

111

'

'

'

zyfxc

ziyxb

zgydx

z

y

x

Fz

y

x

Page 19: transformări  grafice TRIDIMENSIONALE

OGLINDIREA 3D

Vom analiza în continuare oglindirea faţă de un plan al sistemului de coordonate.

Fie planul de oglindire Oxy. În urma oglindirii, schimbă semnul doar coordonata x.

Pentru celelalte două cazuri avem:

1000

0100

0010

0001

xyO

1000

0100

0010

0001

yzO

1000

0100

0010

0001

zxO

Page 20: transformări  grafice TRIDIMENSIONALE

GENERALIZĂRI

Transformările prezentate până acum se referă la puncte din spaţiu. Entităţile geometrice superioare punctului vor fi tratate ca ansambluri de puncte. De exemplu, în cazul unui segment de dreaptă se vor transforma puncte din cadrul acestuia. Într-un domeniu plan, transformarea segmentului se va reduce la transformarea capetelor lui. Analog, în cazul unui plan vor fi transformate trei puncte de definire a acestuia. Dacă, însă, planul este definit prin ecuaţia:

atunci punctele sale P verifică relaţia:

cu: .

0 DCzByAx

0PN T

D

C

B

A

N

Page 21: transformări  grafice TRIDIMENSIONALE

GENERALIZĂRI

Fie M matricea transformării aplicate tuturor punctelor P din plan. Pentru a menţine ultima relaţie adevărată, trebuie determinată matricea Q astfel încât:

Conform acestei relaţii, rezultă condiţia:

unde cu I s-a notat matricea identitate de dimensiuni corespunzătoare, deoarece matricea Q este (M-1)T.

Normala planului transformat se obţine cu relaţia:

Dacă determinantul matricei M este zero (M include o proiecţie), atunci nu există matricea Q. În acest caz se va utiliza în locul matricei Q matricea adjunctă Q*.

00 PMQNsauPMNQ TTT

IMQT

NMNT 1'