220 likes | 498 Views
transformări grafice TRIDIMENSIONALE. NOŢIUNI GENERALE. Astfel de transform ări sunt: - translarea - scalarea - rotaţia - oglindirea - forfecarea - proiecţia. TRANSFORMĂRI 3D.
E N D
transformări grafice TRIDIMENSIONALE
NOŢIUNI GENERALE Astfel de transformări sunt: - translarea - scalarea - rotaţia - oglindirea - forfecarea - proiecţia
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:
TRANSFORMĂRI 3D Cu 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:
TRANSFORMĂRI 3D Transformatea se scrie: unde A notează matricea transformării:
TRANSFORMĂRI 3D Matricea transformării poate fi împărţită în blocuri matriceale, astfel:
TRANSFORMĂRI 3D Cele 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ă.
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.
TRANSLAREA 3D Matricea de translare 3D este: 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:
SCALAREA 3D Matricea de scalarelocală 3D este: 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:
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:
SCALAREA 3D Matricea de scalareglobală 3D este: O altă posibilitate de reprezentare a acestei transformări este:
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
ROTAŢIA3D Î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:
ROTAŢIA3D Î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.
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.
PROPRIETĂŢI Se poate scrie:
FORFECAREA 3D Matricea de forfecare este: Expresia analitică este:
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:
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: .
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*.