Sunteți pe pagina 1din 15

PROIECTARE ASISTATA DE CALCULATOR CURS 13

MODELARE GEOMETRIC
8. TRANSFORMRI GEOMETRICE
8.1. INTRODUCERE Transformrile geometrice joac un rol fundamental n construirea i observarea modelului. Acestea sunt utilizate n modelare pentru a reprezenta amplasarea unor obiecte n raport cu altele. n generarea imaginii, transformrile geometrice sunt utilizate pentru a realiza efectul vizual al diferitelor direcii i poziii de observare a obiectului proiectat. Comenzile CAD-CAM de construcie, tipice, move, rotate, zoom i mirror sunt bazate pe transformrile geometrice prezentate n acest capitol. Odat ce construirea modelului este complet, observarea acestuia n spaiul de modelare este realizat prin transformri geometrice. Vederile ortogonale ale desenelor inginereti ct i vederile n perspectiv ale modelului geometric pot fi obinute proiectnd modelul n planul corespunztor. n plus, modelul n sine poate fi rotit sau micorat i mrit pentru a fi observat n spaiul su tridimensional. Transformrile geometrice pot fi, de asemenea, utilizate la crearea fiierele animate ale modelelor pentru a studia micarea acestora. De exemplu, micarea unui mecanism spaial poate fi reprezentat dup ce au fost calculate deplasrile i rotaiile, pe baza ecuaiilor cinematice i dinamice corespunztoare. Apoi, este construit poziia iniial a mecanismului care este transformat incremental, folosind rezultatele calculelor. Configuraiile rezultate sunt grupate mpreun i reafiate pentru a se obine efectul de continuitate a micrii. n mod similar, transformrile pot fi aplicate pentru a vizualiza vibraiile i deformaiile obiectelor modelate. 8.2. TRANSFORMAREA MODELELOR GEOMETRICE Prin definiie, transformrile geometrice sunt reprezentri dintr-un sistem de coordonate n el nsui. Cu alte cuvinte, descrierea unui model geometric al unui obiect se poate schimba n cadrul propriului MCS. Acest fapt presupune c modelul geometric se deplaseaz n raport cu sistemul de coordonate. Cea mai simpl micare este deplasarea corpului rigid, n care distanele relative ntre particulele obiectului rmn constante, adic obiectul nu se deformeaz n timpul micrii. Transformrile geometrice care descriu aceast micare sunt denumite transformri ale corpului rigid i includ translaia, scalarea, rotaia, reflexia i oricare combinaie a acestora. Aceste transformri pot fi aplicate direct reprezentrilor parametrice ale obiectelor, cum ar fi puncte, curbe, suprafee i solide. Exprimarea matriceal ofer o cale adecvat pentru dezvoltarea i implementarea transformrilor geometrice n pachetele grafice. Transformarea unui punct reprezint problema principal n tranformrile geometrice deoarece punctul este elementul de baz al reprezentrii obiectului. De exemplu, o linie este reprezentat de cele dou puncte de capt, iar o curb, o suprafa sau un solid sunt reprezentate printr-o colecie de puncte. Problema transformrii unui punct poate fi enunat n felul urmtor: fiind dat un punct P ce --

