Sunteți pe pagina 1din 16

1

PROIECTARE ASISTATA DE CALCULATOR CURS 14

MODELAREA GEOMETRIC
8.2.5. Reprezentarea omogen n seciunea anterioar au fost prezentate diferitele transformri geometrice ale solidului rigid. Ecuaiile (8.3), (8.5), (8.9) i (8.19) reprezint translaia, scalarea, reflexia i respectiv rotaia. n timp ce ultimile trei ecuaii enumerate sunt sub forma unor produse matriceale, translaia este descris de o sum vectorial. Acest aspect constituie un inconvenient n concatenarea transformarilor care implic translaia. Ecuaia (8.25) reprezint un astfel de exemplu. n consecin, este de dorit ca toate transformrile geometrice s fie exprimate numai sub forma produsului matriceal. Reprezentarea punctelor prin coordonatele lor omogene ofer o cale efectiv de unificare a descrierii transformrilor geometrice pe baza multiplicrii matricelor. Coordonatele omogene sunt folosite de mult timp n grafica interactiv i n modelarea geometric. Cu ajutorul acestora, transformrile geometrice sunt introduse, n mod obinuit, n hardware-ul grafic, pentru a-i spori viteza de execuie. Coordonatele omogene sunt utile i n alte aplicaii, cum sunt obinerea vederilor n perspectiv ale modelelor geometrice, analiza i proiectarea mecanismelor i roboilor. n plus, coordonatele omogene elimin unele anomalii ntlnite n geometria cartezian, cum ar fi reprezentarea punctelor la infinit i neintersectarea liniilor paralele. De asemenea, acestea simplific expresiile care definesc curbele i suprafeele parametrice raionale. n coordonate omogene, un spaiu n-dimensional este reprezentat ntr-un spaiu cu (n + 1) dimensiuni; aceasta nseamn c un punct sau un vector de poziie ntr-un spaiu ndimensional este reprezentat de (n + 1) coordonate sau componente. n spaiul tridimensional, un punct P de coordonate carteziene (x, y, z) are coordonatele omogene * * * (x , y , z , h), unde h este un factor scalar diferit de zero. ntre cele dou tipuri de coordonate exist urmtoarele relaii: x* y* z* x= ; y= z= . (8.26) h h ; h Din ecuaiile (8.26) rezult c nmulind coordonatele carteziene ale unui punct dat P, * cu un factor scalar h, P este scalat la un nou punct P i ntre coordonatele celor dou puncte exist relaiile (8.26). Figura 8.6 prezint un punct P scalat prin doi factori h1 i h2 * * care genereaz dou noi P i P . Aceste dou puncte pot fi interpretate n dou puncte moduri diferite.

P2

1 1

Din punctul de vedere al coordonatelor carteziene, ecuaia (8.5) poate fi utilizat cu s = h1 s = h2 . Odat ce coordonatele carteziene ale P1* i P2* au fost calculate, i puntelor relaiile lor cu punctul P nu mai exist. n plus, cele trei puncte aparin nc spaiului cartezian. Din punctul de vedere al coordonatelor omogene, punctul iniial P este * * * * * reprezentat de (x, y, z,1), P i sunt reprezentate de (x , y , z , h1) i respectiv (x , * iar y , z , h2), conform ecuaiilor (8.26). Mai mult, cele trei puncte aparin spaiului omogen, cu * coordonate carteziene obinute pentru h = 1 i cu meninerea relaiilor dintre P P sau i P , dup valoarea lui h. De fapt, oricare dou puncte avnd coordonate omogene
* *

P i

P reprezint acelai punct cartezian dac i numai h = ch , pentru orice constant dac 2 2 1 c diferit de zero. Prin urmare, nu exist o reprezentare omigen unic pentru un punct dat.

Fig. 8.6 Coordonatele omogene ale punctului P n scopul transformrilor geometrice, factorul scalar h folosit n ecuaia (8.26) este luat egal cu unitatea pentru a evita orice mprire inutil. Transformarea de translaie dat de ecuaia (8.3) poate fi scris acum ca un produs matriceal prin adugarea componentei unitare la fiecare vector din ecuaie i prin utilizarea matricelor 44, dup cum urmeaz: 1 0 0 xd x 01 y d * * x 1 = (8.27) y z 0 y * T , 0 0 1