aparine modelului geometric care sufer o micare de corp rigid, s se afle punctul corespunztor P*, n noua poziie, astfel nct: P* = f (P, parametri de transformare), (8.1) adic, noul vector de poziie P* s fie exprimat n funcie de vechiul vector de poziie P i de parametrii de micare. Una dintre caracteristicile ecuaiei (8.1) care trebuie subliniat aici este c transformarea geometric trebuie s fie unic. Un set dat de parametri de transformare trebuie s furnizeze un singur punct nou pentru fiecare punct vechi. Aceast caracteristic este un rezultat direct al cerinei micrii corpului rigid. O alt caracteristic este concatenarea sau combinarea transformrilor. n mod intuitiv, dou transformri pot fi combinate pentru a produce o singur transformare care trebuie s aib acelai efect ca i aplicarea succesiv a celor dou transformri iniiale. Pentru a implementa ecuaia (8.1) n software-ul de grafic, este recomandat utilizarea exprimrii matriceale, dup cum urmeaz: (8.2) P* = [T ]P , unde [T este matricea de transformare. Elementele acesteia trebuie s fie funcii ale

parametrilor de transformare. Matricea [T trebuie s aib cteva proprieti importante. Aceasta trebuie s se

aplice tuturor transformrilor corpului rigid (translaie, scalare, rotaie, reflexie) i operaiilor de tiere i ncadrare n fereastr. Trebuie, de asemenea, s poat fi aplicat att n spaiul 2D, ct i n 3D. Aa cum se va arta mai departe, se introduce reprezentarea omogen a ecuaiei (8.2) pentru a putea redefini translaia n termenii acestei ecuaii. Aplicnd ecuaia (8.2), n mod repetat, punctelor cheie dintr-o baz de date a unui model geometric sau a unei anumite entiti, se obine transformarea modelului sau entitii. De exemplu, pentru a transforma o linie dreapt, cele dou puncte de capt ale sale sunt transformate i apoi conectate pentru a se obine linia deplasat. n mod asemntor, pentru a transforma o curb, sunt generate puncte pe curb, utiliznd ecuaia parametric a acesteia, punctele sunt transformate i apoi conectate pentru a se obine curba deplasat. Ecuaia (8.2) poate fi, de asemenea, aplicat ecuaiei parametrice a entitii, aa cum s-a artat n acest capitol. Vizualizarea entitilor transformate implic vizualizarea segmentelor de linie care conecteaz punctele cheie transformate. 8.2.1. Translaia Cnd fiecare entitate a unui model geometric rmne paralel cu poziia sa iniial, transformarea de corp rigid a modelului este definit ca translaie. Translaia unui model implic deplsarea fiecrui punct de pe acesta cu o distan dat, constant, ntr-o direcie dat. Translaia poate fi definit de un vector, de un vector unitate i o distan sau de dou puncte care indic poziia iniial i poziia final a modelului. Figura 8.1 prezint o curb translatat de un vector d. Pentru a raporta vectorul P* al poziiei finale a unui punct P, la poziia iniial de -vector P, se consider triunghiul format n figura 8.1. n acest caz ecuaia (8.1) ia forma:

P* = P + d .

Fig. 8.1. Translaia unei curbe (8.3)

--

Aceast ecuaie este aplicabil att n spaiul 2D ct i n 3D i poate fi scris n forma scalar, n cazul tridimensional, astfel: x* = x + x d ; * y = y+ y ; (8.4) z* = z + z .
d

Dac ecuaia (8.3) este aplicabil fiecrui punct de pe o curb, n cazul transformrii punctuale, curba este astfel translatat, de vectorul d. Cu toate acestea, este mult mai eficient s se raporteze translaia unei entiti (curb, suprafa sau solid) la reprezentarea sa geometric, indiferent dac aceasta este analitic sau sintetic. De exemplu, translaia unui cerc sau a unei elipse necesit doar translatarea centrului, iar translaia unei parabole sau hiperbole necesit translatarea vrfului acesteia. Aa cum este de ateptat, translaia unei curbe nu schimb vectorul tangent n oricare din punctele sale. Acest fapt poate fi constatat difereniind ecuaia (8.3) n funcie de parametrul u i P* = , deoarece vectorul de translaie d este constant. P obinnd 8.2.2. Scalarea Scalarea este utilizat pentru a modifica mrimea unei entiti sau a unui model. Scalarea punctual poate fi realizat dac matricea [T ] din ecuaia (8.2) este diagonal, adic: (8.5) P* = [S ]P , unde [S ] S este matricea diagonal. n spaiul tridimensional, aceasta este: s x 0 0 [S ] = 0 s 0 . (8.6) 0 0 sz Relaia (8.5) poate fi extins pentru a da: x* = s x x; (8.7) y* = s y y; z* = s z z. Elementele s x , s i ale matricei de scalare sunt factorii de scalare n direciile sz y X, Z i respectiv Z. Factorii de scalare sunt ntotdeauna pozitivi (factorii negativi produc reflexia). Dac factorii de scalare sunt subunitari, modelul geometric cruia i sunt aplicai este micorat. Dac factorii sunt supraunitari, modelul este mrit. Dac factorii de scalare sunt egali, s x = s y = s z = s , modelul se modific numai ca adic dimensiune, nu i ca form. Acesta este cazul scalrii uniforme, cnd ecuaia (8.5) devine: P* = sP . (8.8) Spre deosebire de translaie, scalarea modific proporional vectorii tangeni, cu factorul s, aa cum difereniind ecuaia (8.8) n funcie de u, pentru o curb, se obine P* = sP . Cu toate acestea, scalarea uniform nu modific n nici un punct panta sau cosinuii directori. Scalarea difereniat se obine cnd exist relaiile --

s x s y s z , adic

se aplic factori de scar diferii, dup cele trei direcii. Scalarea difereniat schimb att mrimea ct i forma modelului geometric. De asemenea, modific cosinusurile directoare n fiecare punct. Scalarea difereniat este utilizat rar n aplicaii. Scalarea discutat anterior este raportat fa de origine, adic un model geometric sau o curb i schimb dimensiunea i amplasarea n funcie de originea sistemului de coordonate, aa cum se vede n figura 8.2.

--

Modelul geometric sau curba se apropie sau se deprteaz de origine, n funcie de factorul de scalare, dac este subunitar sau supraunitar. Este posibil i operaia de scalare fa de un punct oarecare. Scalarea uniform apare n sistemele CADCAM sub forma comenzii zoom. Comanda cere utilizatorului s introduc factorul de scalare i s selecteze entitatea care trebuie modificat. Comanda zoom este util dac utilizatorul are nevoie s mreasc o arie grafic dens de pe ecran, pentru a putea identifica vizual detaliile din zon, n scopul selectrii i separrii entitilor. Dac imaginea este supus operaiei de zooming, este necesar o opiune de scalare permanent sau de revenire la dimensiunea iniial. 8.2.3. Reflexia

Fig. 8.2. Scalarea unei curbe fa de origine

Transformarea prin reflexie este util n construirea modelelor simetrice. Dac, de exemplu, un obiect este simetric fa de un plan, atunci va fi construit numai o jumtate din reprezentarea acestuia care apoi, prin reflexie, va fi copiat simetric, pentru generarea ntregului model. O entitate geometric poate fi reflectat fa de un plan, o ax sau un punct, aa cumrezult din figura 8.3. Reflexia unei entiti fa de un plan principal ( X = 0 Y = 0 Z = 0 ) este echivalent cu schimbarea semnului , , coordonatei corespunztoare pentru fiecare punct de pe entitate. Reflexia fa de o ax este echivalent cu reflexia fa de dou plane principale care se intersecteaz dup acea ax. Aa cum se arat n figura 8.3, o entitate este reflectat fa de axa Y printr-o reflexie fa de z = 0 , urmat de o reflexie fa de x = 0 . n acest caz planul planul reflexia este realizat prin schimbarea semnului coordonatelor x i z, pentru fiecare punct de pe entitate. n mod asemntor, reflexia fa de axele X i Z necesit schimbarea semnului coordonatelor y i z, respectiv x i y. Reflexia fa de origine este echivalent cu reflexia fa de trei plane principale care se intersecteaz n origine. Figura 8.3, c prezint reflexia unei entiti fa de origine, obinut prin schimbarea semnului celor trei coordonate x, y, z, pentru fiecare punct al entitii. Ecuaia (8.5) poate fi folosit la obinerea reflexiei dac elementele diagonale ale matricei sunt egale cu unitatea. Astfel, transformarea de reflexie poate fi exprimat prin urmtoarea ecuaie: P* = [M ]P (8.9) unde matricea de reflexie [M ] este o matrice diagonal de forma:
m11 0 m22 0 0 0 1 0 0 = 0 1 01 0 . 0 m33

[M ]

0 0

(8.10)

--

a)

b)