0 1 1 0 sau
*

zd z

0 (8.28)

P = [D]P , unde [D] este matricea de translaie din ecuaia (8.27).

Deoarece transformrile de scalare, reflexie i rotaie sunt deja exprimate prin produse, matricele corespunztoare se obin prin adugarea unei coloane i a unui rnd de elemente, la matricele carteziene. n acest mod, matricea de scalare devine: s x 0 0 0 sy 0 [S ] = (8.29) 0 0 0 0 0 0 . sz Analog, matricea de reflexie devine: 0 0

?cos? ?

? s in?

0? ?

= ? sin ?

cos?

0? ,

i matricea de rotaie devine:

? 00 1 ? 0 1 0 0 ? ? ? 01 [D ] = * (8.34) 0 ?1 00 ? 0 1 1 [ D 1 = ?0 ] [M ] = 1 0 ?0 01 0 0 0? 0 ?0 0 r r13 12 r22 0 0 r32 (8.33) r23 r1 0 0 . r33 1 0 [R]r21= r3


1

1?

0 0 1 0

x1 ? ? y ? 1 z ?
1

(8.30)

? (8.31)

1?

0 Ecuaiile (8.16), (8.17) i (8.18) pot fi rescrise n mod asemntor. Folosind reprezentarea omogen, ecuaia (5.25) poate fi scris astfel: (8.32) P = [D1 ][RZ ][D2 ]P = [T ]P . und e 1 0 0 x1 0 (8.33) 1 y 0 1 z,1 0 0 0 0 1
1

RZ

1 0

sin sin cos

[T ] = [D ] ] [R [

D co

0 ? x1 + y1 sin (cos x1 (cos 1) y1 sin 1)


1 Z 2

t ? 0 . (8.34)

0 1 0 0 0 O privire mai atent asupra matricelor de transformare date n ecuaiile (8.28) pn la (8.31) arat c toate pot fi puse sub forma unei singure matrice 44: t11 t12 t13 t14 t 21 t
22

t
23


24

T1 =

T2

[T ]

= t t t T

1 .

(8.35)

42 43 44 Submatricea 33 [T1 produce scalarea, reflexia sau rotaia. Matricea coloan 31 t t

t 41

31

32

33

34

] [T2 ]
13

genereaz translaia. Matricea

[T3 ]

produce proiecia n perspectiv. Al patrulea

element de pe diagonal este factorul scalar unitar h utilizat n ecuaia (8.26) i este luat cu valoarea unitar.

Ecuaia (8.35) reprezint forma explicit a metricei de transformare

[T ]

utilizat n

ecuaia (8.2). Aceasta este, de regul, scris pentru cte o transformare geometric odat utiliznd oricare din ecuaiile (8.27) (8.31). Dac sunt necesare mai multe transformri, matricele rezultante sunt multiplicate pn este obinut transformarea total, aa cum se va discuta mai n continuare. Dac reprezentarea omogen i matricea de transformare rezultant [T este folositoare i comod pentru a gndi i a scrie ecuaii compacte, ] programele care implementeaz transformrile geometrice ale entitilor trebuie concepute cu grij pentru a evita consumul de timp cu nmuliri de uniti i zerouri. De fapt, acestea pot s nu fie utilizate de loc, pentru a simplifica logica programrii. 8.2.6. Concatenarea transformrilor Pn aici au fost prezentate transformrile de puncte ntr-un singur pas, cum ar fi rotirea i translaia simpl. Totui, n practic, unui model geometric i se poate aplica un grup de transformri. n aceste situaii sunt necesare transformrile combinate i concatenate. Transformrile concatenate se obin, simplu, prin nmulirea matricelor [T ] a transformrilor individuale corespunztoare. Deoarece operaia de nmulire a matricelor poate s nu fie ntotdeauna comutativ, este necesar s fie verificat cu atenie ordinea n care sunt aplicate transformrile asupra unui model geometric dat. n general, dac sunt aplicate n transformri asupra unui punct, ncepnd cu transformarea 1 de matrice [T1 ] i sfrind cu transformarea n de matrice [Tn ] , atunci transformarea concatenat a punctului este dat de: P = [Tn ][Tn1 ] [T2 ][T1 ]P . (8.36) Ca exemplu, se consider rotaia unui punct, sau a vectorului su de poziie, n sistemul fix de coordonate MCS, n urmtoarea ordine: cu ungiul n jurul axei Z, cu unghiul n jurul axei Y i cu unghiul n jurul axei X. nlocuind , i n ecuaiile (8.16), (8.18) i (8.17) i multiplicnd, se obine matricea transformrii concatenate: [T ] = [TX ][TY ][TZ ] , (8.37) sau 0 [RZ ] 0 [R ] [R 0 sau 0 0 0
X = 1

[RY ] , 1 1 0 1 0

(8.38)

[R] = [R X ][RY ][RZ ]


Dezvoltnd ecuaia de mai sus se obine: sin cos cos cos [R] = sin cos + cos sin sin sin sin cos sin cos

. sin cos sin cos cos

(8.39)

cos cos sin sin sin cos sin + sin sin cos

(8.40)

8.3. PROIECIILE MODELELOR GEOMTRICE Bazele de date ale modelelor geomtrice pot fi vzute i examinate dac pot fi afiate n diferite imagini pe ecranul terminalului grafic. Observarea unui model tridimensional este complicat deoarece dispozitivele de afiare pot realiza numai reprezentri bidimensionale. Aceast nepotrivire ntre modelele tridimensionale i ecranele de afiare bidimensionale poate fi depit prin utilizarea proieciilor care transform modelele tridimensinale n imagini plane bidimensionale.

Pentru a defini o proiecie este necesar s fie definite, mai nti, un centru de proiecie i un plan de proiecie, aa cum se arat n figura 8.7. Pentru a obine proiecia unei entiti (o linie care leag punctele P1 i P2, n figura 8.7), sunt construite razele proiectante (numite proiectori) unind centrul proieciei cu fiecare punct al entitii. Interseciile proiectorilor cu planul de proiecie definesc punctele de proiecie care sunt unite pentru a forma proiecia entitii. Exist dou tipuri diferite de proiecii bazate pe localizarea centrului e proiecie n funcie de planul de proiecie. Dac centrul este la o distan finit fa de plan rezult proiecia n perspectiv i toi proiectorii se ntlnesc n centrul de proiecie. Dac centrul este la o distan infinit fa de plan, toi proiectorii se ntlnesc la infinit i rezult proiecia paralel. Proiecia n perspectiv este, de regul, o parte a geometriei proiective. Acest tip de reprezentare nu pstrez paralelismul. Proiecia paralel este o parte a geometriei afine care este euclidian. n geometria afin, paralelismul este un concept important i prin urmare conservat. Proiectarea n perspectiv creeaz un efect artistic ce adaug un grad de realism la imaginile reprezentate. Aa cum rezult din figura 8.7., dimensiunea unei entiti este invers proporional cu distana fa de centrul de proiecie, astfel nct, entitile mai apropiate de centru vor avea dimensiuni mai mari. Proieciile n perspectiv nu sunt uzuale n

a)

b) Fig. 8.7. Definirea proieciei a) proiecia n perspectiv; b) proiecia paralel inginerie i proiectare deoarece nu conserv dimensiunile, unghiurile i formele reale ale obiectelor. n consecin nu pot fi fcute msurri exacte direct pe imaginile n perspectiv ale obiectelor modelate. n plus, proiectarea n perspectiv nu pstrez paralelismul. Spre deosebire de proiecia n perspectiv, proiecia paralel pstreaz formele, dimensiunile reale i paralelismul obiectelor. Unghiurile sunr conservate numai pe feele obiectului care sunt paralele cu planul de proiecie. Exist dou tipuri de proiecii paralele bazate pe relaiile dintre direciile de proiecie i planul de proiecie. Dac aceast direcie este normal la planul de proiecie, rezult imagini i proiecii ortogonale. Dac direcia nu este normal la plan, se obine proiecia oblic. Exist dou tipuri de proiecii ortogonale. Cel mai obinuit tip este acela care utilizeaz plane de proiecie perpendiculare pe axele principale ale MCS-ului modelului. n acest caz direcia de proiecie coincide cu una dintre aceste axe. Vederea frontal,