c) Fig. 8.3. Reflexia unei curbe n raport cu sistemul de coordonate a) reflexia fa de un plan principal (x = 0); b) reflexia fa de o ax (axa Y); c) reflexia fa de origine Matricea de reflexie dat de ecuaia (8.10) se aplic numai n cazul reflexiilor fa de planele, axele sau originea sistemului de coordonate. Pentru reflexia fa de planul x = 0 m11 = 1 m22 = m33 = 1 . Analog, m11 = m33 = 1 m22 = 1 , sau , i punnd i m11 = m22 = 1 m33 = 1, se obin relexiile fa de z = 0 . Reflexia y = 0, i planul m11 = 1 i m22 = 1, iar fa de axa Z necesit m11 = m22 = 1 i m33 = 1. Dac respectiv m22 = m33 = 1 , fa de axa Y necesit fa de axa X presupune m11 = m33 = 1 i

toate elementele diagonale sunt negative, m11 = m22 = m33 = 1, se obine reflexia adic fa de origine. Pentru ultimul caz, ecuaia (8.10) P* = i prin urmare, devine P P* = P . Rezult c mrimile vectorilor tangeni rmn constante dar direciile lor sunt inversate. Multe tehnici de modelare a solidelor sunt limitate, deoarece ele nu reprezint interiorul solidului. Ele nu pot reprezenta proprietile interne sau nu pot oferi modaliti --

de reprezentare a comportamentului intern. Tehnicile performante presupun omogenitate intern total a modelului. Aceste metode de modelare sunt adecvate pentru multe scopuri. n acest subcapitol, sunt tratate succint metodele matematice i geometriec care permit obinerea unei scheme de reprezentare a solidului mai complet. Exist cteva metode cunoscute pentru a crea forme solide simple, care nu sunt construcii booleene sau asamblri complexe a unor solide i mai simple.

--

8.2.4. Rotaia Rotaia este o form important de transformare geometric deoarece permite utilizatorilor s priveasc modelele geometrice din diferite unghiuri i, de asemenea, ajut la realizarea multor operaii geometrice. De exemplu, rotaia poate fi utilizat la construirea reelelor polare de obiecte prin crearea i rotirea/copierea acestora n poziiile dorite pe o circumferin. n mod asemntor, rotaia poate fi folosit pentru a construi modele geometrice simetrice fa de o ax. Rotaia are o caracteristic unic ce nu poate fi regsit la translaie, scalare sau reflexie, aceasta fiind necomutativitatea. Poziia final i orientarea unei entiti, n urma a dou transformri consecutive de scalare sau reflexie, sunt independente de ordinea operaiilor, adic sunt comutative. Din contr, dou rotaii consecutive ale unei entiti fa de dou axe diferite produc dou configuraii diferite, n funcie de ordinea operaiilor de rotaie. Se poate verifica acest fapt foarte uor: se marcheaz o muchie a unei cutii i dup rotirea acesteia n jurul a dou dintre celelalte muchii se observ configuraia final a muchiei marcate. Acelai experiment poate fi realizat pe un sistem CAD-CAM. 8.2.4.1. Rotaia n jurul axelor sistemului de coordonate Rotirea unui punct cu un unghi , n jurul axei X, Y sau Z este denumit rotaie n jurul originii. Este necesar s fie stabilit o convenie de alegere a semnelor unghiurilor. Prin urmare, un unghi de rotaie fa de o ax dat este pozitiv n sens trigonometric, cnd este privit dintr-un punct de pe partea pozitiv a axei spre origine. Pentru a realiza o transformare de rotaie a unui punct (sau vector) n jurul unei axe principale, se consider rotaia punctului P cu unghiul n jurul axei Z, aa cum se arat n figura 8.4. Acest caz este echivalent cu rotaia unui punct n planul xy, fa de origine. Poziia final a punctului P este reprezentat prin punctul P*. Ecuaia (5.1) sau (8.2) poate fi scris aici raportnd coordanatele lui P* la cele ale lui P, dup cum urmeaz:

Fig. 8.4. Rotaia unui punct n jurul axei Z x* = r cos( + ) = r cos cos r sin sin ; y* = r sin ( + ) = r sin cos + r cos unde sin ; z* = z; r= P = P*. Pentru a elimina unghiul din ecuaia (8.11), se poate scrie, conform figurii 8.4: x = r cos ; = r sin . y nlocuind ecuaiile (8.12) n (8.11) se obine: x* = x cos y sin -(8.11)

y* = x sin

; z* = z.

(8.12)

(8.13)

--

?1 ?

? ?

??0

sin ?

cos? ??

(8.17) cos? 0 sin ? ? ? Rescriind ecuaia (8.13) n form matriceal, rezult: ? ? sin 0 x x * cos ??? sin ? 0 cos? ?? y * = sin cos 0 y , (8.14) 0 z (8.18) sau 1 0 z*

P* = [RZ ]P , unde cos = sin sin 0 0 .

(8.15)

[R ]

cos 0

(8.16)

Analog, se poate arta c matricele de rotaie fa de axele X i Y sunt date de:

[R X ]

0 cos

sin

[RY ]

Astfel, n general, se poate scrie: P* = [R]P , (8.19) unde [R] este matricea de rotaie corespunztoare. Ecuaiile (8.16), (8.17) i (8.18) dau formele cele mai uzuale ale lui [R] . Coloanele matricei de rotaie [R] au cteva caracteristici utile. Dac se nlocuiete vectorul unitate [1 0] pe direcia X n ecuaia (8.14), se obine prima coloan a lui
T

0 [RZ ] ca fiind componente ale vectorului unitate transformat. Aceasta nseamn c dac se rotete vectorul unitate n direcia X cu unghiul fa de axa Z, prima coloan a lui [RZ ] d coordonatele vectorului unitate transformat. Analog, a doua i a treia coloan di n 1 [0 direciile Y respectiv Z, dup rotirea acestora cu acelai unghi . Prin urmare, coloanele matrice de [R ] rotaie -T

[RZ ]

reprezint noile coordonate ale vectorilor unitate [0

0]

0 1]

reprezint vectorii un itari care sunt reciproc perpendiculari n sistemul de coordonate adoptat, C1 C 2 = C3 C 2 C3 = C1 C3 C1 = C 2 , unde adic , i C1, C2 i C3 sunt prima, a doua i a treia coloan a lui [R] . Din algebra liniar se tie c o matrice avnd coloanele ortonormate este o matrice ortogonal a crei invers este egal cu transpusa. Efectul rotaiei asupra vectorilor tangeni la o curb poate fi obinut din ecuaia (8.19) dup cum urmeaz: P* = [R]P . (8.20) Astfel, pentru o curb spline cubic Hermite, este uor de observat V* = [R]V . c Prin urmare, rotaia unei curbe spline dup o ax dat este echivalent cu rotaia condiiilor de capt n jurul aceleiai axe. 8.2.4.2. Rotaia bidimensional n jurul unei axe arbitrare Rotaia unui punct, sau a unei entiti n general, n jurul unei axe care trece printrun punct arbitrar, diferit de originea sistemului de coordonate, se ntlnete atunci cnd

--

un punct este rotit fa de alt punct. De fapt, rotaia unui punct fa de origine, prezentat mai sus, este un caz particular al acestei probleme. Rotaia unui punct sau a unei entiti n jurul unui punct este util n simularea mecanismelor i roboilor unde elementele trebuie s se roteasc n jurul articulaiilor. Figura 8.5 prezint rotaia punctului P fa de punctul P1 n planul XY. Figura 8.5, a arat punctul P i rotaia lui ctre poziia final P*, de unghi fa de o ax paralel cu axa Z care trece prin punctul P1. Matricea de rotaie n acest caz se obine utiliznd ecuaia (8.15) la rotirea vectorulu P P1 n jurul lui P1 pentru a P * P1 . Astfel, se poate scrie: i obine

a)

b)