vederea de sus i vederea lateral care sunt folosite de obicei n inginerie, aparin acestui tip de proiecie. Mai sunt alte trei proiecii care aparin aceluiai tip i sunt furnizate de sistemele CAD-CAM. Acestea sunt vederile de jos, din spate i din stnga. Cellalt tip de proiecie ortogonal folosete plane de proiecie care nu sunt normale la o ax principal i, prin urmare, afiaz mai multe fee ale modelului, n aceeai proiecie. Acest tip este numit proiecie axonometric. n acest caz este pstrat paralelismul liniilor, dar nu i al unghiurilor. Astfel, se pot face msurri exacte de-a lungul axelor principale. Proieciile axonometrice se clasific n proiecii trimetrice, dimetrice i izometrice. Proieciile izometrice sunt cele mai cunoscute proiecii axonometrice i au proprietatea util c cele trei axe principale sunt egal reprezentate. n consecin, msurrile de-a lungul axelor se pot face la aceeai scar, de unde rezult i denumirea: izo pentru egal i metric pentru masurare. n plus, normala la planul de proiecie face unghiuri egale cu fiecare ax principal i axele principale fac unghiuri egale (120 fiecare) ntre ele cnd sunt proiectate n planul de proiecie. Este necesar s se stabileasc n ce fel se leag modul de definire a vederilor n sistemele CAD-CAM, de proieciile ortogonale i izometrice. n mod obinuit, definirea unei vederi necesit un punct de origine a vederii, o zon predefinit a unui spaiu de afiare (fereastr de vizualizare) i o direcie de observare, aa cum se arat n figura 8.8. Punctul de origine a vederii definete amplasarea originii MCS-ului asociat cu modelul, n interiorul ferestrei de vizualizare. Direcia de observare este direcia proiectorilor din figura 8.7, b. Planul de vizualizare este perpendicular pe aceast direcie i este identic cu planul de proiecie. Fereastra de vizualizare definete frontierele ntre care este delimitat vederea. Imaginea afiat va fi mrit sau micorat prin efect de lentil, pentru a intra n fereastra de vizualizare. Unei vederi i se asociaz un sistem de coordonate de vizualizare tridimensional (VCS), cu axa oriuontal Xv orientat spre dreapta i axa vertical Yv orientat n sus, aa cum se arat n figura 8.8.

Fig.8.8. Definirea vederii

a)

b) Fig. 8.9. Relaia dintre MCS i VCS a)Vederile modelului n MCS; b) Legtura dintre MCS i VCS Axa Zv definete direcia de observare. Semiaxa pozitiv Zv are sens opus direciei de observare pentru a menine VCS-ul ca sistem orientat dreapta, chiar dac un sistem orientat stnga este de preferat n acest caz deoarece semiaxa pozitiv Zv este pe direcia liniilor de observare ale ochiului. Aceasta duce la interpretarea logic a faptului c valori mai mari ale lui z sunt mai departe de poziia ochiului care observ. Pentru a obine vederi ale modelului, planul de vizualizare XvYv, este orientat s coincid cu palnul XY al MCSului, aa cum originea VCS-ului coincide cu originea MCS-ului. Vederile se obin acum prin rotirea modelului fa de axele VCS-ului, astfel ca planul dorit al modelului s coincid cu planul de vizualizare, i prin proiectarea modelului n acest plan. Vederea unui model este generat n dou etape: rotirea corespunztoare a modelului i proiectarea acestuia n planul de proiecie. Aceste etape sunt, de regul, parcurse atunci cnd utilizatorul aplic sintaxa de definire a vederilor ntr-un sistem CAD-CAM dat. Figura 8.9 prezint relaia dintre MCS i VCS pentru vederile uzuale ale unui model geometric. Se poate aplica procedeul n dou etape descris mai sus. Pentru vederea din fa, planele XY i XvYv sunt identice. Pentru a obine aceast vedere, se proiecteaz pur i simplu geometria n planul de vizualizare. Pentru vederea de sus, modelul trebuie rotit cu 90 n jurul axei Xv , astfel nct planul XZ s coincid cu planul XvYv. Celelalte vederi pot fi obinute ntr-o manier asemntoare. MCS-ul este prezentat n figura 8.9, b ca i cum ar fi rotit fa de VCS exact n acelai fel n care modelul se rotete fa de propriul VCS. Aceasta menine neschimbat legtura dintre model i propriul MCS. Un alt mod de a trata aceast problem este de a afirma c vederile unui model sunt obinute rotind modelul i MCS-ul asociat n jurul axelor Xv i Yv ale VCS-ului.

? ? 8.3.1. Proiecii ortogonale

0 1? 1 1

Proiecia ortogonal a unui model se obine setnd la 0 valoarea coordonatei corespunztoare axei MCS-ului care coincide cu direcia de proiecie (sau de vizualizare), dup rotirea modelului. O proiecie ortogonal respect definiia artat n figura 8.8. Pentru a obine vederea frontal (vezi figura 8.9, b) este suficient s se z = pentru ia 0 toate punctele cheie ale modelului, nefiind necesare rotaii. Astfel, ecuaia (8.35) devine: 1 0 0 iar ecuaia (8.2) d: 0 0 0 , 0 0 0 (8.42) xv = x (8.41)

[T ]

0 = 1 0 0 0 0

Pv = [T ]P , unde Pv este punctul experimat n VCS. Pentru vederea frontal ecuaia (8.42) d i y v = y .

Pentru vederea de sus modelul i MCS-ul ataat sunt rotite cu 90 n jurul axei Xv, urmat de setarea la 0 a coordonatei y a puctelor rezultate. Coordonata y primete valoarea 0 deoarece coincide cu direcia de proiecie. n acest caz, matricea [T ] devine: 1 0 0 0 0 0 [T ] = (8.43) 0 0 1 0 0 0 0 0 y v = z . Dac se folosete ecuaia de mai sus pentru a

i ecuaia (8.42) d

xv = x i transforma nsui MCS-ul, axa X n

y = z = 0) se transform

xv = x

i axa Y ( x = z = 0) se

transform n y v = z . Acest rezultat este n acord cu figura 8.9b. Vederea lateral din figur poate fi obinut prin rotirea modelului i a MCS-ului ataat cu -90 n jurul axei Yv i setarea la 0 a coordonatei x. 0 1 Astfel se obine: 0 0 i 0 0 care d xv = z yv = y . 0 0

[T ]

0 0 Examinarea ecuaiilor (8.41), (8.43) i (8.44) arat c [T ] este o matrice singular cu o coloan de zero-uri corespunztoare axei MCS-ului care coincide cu direcia de proiecie. Aceste ecuaii sunt obinute prin transformri de rotaie urmate de setarea la 0 a coordonatei corespunztoare direciei de vizualizare. Ordinea acestor etape poate fi inversat. Dup ce punctele de vizualizare Pv sunt generate, ele sunt ncadrate ntre limitele ferestrei de vizualizare i reprezentate apoi ntr-un sistem de coordonate ataat unui dispozitiv fizic (SCS), pentru afiarea vederii. Pentru a obine proiecia izometric, modelul i MCS-ul ataat sunt rotite n mod obinuit cu un = = n jurul axei Yv i cu un n jurul axei Xv. unghi o o unghi 45 35,26 Aceste unghiuri sunt folosite n mod obinuit n proiectarea manual. n practic, unghiul este luat de 30 pentru a permite desenarea manual a vederilor izometrice. Valorile

0 0

(8.44)

acestor unghiuri rezult di faptul c cele trei axe sunt egal distanate n proiecia izometric. Aceast afirmaie poate fi justificat dup cum urmeaz. Cele dou rotaii dau: 0 0 0 0 0 x 1 cos sin cos sin 0 1 0 0 y . P = ] P= (8.45) 0 0 [T

xT y

0 sin 0 0

cos 0 0

0 sin 1

0 cos 0 0

0 z 1 1 0 1] ,
T

Aplicnd aceste ecuaii pentru a transforma vectorii unitari n direcia X [1 0 n direcia Y [0 1 se proiecteaz n planul 0 1] i n direcia Z
T

0 1 1]
T

i ignornd componenta Z deoarece