c) d) Fig. 8.5. Rotaia 2D a unui punct n jurul unei axe arbitrare a) rotaia lui P fa de P1, de unghi ; b) translaia punctului P1 n origine; c) rotaia punctului Pt fa de origine, cu unghiul ; d) translaia lui P1t n P1. P * P1 = [RZ ](P P1 ) . (8.21) Rearanjnd ecuaia (8.21) se obine: P* = [RZ ](P P1 ) + P1 . (8.22) Ecuaia (8.22) mai poate fi obinut considernd rotaia puncului P fa de P1, n --

locul rotaiei vectorului

P fa de P1, aa cum s-a procedat mai sus. Din aceast P1 perspectiv, rotaia lui P fa de P1 poate fi obinut n trei etape aa cum se arat n figurile 8.5, bd. n prima etap, se translateaz punctul P n origine O. n aceast poziie punctul P1 va fi notat cu P1t. De asemenea, se translateaz punctul P n Pt prin vectorul de translaie P1, aa cum se vede n figura 8.5, b. n consecin: Pt = P P1 . (8.23)

--

Pt

n etapa a doua, punctul Pt este rotit n planul XY cu unghiul fa de origine, aa cum se arat n figura 8.5, c. Din ecuaia (8.15) rezult (8.24) Pt = [RZ ]Pt = [RZ ](P P1 ) n ultima etap punctele P1t i Pt sunt translatate napoi n poziiile iniiale P1 i * respectiv P prin translaia de vector P1. Aceasta va necesita translatarea punctului prin acelai vector n poziia P*, conform figurii 5.5, d. Astfel: P = Pt + P1 = [RZ ](P P1 ) + P1 .

(8.25) Ecuaia (8.25) este la fel ca ecuaia (8.22). Ecuaia (8.25) se aplic rotaiilor bidimensionale n planele XZ sau YZ prin nlocuirea lui [RZ ] cu [RY ] , respectiv [R X ] .

--

S-ar putea să vă placă și

  • Simularea Cu WINQSB A Unui Sistem de Producţie
    Simularea Cu WINQSB A Unui Sistem de Producţie
    Document15 pagini
    Simularea Cu WINQSB A Unui Sistem de Producţie
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 14
    PAC Curs 14
    Document16 pagini
    PAC Curs 14
    Ionut Popa
    Încă nu există evaluări
  • Evaluarea Performantelor Logistice
    Evaluarea Performantelor Logistice
    Document14 pagini
    Evaluarea Performantelor Logistice
    Ionut Popa
    Încă nu există evaluări
  • Sisteme de Asteptare
    Sisteme de Asteptare
    Document11 pagini
    Sisteme de Asteptare
    Ionut Popa
    100% (1)
  • PAC Curs 12
    PAC Curs 12
    Document24 pagini
    PAC Curs 12
    Ionut Popa
    Încă nu există evaluări
  • Logic A
    Logic A
    Document247 pagini
    Logic A
    Lupul Singuratic
    Încă nu există evaluări
  • PAC Curs 11
    PAC Curs 11
    Document22 pagini
    PAC Curs 11
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 10
    PAC Curs 10
    Document24 pagini
    PAC Curs 10
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 8
    PAC Curs 8
    Document11 pagini
    PAC Curs 8
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 9
    PAC Curs 9
    Document14 pagini
    PAC Curs 9
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 6
    PAC Curs 6
    Document11 pagini
    PAC Curs 6
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 7
    PAC Curs 7
    Document15 pagini
    PAC Curs 7
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 5
    PAC Curs 5
    Document14 pagini
    PAC Curs 5
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 4
    PAC Curs 4
    Document10 pagini
    PAC Curs 4
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 2
    PAC Curs 2
    Document11 pagini
    PAC Curs 2
    Ionut Popa
    Încă nu există evaluări
  • PAC Curs 1-Libre
    PAC Curs 1-Libre
    Document8 pagini
    PAC Curs 1-Libre
    Marius Cucuiet
    Încă nu există evaluări
  • PAC Curs 3
    PAC Curs 3
    Document8 pagini
    PAC Curs 3
    Ionut Popa
    Încă nu există evaluări