[0
z v = 0 , se obine: xv = c os ; xv = 0 ; xv = sin ;

y v = sin s in ; y v = c os ;

(8.46)

y v = cos sin . Dac cele trei axe sunt egal distanate, mrimile vectorilor unitari, conform relaiilor de mai sus, trebuie s fie egale. Din primele dou ecuaii rezult: 2 2 2 2 (8.47) cos + sin s in = c o s , iar din ultimile dou se obine: 2 2 2 2 (8.48) sin + c o s s in = c o s , Rezolvnd ecuaiile (8.47) i (8.48) se obin valorile =
o

i = 35,26

45 . Semnele unghiurilor de rotaie i permit patru posibile orientri ale vederilor o izometrice. Figura 8.9, b ilustreaz cea mai uzual orientare n care = i = 35,26 . o 45 8.3.2. Proiecii n perspectiv O cale uzual de obinere a unei vederi n perspectiv este aceea de a plasa centrul proieciei pe axa Zv a VCS-ului i de a proiecta modelul z v = sau pe planul XvYv. n 0 Figura 8.10 ilustreaz acest caz. Centrul de proiecie C este plasat la distana d (msurat de-a lungul axei Zv) fa de planul de proiecie. Pentru a gsi [T n cazul matricea ] proieciei n perspectiv, cnd ochiul observatorului este plasat pe axa Zv, se utilizeaz reprezentarea din figura 8.10, considernd c utilizatorul privete din centrul C. Este introdus un nou sistem de coordonate legat de ochiul observatorului, notat cu ECS, care respect direcia de observare. Originea ECS-ului este localizat n aceeai poziie ca i observatorul. Axele Xe i Ye sunt paralele cu axele Xv i Yv ale VCS-ului. Acesta este un

sistem orientat stnga. Axa Ze este luat n direcia de observare. Prin urmare, punctele cu valori ale coordonatei Ze mai mari sunt situate mai departe de ochiul observatorului. ECS-ul este util n dezvoltarea algoritmilor pentru eliminarea liniilor ascunse i deplasarea suprafeelor. Matricea de transformare a coordonatelor punctelor din VCS n ECS, sau invers, poate fi scris astfel: 1 0 0 0 0 1 [T ] = (8.49) 0 0 0 0 0 0 . 1 0 0

Fig. 8.10. Proiecia n perspectiv, pe direcia axei Zv Aa cum se poate observa, matricea

[T

inverseaz semnul coordonatei z. n

]
proieciile ortogonale, ECS-ul este localizat la infinit. Este evident c ECS-ul poate fi nlocuit de VCS. n acest caz, punctele cu valori mai mici ale coordonatei z sunt interpretate ca fiind mai departe de ochiul observatorului. Figura prezint proiecia n perspectiv a punctului P, ca fiind punctul Pv. Pentru a stabili coordonata yv a punctului Pv, din asemnarea triunghiurulor COP2 i CP3P1 se obine: yv d 1 = = (8.50) y d z 1 z/d Din asemnarea triunghiurilor C Pv P2 i CPP1 se obine coordonata xv: xv r d 1 = 2= = (8.51) x r1 d 1 z/d z Rearanjnd ecuaiile (8.50) i (8.51) pentru a da yv, respectiv xv i considernd z v = 0 , se poate pune rezultatul sub o form omogen: 0 0 x 1 0 0 1 0 0 y = 0 0 0 0 z 1 0 0 1/ 1 d Dac aceast ecuaie este dezvoltat se obine Pv = y 0

[P ] v

(8.52)

(1 z / d )]T . Prin

ar fi necesar mprirea coordonatelor x i y la (1 z / d) carteziene corespunztoare. n consecin, rezult ecuaiile (8.50) i (8.51). Astfel, ecuaia (8.52) asigur proiecia n perspectiv, n z v = 0 , cnd centrul proieciei este plasat planul pe axa Zv, la distana d de origine. Acest rezultat este n acord cu afirmaia anterioar

[x

urmare, pentru a obine coordonatele

conform creia matricea

[T3 ]

din ecuaia (8.35) descrie proiecia n perspectiv. Dac

centrul proieciei este plasat ntr-un punct oarecare din spaiu, celelalte elemente ale matricei [T3 ] vor fi nenule.

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