-
UNIVERSITATEA DIN BACAU FACULTATEA DE INGINERIE
Ionel Crinel Raveica
Grafica inginereasca Note de curs
Pentru uz didactic
Specializarile: - Design industrial - Tehnologia Constructiilor
de Masini - Inginerie economica in domeniul mecanic - Ingineria si
protectia mediului - Utilaje si instalatii de process - Ingineria
calitatii
-
UNIVERSITATEA DIN BACAU FACULTATEA DE INGINERIE
Ionel Crinel Raveica
Grafica inginereasca Note de curs
Pentru uz didactic
Specializarile: - Design industrial - Tehnologia Constructiilor
de Masini - Inginerie economica in domeniul mecanic - Ingineria si
protectia mediului - Utilaje si instalatii de process - Ingineria
calitatii
-
Prefa Disciplina Grafic inginereasca prezint noiuni de
reprezentare a elementelor grafice din activitile inginereti.
Aplicaiile practice din cadrul acestui ndrumar sunt un suport in
intelegerea si aprofundarea proiectarii asistate de calculator.
Reprezentarea prin desene a ideilor de rezolvare a solutiilor de
principiu a pieselor si ansamblurilor proiectate, este una din
sarcinile cele mai importante ale proiectantului. Este unanim
recunoscuta importanta, n toate etapele procesului de
proiectare-fabricatie, a desenului ca mijloc efectiv de comunicare
a informatiilor. Posibilitatea de a folosi aceasta abilitate de
catre calculator, a revolutionat modul n care acestea sunt folosite
astazi n toate domeniile.
Conform literaturii de specialitate, sistemele de proiectarea
asistata de calculator (n engl. CAD Computer-Aided Design) sunt
destinate crearii interactive de modele ale obiectelor tehnice
reale, analizei acestor modele, generarii documentatiei pentru
fabricarea lor si producerii de date grafice si negrafice derivate
din model . Definitia este destul de larga pentru a cuprinde ct mai
multe din domeniile n care sunt folosite aceste sisteme: mecanica,
electronica, electrotehnica, constructii, arhitectura,
sistematizare urbana sau cartografie, multimedia, etc..
-
Grafic Inginereasca-note de curs
5
PREFATA
Departe de a reprezenta doar o fascinaie, grafica pe calculator
a ptruns n viaa noastr cotidian, de la jocurile computerizate la
desenele animate, de la descoperirea formei unei funcii matematice,
la proiectarea asistat. Dinamica aproape fr egal a acestui domeniu
este strns legat de facilitile grafice ale calculatoarelor
personale, de apariia i dezvoltarea unui soft specializat, uznd de
interfee prietenoase cu utilizatorul. Exploatarea la un nivel nalt
a performanelor mainii, nelegerea modalitii de realizare a
diferitelor funcii grafice necesit din partea utilizatorilor i a
creatorilor de soft, un studiu atent al fundamentelor graficii
computerizate: algoritmi, metode i modele, instrumente i
caracteristicile lor.
Grafica inginereasc a fost i rmne un domeniu fundamental al
cunotinelor inginereti. Reprezentarea prin desene a ideilor de
rezolvare a soluiilor de principiu a pieselor i ansamblurilor
proiectate, este una din sarcinile cele mai importante ale
proiectantului. Este unanim recunoscut importana, n toate etapele
procesului de proiectare-fabricaie, a desenului ca mijloc efectiv
de comunicare a informaiilor. Posibilitatea de a folosi aceast
abilitate de ctre calculator, a revoluionat modul n care acestea
sunt folosite astzi n toate domeniile.
n standardul ISO (International Standardization Office) se
definete grafica pe calculator (computer graphics) ca metode i
tehnici de conversie a datelor ctre i de la un dispozitiv grafic
(display) prin intermediul calculatorului. n plus, se mai menioneaz
c aceste metode reprezint modul cel mai puternic de comunicare ntre
om i calculator.
Informaia prezentat vizual este perceput de om n modul cel mai
natural. Structuri complexe i relaiile ntre ele pot fi percepute
ntr-un timp mai scurt, ntr-un numr mai mare i cu mai puine erori n
prezentarea vizual dect n oricare alt mod de prezentare.
Noiunea de grafic pe calculator este asimilat n cele mai multe
referine din domeniu cu aceea de grafic generativ (sau sintez de
imagine), avnd ca direcie de conversie i transformare a datelor
aceea de a crea pe display imaginea unor obiecte a cror descriere
este stocat n memoria calculatorului
Aceste note de curs i propun tocmai o incursiune n acest domeniu
att de tentant pentru muli. Aceste note de curs constituie un
instrument concret de lucru pentru toi cei care sunt interesai n
cunoaterea sau n aprofundarea problemelor legate de grafica pe
calculator, n domeniul modelrii geometrice
n aceast lucrare sunt tratate aa cum era i firesc elemente de
geometrie aplicat, fiind analizate bazele matematice ale graficii
asistate de calculator. Sunt selectate elemente de geometrie legate
direct de reprezentrile grafice, iar transformrile studiate sunt
cele care apar cel mai frecvent n aplicaiile pe calculator. Aceste
transformri sunt grupate n funcie de spaiul pe care opereaz,
respectiv n dou sau trei dimensiuni. Fiecare transformare este adus
la o descriere matricial, adic una care ne permite o prezentare
structurat, sugestiv a algoritmilor folosii n grafica pe
calculator.
-
Grafic Inginereasca-note de curs
6
Totul ar rmne geometrie, mai mult sau mai puin abstract dac ar
lipsi referirile la tehnicile de sugerare a realismului imaginilor
grafice, ncepnd cu eliminarea aspectelor ce in de restriciile
suportului de reprezentare, continund cu tehnicile de colorare i
umbrire i terminnd cu animaia grafic.
Interesul pentru problemele de perspectiva automat i pentru
aplicarea lor n proiectare a umbrit, desigur n oarecare msur,
studiul automatizrii problemelor clasice de geometrie descriptiv n
sensul lui Monge. Astfel sunt abordate problematici referitoare la
: studiul punctului, dreptei i respectiv al planului.
Studiul punctului luat ca element geometric de baz n
reprezentrile descriptive permite realizarea grafic pe calculator n
tripl proiecie ortogonal a tuturor poziiilor sale caracteristice n
spaiu, corespunztoare alfabetului descriptiv al punctului. Epurele
obinute astfel automat reflect un desen ireproabil, cu balustrarea
proieciilor, cu notarea lor i cu trasarea sau nu a liniilor de
ordine.
Studiul dreptei permite definirea sa att prin dou puncte ct i
parametric sau ca intersecie de plane. Este realizat trasarea
automat a urmelor i ale proieciilor dreptei, indiferent de modul de
definire al dreptei sau de poziia sa caracteristic n raport cu
planele triedrului tridreptunghic.
Studiul planului permite definirea sa n toate modurile geometric
posibile pentru care, dac este necesar, se pot trasa automat i
urmele planelor pe cele trei plane ale triedrului dreptunghic.
Au fost rezolvate de asemenea problemele de inciden dintre plane
sau dintre drepte i plane, precum si probleme de paralelism i de
perpendicularitate intre plane si intre drepte i plane.
De asemenea rezolvarea rezolvarea problemelor metrice privind
determinarea diferitelor distane dintre elementele geometrice:
punct, dreapt, plan sau determinarea bisectoarelor unui unghi a
permis o transpunere a principalelor rezolvri ale problemelor
geometrice i de geometrie descriptiv pe calculator.
Trebuie mentionat rolul (istoric) motor n dezvoltarea
elementelor de geometrie aplicat pe calculator, multe din tehnicile
de generare si modificare fiind preluate din tehnicile
animaiei.
Animaia nu a fost realizat cu uurin i n interval de timp foarte
scurt. Mai multe persoane i-au adus contribuia la realizarea
animaiei de astzi. n cele ce urmeaz sunt prezentate cteva jaloane
din istoria animaiei.
1824 Peter Roget a prezentat lucrarea sa cu titul The
persistance of vision with regard to moving objects la British
Royal Society.
1831 Dr. Joseph Antoine Plateau i Dr. Simon Rittrer au realizat
o main pe care au denumit-o phenakitstoscope care produce o iluzie
de micare, permind observatorului care privete pe un disc aflat n
micare de rotaie (acest disc conine o mic fereastr) s observe
secvenele de imagine de pe un alt disc aflat la rndul lui n micare
de rotaie. Cnd cele dou discuri se rotesc cu turaii juste,
sincronizarea ntre ferestre i imagine creeaz un efect de
animaie.
1834 Horner a dezvoltat construcia platoului phenakistoscope.
1872 Eadweard Muybridge a nceput studiul studierii fotografice a
animalelor n
micare. 1887 Thomas Edison a nceput cercetrile n domeniul micrii
imaginilor. 1889 Thomas Edison a anunat construirea aparatului sau
denumit kinetoscope 1889 George Eastman a nceput fabricarea benzii
de film fotografic pe baz de
nitroceluluz.
-
Grafic Inginereasca-note de curs
7
1895 Louis et Augustine Lumire au patentat un aparat care a fost
denumit cinematograf capabil s proiecteze imagini n micare
1896 Thomas Armat proiecteaz vitascopul 1906 J. Stuart Blackton
a realizat primul film animat "Humorous phases of
funny faces." 1908 Emile Cohl a realizat un film cu figuri albe
pe un ecran de fundal negru. 1909 Winosr McCay a produs un desen
animat "Gertie the Trained Dinosaur"
care a fost realizat cu 10.000 de desene. 1945 Harry Smith a
realizat animaia direct n film. 1957 John Whitney a folosit 17
motoare Bodine, 8 Selsine, 9 angrenaje diferite
i 5 bile integratoare pentru a crea un computer grafic analog .
1964 Ken Knowlton, qui lucra la laboratoarele Bell, a nceput s
dezvolte
tehnicile computerizate pentru realizarea filmelor de desene
animate Metode tradiionale de animaie
nainte de dezvoltarea animaiei computerizate, toate animaiile au
fost realizate manual. Toate cadrele unei animaii au fost desenate
cu mna. i cum fiecare secund de animaie conine 24 cadre, se poate
imagina volumul de lucru care este necesar sa se realizeze chiar
pentru cel mai scurt film de desen animat. Aceasta implica un volum
mare de lucru, i un numr mare de personal calificat angajat. Din
acest motiv a fost necesar s se dezvolte diferite tehnici de creare
a animaiei. Multe din aceste tehnici din istorilcul animaiei au
fost preluate i n Grafica asistat de calculator. Cteva din aceste
tehnici sunt prezentate n cele ce urmeaz:
Celula de animaie
Atunci cnd se creeaz o scen de animaie folosind acesta metod,
fiecare
caracter este desenat pe o foaie de hrtie transparent. Un
arier-plan este de asemenea desenat pe o foaie separat opac. Atunci
cnd se demareaz animaia diferitele caractere sunt amplasate pe
planul de fundal pentru fiecare cadru. Prin folosirea acestei
metode se poate salva destul de mult timp deoarece nu mai este
nevoie s se deseneze ntreg desenul. Este suficient dac se deseneaz
numai modificrile individuale ale fiecrui caracter. Uneori sunt
suficiente numai cteva pri separate din caracter care sunt plasate
pe piese disparate de hrtie transparent.
Rotascoping
Rotascoping-ul este atunci cnd se dorete copierea imaginilor
dintr-un film
video ntr-o scen de animaie. De exemplu, dac se dorete s se
animeze un fulg de nea, este mai uor s se deseneze micarea i forma
fulgului n diferite pri de animaie, ca un video. Cu ajutorul
rotascopului se poate anima cteva scene mai complexe care ar fi
foarte dificile de a fi vizualizate. Un dezavantaj al
rotascoping-ului este c trebuie s avem cadrele exacte pe care vrem
s le animm. De exemplu, dac se dorete reprezentarea unui cine care
alearg dintr-o parte n alta a ecranului, secvena video cu cinele
care alearg de departe catre noi cu imaginile pe care le avem nu se
va putea realiza.
-
Grafic Inginereasca-note de curs
8
Tehnicile de animatie sunt numeroase i destul de laborioase dar
atunci cnd sunt asamblate ele sunt foarte utile
Evoluia istoric a graficii
- modelarea figurilor (grafica simpla care sa fie printata).
Modele de obiecte sau
obiecte (obiecte abstracte si fenomene) ce trebuiau modelate
grafic - grafica interactive (se modifica in timp real modelul
format) - interfee utilizator (GUI- Graphical User Interface) cu
aplicaii la terminale
grafice care duc la aplicaii grafice complexe - sinteza de
imagini construcia unei imagini fotorealiste (photorealistic
rendering) o Simularea legilor optice de interaciune a luminii
cu si intre obiecte.
Aceasta aciune presupune calcule foarte multe si complexe, iar
rezultatul este aproximativ identic cu cel fotografic. In concluzie
sinteza de imagini este procesul de redare grafica a unor obiecte
reale/imaginare pornind de regula de la un model. Se are in vedere
interaciunea optica a luminii simularea fenomenelor de interaciune
a luminii cu obiecte reflexie refracie
- analiza si prelucrarea imaginilor
sinteza de imagini - Construcia unui model grafic este un proces
de redare a imaginii unor obiecte reale/imaginare pornind de regul
de la un model. Se dezvolta tehnici si algoritmi ce presupun
calcule foarte multe, dar calitatea e mare. Deci sinteza e procesul
de redare a imaginilor unor obiecte reale sau imaginare pornind de
regula la un model. analiza si prelucrarea imaginii reprezinta
prelucrarile facute asupra imaginii, reconstructia obiectelor din
imagine pornind de la imaginile sale reale. Este procesul invers
celui de sinteza a imaginii.
- subdomeniu image enhancement (imbunatatirea calitatii
imaginii), consta in
noise reduction (consta in eliminarea zgomotului din imagini
reprezentat de pixeli suplimentari sau absenti)
detectarea sabloanelor standard (pattern detection and
recognition) si determinarea gradului de distorsiune in imagini 2D
(Ex OCR, recunoasterea optica a caracterelor dupa sablon)
analiza de imagine si computer vision se porneste de la imagini
2D ale obiectelor (exemplu robotii industriali disting
proprietatile si pozitia obiectelor)
determinarea de obiecte 2D/3D pornind de la proieciile 2D ale
acestora
Sinteza imaginilor era considerata ca o disciplina diferita
astzi att sinteza de
imagini cat si analiza si prelucrarea imaginilor se regsesc in
grafica asistata de calculator
-
Grafic Inginereasca-note de curs
9
Locul graficii asistate de calculator Aplicaii ale graficii pe
calculator
Conform literaturii de specialitate, sistemele de proiectarea
asistat de calculator (n engl. CAD Computer-Aided Design) sunt
destinate crerii interactive de modele ale obiectelor tehnice
reale, analizei acestor modele, generrii documentaiei pentru
fabricarea lor i producerii de date grafice i negrafice derivate
din model. Definiia este destul de larg pentru a cuprinde ct mai
multe din domeniile n care sunt folosite aceste sisteme: mecanic,
electronic, electrotehnic, construcii, arhitectur, sistematizare
urban sau cartografie, multimedia, etc..
n accepiunea proprie a noiunii, un sistem CAD este o component
software, un pachet de programe. Echipamentul pe care lucreaz
aceste programe nu constituie o component a sistemului CAD
propriu-zis. Totui, din punct de vedere principial i al relaiilor
de conlucrare, reprezentarea din fig. 1, n care sunt evideniate i
componetele hardware, poate fi acceptat ca schem general a unui
sistem CAD.
Domeniile de aplicaie ale graficii pe calculator s-au extins o
dat cu creterea
puterii de calcul a calculatoarelor i cu ieftinirea adaptoarelor
i a acceleratoarelor grafice. n continuare sunt prezentate cteva
din cele mai importante domenii de aplicaie ale graficii pe
calculator.
Una din cele mai extinse utilizri ale graficii este n realizarea
interfeelor utilizator dezvoltate n numeroase programe utilitare,
medii de dezvoltare i programare, sisteme de operare, baze de date.
Intefeele grafice sunt mult mai prietenoase dect interfeele prin
comenzi date n linia de comand i permit instruirea rapid a
utilizatorilor neexeperimentai n folosirea unor astfel de
aplicaii.
O alt ramur important de aplicare a graficii pe calculator o
constitue proiectarea asistat de calculator (CAD Computer Aided
Design), folosit n electronic, mecanic, aeronautic, arhitectur,
etc. Domeniul de proiectare asistat CAD a reprezentat mult vreme
cea mai important aplicaie a graficii pe calculator i a prilejuit
dezvoltarea a numeroase tehnici de generare i vizualizare a
modelelor tridimensionale.
Prezentrile grafice interactive (n administraie, tehnologie,
statistic, management, planificare, comanda i conducerea proceselor
industriale) genereaz o gam variat de reprezentri sugestive ale
datelor numerice. Astfel de prezentri permit analiza sistemelor
mult mai sugestiv dect datele prezentate n tabele.
-
Grafic Inginereasca-note de curs
10
n tehnologia multimedia prezentarea de imagini grafice
sintetizate, texte, imagini video i sunet sunt integrate ntr-o
singur aplicaie (de instruire interactiv, teleconferine, etc).
Conexiunea dintre generarea de imagini tridimensionale i
prezentarea de imagini video animate reprezint cel mai important
aspect al soluiei multimedia.
Realitatea virtual este tehnica prin care se obine imersiunea
(total sau parial) a observatorului ntr-un mediu tridimensional
generat interactiv de calculator.
Realitatea Virtual a cunoscut n ultimii ani o imens dezvoltare i
publicitate. n reviste, magazine, la televiziune, s-a prezentat
aceast nou i fantastic tehnologie din cele mai variate puncte de
vedere. Cuvntul virtual este folosit n mod obinuit n domeniul
calculatoarelor pentru a desemna o entitate care simuleaz o alt
entitate. De exemplu, termenul memorie virtual se refer la
simularea memoriei principale prin memoria hard-discului. Cuvntul
realitate se refer la mediul perceput de om prin intermediul
simurilor. Deoarece realitatea este perceput prin intermediul
simurilor, este posibil alterarea acesteia prin modificarea datelor
percepute de unul sau mai multe simuri. De aceea, Realitatea
Virtual se refer la modalitatea prin care calculatorul modific
modul n care o persoan percepe realitatea, prin simularea unei alte
realiti. Aceast realitate, sau mediu, simulat de calculator este
numit Realitate Virtual. Dintre cele cinci simuri care sunt
folosite pentru percepia realitii, nu toate sunt la fel de
importante n crearea unui mediu virtual. Simul gustului i al
mirosului au aciuni limitate n perceperea realitii (cu excepia
servirii mesei!) i puine cercetri au fost efectuate pentru
folosirea lor n medii virtuale. Simul tactil este mult mai util,
mai ales atunci cnd se manipuleaz obiecte n mediul virtual.
Greutatea, temperatura, duritatea, rezistena la efort, toate aceste
informaii se obin prin simul tactil. Din acest motiv, cercetri
importante au fost fcute pentru a simula atingerea obiectelor
virtuale i, n momentul de fa, experimentele n mediul virtual permit
generarea informaiilor tactile. Cele mai importante simuri folosite
n realitatea virtual sunt vzul i auzul, deoarece cele mai multe
informaii despre mediul nconjurtor se obin prin intermediul ochilor
i al urechilor. Din acest motiv, cele mai multe cercetri n domeniul
realitii virtuale au fost fcute n domeniul generrii imaginii i a
sunetelor. Dintre aplicaiile cele mai importante ale realitii
virtuale se pot enumera:
Simulatoare de antrenament, n special simulatoare de zbor, n
care se pot exersa manevre dificile, fr a pune n pericol viaa
pilotului sau securitatea aparatului de zbor.
Proiectare n diferite domenii de activitate (construcii,
arhitectur). Proiectantul are posibilitatea s vad rezultatele
proiectului sub forma imaginii acestuia n timp real, s observe
detaliile mpreun cu alte persoane interesate, i s ia decizii de
modificare nainte de construirea prototipului.
Vizualizarea tiinific, prin care se obine imaginea diferitelor
modele sau fenomene inaccesibile de fi observate altfel (structuri
atomice, fluxuri de informaie, etc).
n domeniul medical, n special chirurgie, se pot efectua
experimente la rece de nvare a diferitelor proceduri fr riscul
vieii pacientului.
-
Grafic Inginereasca-note de curs
11
Jocurile distractive i filmele de animaie sunt unele din cele
mai cunoscute aplicaii de realitate virtual.
n aplicaiile de realitate virtual pot fi nglobate un numr
diferit de componente care asigur un anumit grad de imersiune, adic
de senzaie a prezenei participantului n mediul virtual: sistem de
vizualizare, sistem de sunet, sistem de urmrire a poziiei capului i
a minii, sistem generare a senzaiei tactile i a forei de reacie. n
diferite aplicaii de realitate virtual, unele dintre aceste
sisteme, cu excepia sistemului de vizualizare, pot s lipseasc.
Sistemul de vizualizare este componenta cea mai important a
aplicaiilor de realitate virtual i exist unele categorii de
aplicaii de realitate virtual (aplicaii de realitate virtual
desktop) dezvoltate numai pe baza generrii imaginii mediului
virtual. n aplicaiile de realitate virtual desktop, imaginea vizual
a mediului virtual tridimensional este afiat pe monitorul unui
calculator (n general PC). Participantul intercioneaz cu mediul
virtual prin dispozitive de intrare standard (tastatur, mouse,
joystick). Aceste sisteme permit observarea mediului virtual
printr-o fereastr (ecranul monitorului) i de aceea se mai numesc
sisteme WoW (Window on the World). Sunt cele mai simple i mai
ieftine sisteme de realitate virtual, dar este de ateptat ca astfel
de sisteme s cunoasc n viitor dezvoltri spectaculoase, datorit
apariiei unui mare numr de acceleratoare grafice care permit
redarea n timp real a unor imagini realiste.
Crearea unui mediu virtual, n care se pot efectua diferite
experimente, este un proces care necesit dou componente importante,
i anume crearea modelului scenei virtuale i vizualizarea scenei
virtuale. Crearea modelului scenei virtuale (mai pe scurt, crearea
scenei virtuale) este un proces off-line i, de cele mai multe ori,
de durat considerabil, prin care se creeaz colecia de modele ale
obiectelor tridimensionale care constituie cea mai adecvat
reprezentare a mediului virtual.
Vizualizarea scenelor virtuale este un proces on-line, care se
desfoar n timp real, cu participarea uneia sau mai multor persoane,
n care scena virtual este explorat n mod interactiv, i, n fiecare
moment, imaginea scenei redat pe display depinde de condiiile de
explorare (poziie de observare, aciuni interactive, etc).
Primul standard grafic a fost standardul GKS (Graphical Kernel
System) elaborat de ISO n 1985, care coninea un set de funcii
grafice 2D independente de echipament. Acest standard a fost extins
n anul 1988 la GKS 3D, care conine funcii 3D independente de
echipament.
Un alt standard, PHIGS (Programmers Hierarchical Graphical
System) este un standard 3D care permite n plus organizarea
ierarhic a modelelor obiectelor i a scenelor virtuale.
Bibliotecile grafice cele mai generale sunt bibliotecile grafice
care implementeaz un anumit standard n definirea funciilor de acces
la echipamentele hardware. Cele mai cunoscute biblioteci grafice
sunt OpenGL, DirectX, QuickDraw, care sunt implementate n numeroase
sisteme grafice.
n momentul de fa, situaia cea mai obinuit n crearea aplicaiilor
grafice este aceea n care se poate folosi un calculator care
dispune de faciliti grafice (adaptoare, acceleratoare, drivere,
biblioteci) care permit programarea la nivel nalt, de cele mai
multe ori complet independent de dispozitivele hardware. Biblioteci
grafice cum sunt OpenGL sau DirectX asigur accesul la funcii
grafice adaptate i optimizate pentru dispozitivele grafice
disponibile ale sistemului. De aceea, n lucrare s-a acordat o
mai
-
Grafic Inginereasca-note de curs
12
mic ntindere descrierii unor funcii existente n biblioteci (de
exemplu funciile de generare a segmentelor de linie dreapt, a
cercurilor, etc.) i accentul s-a ndreptat ctre prezentarea
metodelor de baz de generare a imaginilor i a modului n care
acestea se pot aplica folosind limbaje i biblioteci grafice de
nivel nalt.
Programele grafice propuse n aceast carte se prezint sub forma
de cod C, C++ i, uneori, pseudocod asemntor limbajului C.
Biblioteca grafic OpenGL este folosit intens, datorit portabilitii
i disponibilitii acesteia n aproape toate calculatoarele, de la
calculatoare PC pn la staii grafice puternice, sub un numr mare de
sisteme de operare i apelabil din numeroase sisteme de dezvoltare
(toolkit).
Scopul prezentei lucrri este acela de a da o descriere unificat
a principalelor metode de generare a imaginilor tridimensionale
mpreun cu aspecte de implementare care s faciliteze sarcina
programatorului de a aborda acest domeniu de aplicaii diversificat
i n permanent cretere. n acest sens, aproape toate imaginile
ilustrative ale diferitelor tehnici au fost produse de autor prin
programe grafice descrise n text. Concepte de baza folosite in
grafica inginereasca
1. Sistem grafic = ansamblul de echipamente si programe
aplicative de prelucrare grafica
Sunt clasificate in : - Sisteme grafice de sinteza grafica se
porneste de la un model (model
creat de programator sau utilizator), care e prelucrat folosind
algoritmi de sinteza. Rezulta o imagine codificata numeric si se
ajunge la imagine digitala care este afisata pe un dispozitiv de
afisare
- Sisteme grafice de analiza/ prelucrare a imaginii se porneste
de la imaginea reala care e discretizata folosind un scaner sau un
dispozitiv multimedia, rezultatul operatiei fiind imaginea
digitalam codificata numeric. Asupra acestei imagini se aplica
algoritmi de prelucrare iar rezultatul acestei prelucrari e tot o
imagine care va fi afisata, sau algoritmi de analiza iar rezultatul
va fi un model imaginar
2. Grafica interactiv = cadrul conceptual care consta din:
- programul aplicaie creeaz, memoreaz i prelucreaz date de la
modelul grafic. Trateaz comenzile de la utilizator furnizate de
sistemul grafic care preia evenimentele de la echipamentele de
intrare ( de regula mouse si tastatura)
- sistemul grafic va produce imaginea la dispozitivul de
afisare, el fiind implementat (realizat) fie sub forma unor
subroutine intr-o biblioteca grafica, fie un dispozitiv hardware
(un processor de afisare) capabil sa genereze comenzi de
desenare.
modelul aplicatie cuprinde o descriere a obiectelor ce compun
imaginea. Aceasta descriere se face prin atribute geometrice
(pozitie, dimensiune, orientare) si atribute de afisare (culoare,
tip linie, tip interior etc.).
-
Grafic Inginereasca-note de curs
13
Fig. 1.1
Fig. 1.2 -
Fig. 1.3
Pentru reprezentarea modelului se pot folosi structuri simple
(vectori,
coordonate vrfuri) sau complexe (proprietari, conectivitate,
restricii). Obs. Nu orice program folosete un model. Obiectele din
model sunt definite intr-un spaiu
Imagine reala
Discretizare
Imagine codificata numeric
Algoritmi de analiza
Algoritmi de prelucrare
Model
Afisare
Programator/utilizator
model
Algoritmi de sinteza
Imagini codificate numeric
Dispozitive de afisare
Model aplicaie Program aplicaie Sistem grafic
Dispozitiv de afiare
Dispozitiv de input (mouse, tastatura)
-
Grafic Inginereasca-note de curs
14
independent de dispozitivul de afiare. Programul aplicativ
creeaz i memoreaz baza de date grafice pornind de la modelul
aplicativ, preia si prelucreaz comenzile venite de la dispozitivul
de intrare, genereaz primitivele grafice si a comenzilor de
desenare care vor fi interpretate de sistemul grafic, face
transformarea in coordonate pentru dispozitivul de afiaj. Aceasta
se poate realiza prin :
- Tratarea evenimentelor de intrare (obinute de la mouse si
tastatura) - Generarea primitivelor geometrice si a comenzilor de
afiare ce vor fi
interpretate de dispozitivul de afiaj Sistemul grafic in acest
caz este un set de subrutine ce corespund primitivelor
grafice, atributelor lor de afiare, alte elemente si atribute
ale imaginii. Aceste subrutine sunt constituite sub forma unui
pachet sau biblioteca grafica ce poate fi utilizata in limbaje de
programare de nivel nalt.
O aplicaie grafic, indiferent de domeniul creia i este destinat,
se dezvolt ntr-un sistem care prezint anumite faciliti grafice,
sistem numit la modul general sistem grafic.
Un sistem grafic este un calculator care dispune de componente
hardware i software pentru crearea sau prelucrarea imaginilor.
Componenta hardware cea mai important a unui sistem grafic este
adaptorul (sau acceleratorul) grafic, prin intermediul cruia este
comandat un dispozitiv de afiare (display) color. La aceasta se mai
adaug diferite dispozitive de intrare (tastatur, mouse, joystick,
trackball, interfee specializate) care asigur interaciunea
utilizatorului cu programul de aplicaie.
n programarea aplicaiilor grafice intervin mai multe componente
software, care asigur crearea imaginilor pe display (Fig. 1.4).
Programul de aplicaie grafic se dezvolt pe baza unor sisteme de
dezvoltare de aplicaii (toolkit-uri) sau direct, prin utilizarea
unor biblioteci grafice care asigur interfaa cu echipamentul
hardware prin intermediul driverelor sistemului de operare.
Sistemele de dezvoltare sunt de cele mai multe ori orientate ctre
aplicaie i prevd un set de funcii de nivel nalt care permit crearea
unui anumit tip de aplicaie. De exemplu, exist toolkit-uri pentru
generarea obiectelor i a scenelor virtuale (3d Studio, Autocad,
AC3d, Sense8, Designer Workbench, etc), toolkit-uri pentru redarea
imaginii scenelor virtuale (Performer, browser Cosmo Player,
etc).
Echipament hardware
Sistem de operare
Biblioteci grafice
Sistem de dezvoltare de aplicaii (toolkit)
Programul de aplicaie
Utilizator
Fig. 1.4 Componentele necesare pentru crearea aplicaiilor
grafice.
-
Grafic Inginereasca-note de curs
15
Bibliotecile grafice sunt pachete de funcii care asigur interfaa
programului de aplicaie (creat direct sau prin intermediul unui
toolkit care apeleaz funciile bibliotecii) cu echipamentele
hardware ale sistemului grafic.
Bibliotecile grafice reprezint nivelul de programare n care se
ncearc introducerea portabilitii programelor grafice, prin
asigurarea unei interfee independente de echipamentele hardware
care s respecte anumite convenii de reprezentare a entitilor
grafice descrise n standarde.
Primul standard grafic a fost standardul GKS (Graphical Kernel
System) elaborat de ISO n 1985, care coninea un set de funcii
grafice 2D independente de echipament. Acest standard a fost extins
n anul 1988 la GKS 3D, care conine funcii 3D independente de
echipament.
Un alt standard, PHIGS (Programmers Hierarchical Graphical
System) este un standard 3D care permite n plus organizarea
ierarhic a modelelor obiectelor i a scenelor virtuale.
Bibliotecile grafice cele mai generale sunt bibliotecile grafice
care implementeaz un anumit standard n definirea funciilor de acces
la echipamentele hardware. Cele mai cunoscute biblioteci grafice
sunt OpenGL, DirectX, QuickDraw, care sunt implementate n numeroase
sisteme grafice.
n momentul de fa, situaia cea mai obinuit n crearea aplicaiilor
grafice este aceea n care se poate folosi un calculator care
dispune de faciliti grafice (adaptoare, acceleratoare, drivere,
biblioteci) care permit programarea la nivel nalt, de cele mai
multe ori complet independent de dispozitivele hardware. Biblioteci
grafice cum sunt OpenGL sau DirectX asigur accesul la funcii
grafice adaptate i optimizate pentru dispozitivele grafice
disponibile ale sistemului. De aceea, n lucrare s-a acordat o mai
mic ntindere descrierii unor funcii existente n biblioteci (de
exemplu funciile de generare a segmentelor de linie dreapt, a
cercurilor, etc.) i accentul s-a ndreptat ctre prezentarea
metodelor de baz de generare a imaginilor i a modului n care
acestea se pot aplica folosind limbaje i biblioteci grafice de
nivel nalt.
Programele grafice propuse n aceast carte se prezint sub forma
de cod C, C++ i, uneori, pseudocod asemntor limbajului C.
Biblioteca grafic OpenGL este folosit intens, datorit portabilitii
i disponibilitii acesteia n aproape toate calculatoarele, de la
calculatoare PC pn la staii grafice puternice, sub un numr mare de
sisteme de operare i apelabil din numeroase sisteme de dezvoltare
(toolkit).
Scopul prezentei lucrri este acela de a da o descriere unificat
a principalelor metode de generare a imaginilor tridimensionale
mpreun cu aspecte de implementare care s faciliteze sarcina
programatorului de a aborda acest domeniu de aplicaii diversificat
i n permanent cretere. n acest sens, aproape toate imaginile
ilustrative ale diferitelor tehnici au fost produse de autor prin
programe grafice descrise n text. Limbaje i biblioteci grafice
Pentru diferite limbaje de programare bibliotecile grafice au
funcii variate ce pot fi mprite n mai multe clase. Pentru a putea
folosi funciile de grafic n cadrul programelor scrise n limbajul C
trebuie s se includ fiierul header graphics.h prin directiva
#include , iar n limbajul Pascal cu ajutorul instruciuniii uses n
urmtorul mod: uses graph. n acest mod sunt recunoscute i
variabilele predefinite sau abloanele unor structuri. Pentru a
pitea utiliza funciile de grafic mai sunt necesare fiierele de tip
BGI (Borland Graphics Interface), care conin codul obiect al
driverelor specifice diferitelor
-
Grafic Inginereasca-note de curs
16
interfee grafice i cele de tip CHR ce conin stiluri suplimentare
de litere. Lucrul cu biblioteca grafic Borland presupune n
prealabil deschiderea, folosirea funciilor i apoi nchiderea ei.
Pentru aceste limbaje putem distinge urmtoarele clase de funcii:
Funcii de intrare/ieire n/din regim grafic i interogarea modului i
adaptorului grafic. Din aceast clas de funcii fac parte cele ce
iniializeaz modul grafic, cum ar fi intergraph, pentru nchiderea
modului grafic; closegraph, pentrudetectarea parametrilor
adaptorului grafic; detectgraph, pentru obinerea modului grafic ca
numr getgraphmode i ca nume (ir de caractere) getmodename i a
numelui driverului getdrivername. Funcii pentru determinarea sau
setarea parametrilor sistemului grafic. La iniializare parametrii
iau valori implicite, dar aceste valori pot fi schimbate n funcie
de necesiti. Parametrii sistemului grafic constau din variabile
elementare, ce pot fi grupate n diferite structuri predefinite n
fiierul header respectiv. Din aceast categorie de funcii o putem
aminti pe cea care determin parametrii de trasare a unei drepte
(stilul liniei, grosimea ei), getlinesettings. n general cele care
seteaz parametrii ncep cu set de exemplu funcia setfillstyle, ce se
folosete pentru umplere i seteaz pattern-ul de umplere i
culoarea.
Tot de aceast clas de funcii aparin i cele ce seteaz poziia
cursorului moveto la o poziie absolut sau relativ la poziia
anterioar moverel.
n regim grafic, pentru unele moduri grafice se poate activa o
pagin i o alta s apar pe ecran. Acest lucru este posibil prin
intermediul funciilor: setactivepage i setvizualpage. Pentru
desemnarea unui vizor se folosete funcia setviewport. Funcii de
captare i diagnosticare erori. Dup executarea oricrei funcii
grafice, exist posibilitatea producerii unor erori. n acest sens
exist funcia graphresult, care ntoarce un cod de eroare ce poate fi
explicitat printr-un mesaj (ir de caractere) cu ajutorul funciei
grapherrormsg. Funcii de lucru cu texte n mod grafic. pentru a
scrie texte n mod grafic trebuie s se stabileasc anumite
caracteristici ale caracterelor, i anume fontul, direcia de scriere
i mrimea lor. n acest sens exist funciile: settextstyle - ce fixeaz
parametrii menionai mai sus; settextjustify - care are ca efect
centrarea textului de scris; textheight - ce stabilete n concordan
cu fontul activ nlimea n pixeli a unui caracter; textwidth - care
returneaz n funcie de fontul curent lungimea n pixeli a irului.
Scrierea propriu-zis a irului se face cu funcia outtext sau cnd se
dorete o poziie fix la care s se scrie textul pe ecran se va folosi
funcia outtextxy.
Informaiile ce controleaz scrierea textelor n regim grafic sunt
grupate n structura textsettingstype, care poate fi citit folosind
funcia gettextsettings. Funcii pentru gestiunea culorii. Din aceast
clas de funcii le putem meniona pe cele care obin culoarea
(fond-fa) getcolor, citirea paletei de culori se face de ctre
funcia getpallete, iar setpallete o seteaz. Pentru a obine culoare
unui pixel de la o anumit coordonat se folosete funcia getpixel,
Funcii pentru reprezentri geometrice. n cadrul biblioteciigrafice
exist funcii pentru reprezentarea unui punct putpixel, pentru
trasarea unei drepte line, linerel, lineto, trasare a unui poligon
drawpoly, pentru cerc circle , pentru dreptunghi rectangle, pentru
elipsa ellipse, pentru arce arc etc Funcii pentru gestiunea
imaginilor. Din aceast clas de funcii reprezentative sunt cele
pentru obinerea unei imagini de pe ecran getimage i punerea unei
imagini pe ecran putimage. Alturi de acestea mai sunt cele care
obin dimensiunea n baii a
-
Grafic Inginereasca-note de curs
17
zonei de memorie necesar pentru a stoca imaginea imagesize i cea
care umple un contur floodfill.
Programul de aplicaie grafic se dezvolt pe baza unor sisteme de
dezvoltare de aplicaii (toolkit-uri) sau direct, prin utilizarea
unor biblioteci grafice care asigur interfaa cu echipamentul
hardware prin intermediul driverelor sistemului de operare.
Sistemele de dezvoltare sunt de cele mai multe ori orientate ctre
aplicaie i prevd un set de funcii de nivel nalt care permit crearea
unui anumit tip de aplicaie. De exemplu, exist toolkit-uri pentru
generarea obiectelor i a scenelor virtuale (3d Studio, Autocad,
AC3d, Sense8, Designer Workbench, etc), toolkit-uri pentru redarea
imaginii scenelor virtuale (Performer, browser Cosmo Player,
etc).
Bibliotecile grafice sunt pachete de funcii care asigur interfaa
programului de aplicaie (creat direct sau prin intermediul unui
toolkit care apeleaz funciile bibliotecii) cu echipamentele
hardware ale sistemului grafic.
Bibliotecile grafice reprezint nivelul de programare n care se
ncearc introducerea portabilitii programelor grafice, prin
asigurarea unei interfee independente de echipamentele hardware
care s respecte anumite convenii de reprezentare a entitilor
grafice descrise n standarde.
Primul standard grafic a fost standardul GKS (Graphical Kernel
System) elaborat de ISO n 1985, care coninea un set de funcii
grafice 2D independente de echipament. Acest standard a fost extins
n anul 1988 la GKS 3D, care conine funcii 3D independente de
echipament.
Un alt standard, PHIGS (Programmers Hierarchical Graphical
System) este un standard 3D care permite n plus organizarea
ierarhic a modelelor obiectelor i a scenelor virtuale.
Bibliotecile grafice cele mai generale sunt bibliotecile grafice
care implementeaz un anumit standard n definirea funciilor de acces
la echipamentele hardware. Cele mai cunoscute biblioteci grafice
sunt OpenGL, DirectX, QuickDraw, care sunt implementate n numeroase
sisteme grafice.
n momentul de fa, situaia cea mai obinuit n crearea aplicaiilor
grafice este aceea n care se poate folosi un calculator care
dispune de faciliti grafice (adaptoare, acceleratoare, drivere,
biblioteci) care permit programarea la nivel nalt, de cele mai
multe ori complet independent de dispozitivele hardware. Biblioteci
grafice cum sunt OpenGL sau DirectX asigur accesul la funcii
grafice adaptate i optimizate pentru dispozitivele grafice
disponibile ale sistemului. De aceea, n lucrare s-a acordat o mai
mic ntindere descrierii unor funcii existente n biblioteci (de
exemplu funciile de generare a segmentelor de linie dreapt, a
cercurilor, etc.) i accentul s-a ndreptat ctre prezentarea
metodelor de baz de generare a imaginilor i a modului n care
acestea se pot aplica folosind limbaje i biblioteci grafice de
nivel nalt.
Programele grafice propuse n aceast carte se prezint sub forma
de cod C, C++ i, uneori, pseudocod asemntor limbajului C.
Biblioteca grafic OpenGL este folosit intens, datorit portabilitii
i disponibilitii acesteia n aproape toate calculatoarele, de la
calculatoare PC pn la staii grafice puternice, sub un numr mare de
sisteme de operare i apelabil din numeroase sisteme de dezvoltare
(toolkit).
Scopul prezentei lucrri este acela de a da o descriere unificat
a principalelor metode de generare a imaginilor tridimensionale
mpreun cu aspecte de implementare care s faciliteze sarcina
programatorului de a aborda acest domeniu de aplicaii diversificat
i n permanent cretere. n acest sens, aproape toate imaginile
ilustrative ale diferitelor tehnici au fost produse de autor prin
programe grafice descrise n text.
-
Grafic Inginereasca-note de curs
18
Productivitatea muncii de proiectare n o serii de domenii
particulare a crescut semnificativ n ultimii ani, sistemele CAD
conducnd la productiviti de trei ori mai mari. De exemplu n cazul
desenrii automate fa de desenarea manual aceste creteri
spectaculoase se datoresc n primul rnd schimbrii mentalitii celor
care scriu software-ul pentru sistemele de proiectare asistat de
calculator; pachetele de programe nu au mai fost dezvoltate ntr-o
manier orientat spre programator ci spre utilizator. Schimbarea de
mentalitate, corelat cu disponibilitatea pe o scar tot mai mare a
unor echipamente grafice adecvate i la preuri accesibile, s-a
concretizat n apariia a numeroase sisteme CAD, CAM i mai nou CAE.
Toate aceste sisteme se bazeaz pe sisteme grafice interactive care
permit o comunicare om-calculator intermediat de imagini n funcie
de comoditatea i generalitatea utilizrii lor, sistemele grafice pot
fi ierarhizate astfel:
1) sisteme la cheie (hardware i software); 2) sisteme aplicative
(numai software); 3) pachete de subrutine grafice; 4) sisteme de
instrumente grafice independente de dispozitiv; 5) software
furnizat de fabricantul de echipamente grafice (driver de
dispozitiv)..
Dezvoltarea unui sistem aplicativ puternic, care s rezolve
problemele dintr-un domeniu bine precizat, necesit un efort de
programare considerabil. Utilizatorul unui astfel de sistem dorete
protecia investiiilor sale n software n sensul unor modificri
minime ale sistemului n cazul introducerii n configuraie a unor noi
echipamente grafice. Aceasta implic crearea unor sisteme aplicative
independente de dispozitivele fizice din configuraie, precum i
standardizarea: a) sistemelor software de instrumente grafice
independente de dispozitiv; b) interfeei dintre instrumentele
grafice i dispozitivul fizic; c) metafiierul de imagini.
n acest sens la proiectarea i implementarea unui sistem grafic
independent trebuie s se in seama de urmtoarele considerente: 1)
Programul aplicativ face referine la unul sau mai multe dispozitive
grafice virtuale. n momentul lansrii n execuie, programul aplicativ
selecteaz unul sau mai multe dispozitive fizice cu care le
nlocuiete pe cele virtuale. 2) Fiecare dispozitiv fizic este
suportat de un driver de dispozitiv, care interpreteaz comenzile
independente de dispozitiv i le pune n coresponden cu instruciunile
dependente de dispozitiv corespunztoare pentru a genera desene sau
a obine intrri de la dispozitivele grafice reale (comenzile
virtuale care nu au corespondene n instruciuni hardware sunt
simulate prin software: de exemplu, colorarea unui poligon - fill
polygon - se execut prin firmware pe un dispozitiv cu rastru, iar
pe plotter se simuleaz prin haurare). 3) Programul aplicativ
definete obiectele grafice folosind primitive grafice prin
coordonate reale n 2D sau 3D. 4) Primitivele se grupeaz n segmente;
segmentele sunt exclusive. Desenul afiat la un moment dat pe ecran
este compus din unul sau mai multe segmente care pot fi
identificate prin nume i care se pstreaz ntr-o memorie de date
specifice structurate pe segmente. Aceast structur de date grafice
este independent de structura de date a oricrui program aplicativ.
5) Dispozitivul grafic virtual are o zon adresabil, independent de
dispozitiv, numit sistemul de coordonate virtuale.
-
Grafic Inginereasca-note de curs
19
6) Programul aplicativ definete corespondena de la o regiune
dreptunghiular din sistemul de coordonate reale - numit fereastr -
la o regiune dreptunghiular din sistemul de coordonate virtuale -
numit vizor. Aceast coresponden se numete transformarea de
vizualizare. 7) Transformarea de vizualizare poate fi utilizat
pentru a defini poziia i orientarea unui ptrat fotografic virtual n
sistemul de coordonate real 3D. Se definesc astfel proiecii
paralele , de perspective i oblice. 8) Transformarea de vizualizare
"fotografiaz" un obiect n coordonate reale. nainte de a face
"fotografia", programul aplicativ poate scala, translata, roti sau
elimina liniile exterioare, obiectul folosind o transformare de
modelare specificat n coordonate reale. 9) Dispozitivul grafic
virtual suport funcii de intrare grafic virtual, independente de
dispozitiv, care pot fi asociate cu segmente identificate prin
nume, pentru a manipula dinamic imaginea acestor segmente pe
dispozitiv fizic. Driver-ul dispozitivului pune n coresponden
dispozitivul de introducere real cu funciile de intrare
virtuale.
Rezumnd, independena de aplicaie i de dispozitive grafice a unui
sistem grafic se obine prin respectarea a dou deziderate:
a)izolarea datelor programului aplicativ de datele sistemului
grafic i limitarea accesului programului aplicativ la rutinele
independente de dispozitiv; b) virtualizarea echipamentelor
grafice.
Al doilea deziderat se realizeaz prin implementarea unui pachet
de subrutine grafice generale, apelabile din programul aplicativ,
care trimit coduri de funcii i parametri - asemntoare directivelor
de intrare/ieire din sistemul de operare - prin intermediul unei
interfee virtuale cu dispozitivul VDI- (Virtual Device
Interface)
. i.2. Tehnologii de afisare Exista doua tehnologii Tehnologia
vectoriala (caligrafica, Stroke). Vectorul este definit de un
segment de dreapta deci este definit prin coordonatele
extremitilor. Literele sunt create din segmente de linii
scurte.
-
Grafic Inginereasca-note de curs
20
Fig. 1.5
Un asemenea sistem are urmtoarea structura:
Procesor de afiare care comunica cu o memorie video tampon
(buffer) care conine comenzi.
Line (150,200) Move to Char Jump Acest program ce genereaz
imagini se termina cu o instruciune de start la
nceputul programului. Mai exist i alte interfee cu calculatorul.
Procesorul de afiare primete comenzi de afiare si furnizeaz date
de
interaciune primite de la dispozitivele de intrare (Mouse,
tastatura etc). Procesorul de afiare genereaz imaginea la un
dispozitiv de afiare (fie cu tub catodic CRT, sie cu cristale
lichide LCD, fie cu laser fie holografic)
O coordonata a unui punct (x,y) este transmis de procesorul de
afiare modului generator de vector care convertete valoarea
numerica ntr-o tensiune analogica ce comanda sistemul de deflexie a
CRT. Acesta va conduce fluxul de electroni din punctul iniial in
punctul final al vectorului. O astfel de generare se numete scanare
aleatoare sau random scan.
Persistena imaginii este de 10-100 milisecunde pe CRT. Imaginea
se remprospteaz periodic. Data de remprosptare (rata de refresh)
este de minim 30 sec, f=30Hz (no flicker adic imaginea nu plpie).
Pentru generarea ciclica a imaginii procesorul de afiare executa
programul i la sfrit sare la nceput (instructiunea jump. Pentru a
asigura 30 Hz programul grafic nu poate depi cteva mii de linii si
de aici rezulta o limitare a complexitii imaginii cauzata de rata
de refresh..
Tehnologia raster. Structura sistemului e asemntoare (in anii
1970 a fost introdusa si in televiziune)
Interfaa cu calculatorul
Memorie video Line (150,200) Move to Char Jump .
Procesor de afisare
Disp de afisare
Date si interaciune
-
Grafic Inginereasca-note de curs
21
Fig.1.6
Memoria video un contine programe ci imaginea formata din puncte
(pixeli) care va fi afisata pe ecran. Procesorul de afisare poate
exista ca o componenta soft inclusa in biblioteda grafica pentru PC
sau oricare statii grafice de cost scazut; memoria video este o
zona din memoria UCP (unitatii centrale de procesare). Procesorul
de afisare poate fi si o componenta hard ( RIP Raster Image
Processor) care actioneaza ca un accelerator in orice coprocesor in
sistemul grafic. Imaginea e afisata de controler. Se afiseaza in
linii orizontale linie cu linie pe verticala.
Fig. 1.7
Afiarea e ciclic pentru ca imaginea sa fie stabil (s nu plpie i
s nu scad n intensitate). Rata de remprosptare este de 30-60 Hz sau
mai mult in funcie de rezoluie. Imaginea codificat n memoria video
va folosi 1 bit/pixel pentru imaginea monocrom i n biti/pixel
pentru imaginea color
n=8 pentru 256 culori distincte simultan pe ecran n=24 pentru
true color 8 biti pentru fiecare din RGB n=32 24 biti pentru
fiecare din RGB8 biti pentru control
Cursa de ntoarcere orizontala
Cursa de ntoarcere vertical
Interfaa cu calculatorul gazda
Comenzi de afiare Date de interactiune
Procesor de afiare
Controler video
Monitor Mouse
Memorie video
00000100000 00111100001 01111011101 10000001000
pixeli
-
Grafic Inginereasca-note de curs
22
n=96 2x32 biti pentru reprezentarea culorilor in doua buffere
distincte (unul care se afieaz, unul pentru imaginea urmtoare),
sistem double buffer (pentru animaii) si 32 de biti pentru
algoritmul de determinare a vizibilitii - z buffer (uor de
implementat hard), care determina profunzimea imaginii pe direcia
z, perpendiculara pe ecran. Avantajele si dezavantajele tehnologiei
raster Avantaje
- independenta ratei de refresh de complexitatea imaginii de
afiat - posibilitatea de a reprezenta suprafee opace sau texturi
(model)
Dezavantaje - reprezentarea imaginii in memoria video sub forma
de pixeli necesita algoritmi
de conversie sau de scanare specifici ( de exemplu algoritmul
Bressenham pentru generare linii). Conversia exist la nivelul
procesorului de afiare fie sub forma de subrutine fie sub forma
hardware
- reprezentarea aproximativa a primitivelor grafice prin puncte
care au un efect vizual nedorit aliasing care se datoreaz
eantionrii unei funcii continuii de o variabil i care poate
prezenta modificri brute care nu pot fi corect eantionate. Exista
tehnici antialiasing prin determinarea unor intensiti de curbare
gradata pentru pixelii vecini de pe marginile obiectelor
reprezentate.
Portabilitate si standarde grafice
Primele pachete grafice scrise erau dependente de dispozitiv in
limbaje low-level pentru fiecare dispozitiv. Acestea au evoluat
spre pachete independente de dispozitiv completate cu scrierea in
limbaje de nivel nalt. Ca o necesitate rezultata de aici se poate
meniona portabilitatea aplicaiilor si necesitatea standardizrii
unui sistem grafic. Prima specificaie de sistem grafic 3D a fost
specificaia Core 1977 USA propusa de ACM SIGGRAPH. A fost urmat de
standardul GKS, ca o specificaie a unui SGBD aparuta in 1985 si
extinsa in 1988 la GKS-3D reprezentarea se face pe segmente dar
acestea nu sunt imbricate. Tot in 1988 in SUA apare un nou standard
PHIGS (Programms Hierarhical Interactive Graphics Systems)
In ambele standarde exista posibilitatea gruparii primitivelor
grafice in segmente dar care nu pot fi imbricate, dar in cadrul
PHIGS primitivele pot fi grupate in structuri care pot fi incluse
ierarhic una in alta. PHIGS + - standard completat cu tehnici de
redare pseudorealista a scenelor 3D si astfel se poate realiza
simularea simpla a legilor optice privind doar reflexia luminii
intre obiecte.
Standarde pentru memorarea imaginilor in fisiere CGM imaginile
memorate folosesc un limbaj de descrire IGES imagini grafice si
text
Interfetele grafice : WIN, XWIN = standarde grafice OpenGL= ce
asigura portabilitatea aplicatiilor pe masini cu sisteme de operare
diferit Glut =OpenGL utility toolkit
Echipamente grafice - de afisare (ecran cu tub catodic CRT, cu
cristale lichide LCD, cu plasma) - de trasare si imprimare
(hardcopy) (plotter si printer)
-
Grafic Inginereasca-note de curs
23
- de intrare (mouse si tastatura) Resurse hardware un procesor
performant la care se conecteaza un procesor grafic i.3. Soluii
CAD
nainte de a vedea care sunt opiunile n privina platformelor CAD
(numite frecvent i medii CAD). Cu programele din aceast categorie
se poate face:
Desenare nelimitat bidimensional i tridimensional (creare de
entiti geometrice simpole sau complexe);
Dimensionare i haurare (de obicei asociative, ceea ce nseamn c
dup o eventual modificare a conturului/geometriei obiectului crora
le sunt asociate, cota i respectiv haura se refac automat, fr
intervenia utilizatorului);
Includerea de blocuri i gestionarea acestora: un bloc este un
grup de elemente grafice predefinit pentru inserare ulterioar
repetat ( simbol), cruiua i se pot asocia seturi de proprieti sau
chiar comportamente sub form de constrngeri geometrice sau de
parametrizri;
Folosirea fiierelor referin; fiierul referin este un desen CAD,
existent ca fiier extern pe disc, ce poate fi afiat read-only n
cadrul desenului curent pentru a asigura diverse referine
(poziionri, repere, comparaii etc.) sauz pentru a completa
compoziia grafic ;
Umbrirea sau randarea (renderizarea) modelului tridemensional:
generarea unui aspect cvasi-real obiectelor proiectate prin
repreazentarea de culori, texturi, modele, lumini, umbre, reflexii
etc;
Modelarea de solide tridimensionale (opional) crearea/editarea
de corpuri pline acceptnd operaii booleene de unire, intersecie
diferen, precum i asocierea de proprieti descriptive i
intercomportamentale;
Definirea de legturi cu baze de date externe pentru asocieri
informaionale cu obiectele desenate Sistemele de producie integrate
domeniu destul de nou i de vast genereaz
confuzii i interpretri personale. Drept urmare n cele ce urmeaz
sunt expuse componentele acestor sisteme, urmnd ca n final s
identificm locul ocupat de grafica inginereasc.
Sistemele de producie integrate cu calculatorul pun oamenii,
tehnologia, produsele i procesele mpreun ntr-un singur sistem
integrat. Ele au un mare potenial n a reduce pierderile rezultate
din volumul mare de munc din cadrul sistemelor de producie
tradiional i din procentul foarte sczut de utilizare a
echipamentelor performante din cadrul acestora. Domeniile
principale de manifestare sunt: a) Proiectare constructiv asistat
de calculator (Computer Aided Design, - CAD); desemneaz la modul
cel mai generic domeniul proiectrii asistate de calculator, cruia i
se pot subsuma urmtoarele ramuri: CADD activitatea de proiectare i
desenare (2D i 3D), adic de producere a planurilor i/sau desenelor
tehnice n format vectorial; MCAD desemneaz proiectarea de piese i
ansambluri mecanice; AEC se refet la proiectarea arhitectural a
construciilor industriale i civile, precum i la ingineriile
complementare (studii de amplasament i urbanism,
-
Grafic Inginereasca-note de curs
24
modelarea terenului, msurrile topografice i geodezice,
proiectarea instalaiilor electrice, termice, sanitare, ventilaie
etc.); GIS sisteme geografice informatice sunt doar nrudite cu
CADD-ul prin faptul c ele nglobeaz pe lng baza de date descriptiv
(tabele cu informaii alfanumerice), i o baz de date grafic, adic
planuri cu reprezentri vectoriale ale entitilor la care se refer
(strzi parcele, cldiri, reele utilitare, orae, ape, limite
administrative); Plant Design proiectarea instalaiilor tehnologice
bazate pe conducte (rafinrii, uzine chimice, termocentrale,
instalaii de prelucrare, transport i distribuie produse fluide
etc.); EDA privete conceperea schemelor electronice i proiectarea
circuitelor imprimate (pentru domeniul digital i sau cel analogic);
proiectarea n domeniul electronic nu se poate lipsi de simularea
funcionrii circuitelor (studierea semnalelor) deci astfel de
programe integreaz i funciuni CAE.
Concepia unui produs se realizeaz prin parcurgerea urmtoarelor
faze: o definirea produsului dup cerinele i condiiile pieii creia i
este
destinat; o reprezentarea viitorului produs prin scheme
simplificate, care se
elaboreaz sub forma de schie, scheme cinematice, electrice,
hidraulice, pneumatice, electronice i pe baz de calcule se fac
aprecieri legate de principalele componente de care depind
caracteristicile funcionale de realizat;
o elaborarea desenului de ansamblu i a subansamblelor necesare n
urma efecturii unor calcule de sintez. n aceast faz se fac calcule
de rezisten, durabilitate a celor mai solicitate piese;
o elaborarea desenelor de execuie ale tuturor pieselor de
executat, efectund n paralel i calculele necesare nchiderii lanului
de dimensiuni;
o ntocmirea caietului de sarcini pentru executarea produsului i
a documentaiei necesare vnzrii (dosarul de omologare, cartea
tehnic, prospecte)
Toate aceste activiti sunt sensibil uurate prin utilizarea
calculatorului. innd seama de fazele conceperii unui produs, CAD
ndeplinete funciile: elaborarea modelului de produs, desenarea
asistat de calculator, integrarea datelor depre produs n sistemul
CIMS.
b) Inginerie asistat de calculator (Computer Aided Engineering,
- CAE). Cum exist mai multe inginerii i mai toate pot fi pn la urm
asistate de calculator, pretutindeni fiind vorba de stocarea i
prelucrarea informaiilor tehnice se ntlnesc frecvent aplicaii care
se pot ncadra n CAE. n concluzie CAE cuprinde totalitatea
programelor folosite pentru concepia construciei produselor i
prezint interes pentru inginerul proiectant. Revenind ns la cea mai
concret realitate, principalele manifestri ale tehnologiilor
CAD/CAE se refer la:
Analize i simulri ale comportamentelor reperelor proiectate
supuse la solicitri mecanice, termice i electro-magnetice: aici s-a
consacrat analiza cu elemente finite (FEA);
Simulri ale prototipurilor de ansambluri mecanice; studierea
comportamentelor machetelor digitale (ceea ce se mai numete digital
mock-up) sau a prototipurilor virtuale (virtual prototyping),
testri care pentru
-
Grafic Inginereasca-note de curs
25
repere mari (maini, avioane) sunt mai ieftine dect cele cu
machete- prototipuri reale.
c) Proiectarea proceselor asistat de calculator (Computer Aided
Process Planning, - CAPP). Reprezint componenta CIMS aferent
procesului tehnologic de execuie. Proiectarea procesului tehnologic
cuprinde:
elaborarea procesului tehnologic de grup pentru produse i
componentele lor;
stabilirea itinerarului tehnologic pentru fiecare produs i
componentele sale (succesiunea operaiilor fazelor, mnuirilor
etc.);
stabilirea mainilor de lucru, sculelor, dispozitivelor de lucru,
celor de transfer, roboilor i ntregului echipament necesar
procesului de fabricaie;
stabilirea secvenelor de transfer, manipulare i control;
elaborarea documentelor aferente celor de mai sus cum ar fi
nomenclatoare, fie tehnologice, liste de materiale, extrase de
manoper etc.;
calculaii de cost, innd seama de toate fazele procesului de
producie.
d) Planificarea, programarea, urmrirea asistate de calculator
(Computer Aided Process Programing Scheduling, - CAPS). Componenta
de planificare CAPS se refer la cantiti, intervale de timp,
ncrcarea capacitilor de producie, dimensiunile lotului de producie.
e) Fabricaia asistat de calculator (Computer Aided Manufacturing, -
CAM), nseamn de obicei, c pe baza desenelor/modelelor digitale
(produse de programe CAD) se studiaz, se testeaz i se controleaz
producerea efectiv a reperelor proiectate. De obicei, se
materializeaz prin comenzi digitale transmise de calculator unor
instalaii tehnologice capabile s preia sau s interpreteze astfel de
comenzi spre a le transforma n procese tehnologice capabile (de
exemplu, maina cu comand numeric n 2-4 axe; strunguri i freze
automate). Subdomeniul este bine reprezentat n mecanic dar cunoate
i alte aplicri (mobil, textile, pielrie); f) Testarea asistat de
calculator (Computer Aided Testing, - CAT); g) Asigurarea calitii
asistat de calculator (Computer Aided Quality, CAQ); cele dou
componente CAT i CAQ trebuie prin specificul lor s fie analizate
unitar. Unele elemente de asigurarea calitii apar nc din faza
concepiei, existnd posibilitatea de testare a produsului prin
modelarea i simularea funcionrii lui. Testarea fizic a produsului
aparine ns CAT. Cerinele care se respect n cazul asigurrii calitii
sunt reglementate prin standardele internaionale ISO 9000, EN2000.
h) Product data maintenance PDM documentele tehnice nu se
abandoneaz o dat cu ncheierea proiectrii i fabricaiei, ci pot
deservi ulterior activitile de exploatare i ntreinere ale
produselor respective. Contientiznd acest aspect nc de la
conceperea modelului digital, se va obine n final o baz de date i
de cunotine deosebit de util fazelor de via ulterioare, aspect ce
devine critic pentru produse de anvergur. Activitile de mentenan
sau de intervenii extraordinare nici nu mai pot fi astfel concepute
cnd este vorba de instalaii tehnologice, avioane sau vapoare, unde
reprezentrile tridimensionale (realitate virtual) i informaiile
asociate sunt, deseori, vitale.
-
Grafic Inginereasca-note de curs
26
Aceste abrevieri acoper astzi unul dintre cele mai evoluate i
performante domenii IT, referindu-se la activitile inginereti care
asist conceperea, proiectarea, fabricaia, testarea i exploatarea
produselor. Clienii acestor tehnologii sunt cei care proiecteaz i
produc indiferent c este vorba de piese/ansambluri mecanice,
automobile, vapoare avioane, cldiri, drumuri, poduri hri mobilier,
instalaii, circuite electronice .a. n general orice activitate care
presupune realizarea, editarea sau exploatarea de planuri, desene i
documente tehnice poate beneficia de ajutorul programelor ncadrate
n acest domeniu. Chiar dac din punct de vedere istoric software-ul
a nceput avnd ca obiect de activitate doar desenarea simpl (numit i
CADD), astzi lucrurile au evoluat spre chestiuni mult mai
cuprinztoare: proiectarea nseamn majoritar concepere n trei
dimensiuni (3D); obiectul proiectat este vzut ca un model unitar ct
mai complex al viitorului produs real, deci nglobeaz, pe lng form,
i caracteristici cvasi-naturale: densitate, proprieti
fizico-mecanice, informaii despre procesele tehnologice. Practic
modelul are tendina de a acumula - ntr-un fel de baz de date
unificat toate informaiile tehnice necesare proiectrii, testrii,
fabricaiei i ntreinerii, astfel c o ntreag arhiv s-a mutat de pe
hrtie n format digital (n calculator!), spre a nsoi acest produs
de-a lungul fazelor vieii sale.
Se poate defini obiectul de activitate al disciplinei Grafic
Inginereasc ca fiind acela de reprezentare a elementelor grafice cu
ajutorul calculatorului. Deci n domeniul CAD. Prin elemente grafice
se neleg: schie, scheme de principiu, scheme logice, fie tip,
imagini digitale, diagrame, desene de execuie, desene de ansamblu ,
reprezentri 2D i 3D, prezentri comerciale inclusiv elemente de
realitate virtual realizate cu software-ul specific
i.4. Software specific 3D Studio Max
(http://www.ktx.com/products/01max/index.htm)
Succesorul lui 3DStudio 3.0. 3D Studio Max este un program care
ruleaz sub toate platformele de Windows. El este n totalitate,
orientat pe obiect, cu noi lumini volumetrice i o interfa total 3D
Studio (http://www.ktx.com/products/02r4/index.htm)
3DStudio este, un program de realizare a imaginilor grafice 3D.
3DStudio este facil pentru aplicaii. 3DStudio este creat de
AutoDesk. 3DStudio conine un modelator 2D n care formele (shapes)
pot fi realizate i un 3D Lofter, prin care formele 2D (shapes) pot
fi extrudate, torsionate, sau solidificate pentru a crea obiecte
3D. Aici exist un modelator prin care se poate crea o scen i o
animaie care au alocate comenzi specifice pentru crearea unei
animaii.
LightWave3D (http://www.newtek.com/3d/3danim.html)
-
Grafic Inginereasca-note de curs
27
LightWave 3D este un alt pachet software pentru reprezentri
grafice computerizate 3D. A fost creat la nceput pentru platformele
Amiga. LightWave 3D este acum disponibil i pentru PC. LightWave 3D
este utilizat cu precdere n produciile de TV.. Adobe Photoshop
(http://www.adobe.com/prodindex/photoshop/overview.html)
Dei Adobe Photoshop nu pare a fi o aplicaie specific animaiei
computerizate, se poate considera totui ca unul din primele
programe grafice. AliasIWavefront (http://www.alias.com)
Alias este un program de animaie. Alias este foarte cunoscut
pentru modelerul sau mare care este capabil de a modela cele mai
complicate modele. De asemenea acest pachet este foarte flexibil.
Animator Studio
(http://www.ktx.com/products/05ANISTU/index.html)
Animator Studio este un program de animaie al firmei AutoDesk.
Animator Studio ruleaz sub Windows. El are multe caracteristici
care minimizeaz timpii de lucru la o animaie.
Elastic Reality Elastic Reality este un program de morfism.
Elastic Reality ruleaz sub Mac i
SGI. Una din caracteristicile programului Elastic Reality n
comparaie cu alte programe este c acesta utilizeaz funciile spline
pentru definirea unei arii de morfism. Atunci, morfismul video este
la rndul sau nc o imagine. SoftImage
Este unul din primele trei pachete software de animaie. Este
utilizat n mai toate
studiourile de producie din lume. AutoCAD
Software specific de proiectare CAD. Realizat de compania
Autodesk este unul dintre cele mai rspndite pachete de programe de
proiectare Autodesk Inventor (soluie independent)
-
Grafic Inginereasca-note de curs
28
este cel mai performant sistem de modelare parametric 3D
construit pe Adaptive Technology i reprezint cea mai nou tehnologie
3D dezvoltat n ultimul deceniu. Combin cu succes capabilitile 2D cu
puterea proiectrii 3D, permind n plus, adaptarea desenelor 2D (DWG)
existente pentru modele mecanice 3D Autodesk Mechanical Desktop
(MDT) produs pentru modelare parametrizat de piese solide, suprafee
i ansambluri fiind produsul de referin Autodesk pentru proiectare
mecanic;
CANALIS aplicaie care ruleaz mpreun cu AutoCAD, de proiectare a
sistemelor de canalizare; PLATEIA aplicaie perfect integrat pe
platforma AutoCAD, pentru proiectarea cilor de comunicaie (a
drumurilor); SPIWood 2000 un program de proiectarea asistat de
calculator dezvoltat de firma SPI Software (Frana), ce ruleaz pe
platforma AutoCAD 2000, pentru modelarea 3D a omponentelor de
mobilier; SPI Sheetmetal este o aplicaie realizat de compania SPI
Gmbh pentru modelarea parametric i obinerea de reprezentri
desfurate a reperelor complexe i a ansamblurilor din tabl pentru
AutoCAD, MDT i Inventor; CADELEC este o aplicaie bazat pe AutoCAD,
destinat realizrii proiectelor electrice n domeniul electrotehnic i
automatizri industriale, fiind un produs al firmei elveiene SISCAD.
CADELEC pune la dispoziia utilizatorilor, biblioteci de simboluri
predefinite ce conin elemente simboluri electrice grupate pe
categorii, pe care acetia le pot insera n sistem funcie de
destinaia lor (de ex. motoare, generatoare, elemente de protecie,
contactoare, etc.-fig.4). Folosind din plin facilitile de desenare
ale AutoCAD, aplicaia ofer n plus o mare varietate de funcii i
faciliti specifice proiectrii electrice. Odat realizat desenul,
sistemul de analiz a bazelor de date CADELEC, permite obinerea i
analiza unei mari varieti de informaii n funcie de mai multe opiuni
de analiz/raportare.
n acest moment exist mai multe companii a cror cercetri sunt
direcionate
ctre realizarea unor pachete de softuri specifice graficii
asistate de calculator, animaiei, realitii virtuale etc. cele mai
cunoscute companii sunt: : Adobe Systems Inc., Alias | Wavefront,
AutoDesk, Bentley, Cartia, Caligari, Computational Logic Inc.,
-
Grafic Inginereasca-note de curs
29
ComputerVision, ElectricImage, ElectroGIG, Fractal Design,
InterGraph, Lateiner Dataspace, MacroMedia, National Association of
Broadcasters, NewTek, ReZ.n8, SigGraph, Silicon Graphics, Strata
Inc., ViewPoint Datalabs. i.5. MCAD i modelare de solide
Nu numai c mecanica a fost primul domeniu n care proiectarea
tridimensional i-a dovedit viabilitatea, dar astzi greu mai poate
fi acceptat aici proiectarea pur 2D. Ideea global presupune
construirea de la nceput a modelului 3D pentru piesa sau ansamblul
proiectat. Din acesta se vor extrage ulterior toate documentaiile
necesare (desene de execuie, detalii, scheme de asamblare, planuri
utile la exploatarea i ntreinerea ulterioar proiectrii, prezentri
comerciale etc.) Acelai model 3D poate deservi i direciile CAM/CAE,
furniznd entitatea matematico-geometric pe care se fac determinri
ale comportamentelor la solicitri i pe care se fundamenteaz
comenzile numerice pentru mainile digitale de prelucrare
mecanic.
Modelul 3D nu nseamn numai reprezentarea tridimensional, fiind
ceva superior afirii 3D a muchiilor obiectelor, un solid se poate
obine printr-o varietate de adugri i/sau ndeprtri de forme
elemntare (uneori similar ndeprtrii/adugrii tehnologice de
material) rmnnd solidar indiferent de complexitatea formei sale
geometrice. Acestui solid i se asociaz anumite proprieti
(densitate, inerie, rezisten) care se vor dovedi ulterior
folositoare. El prezint un comportament inteligent n cadrul
procesului de evoluie a formei (se supune armonios operaiunilor de
uniune, intersecie i diferen cu alte obiecte), iar relaia sa cu
obiectele vecine pentru formarea ansamblurilor are o oarecare
isteime. Parametrizarea completeaz frecvent facilitile de baz ale
programelor orientate pe modelare solidelor i presupune att
asocierea de variabile diverselor dimensiuni ale solidului
(parametrii configurabili) ct i definirea unor constrngeri
geometrice crora li se supune forma entitii. Un obiect astfel
proiectat constituie de fapt un model variaional: modificndu-i-se
valorile parametrilor, se obin variante constructive ale aceleiai
concepii.
Iat cteva dintre produsele software activnd n acest subdomeniu
AMD (Autodesk Mechanical Desktop), SolidEdge (Intergraph),
SolidWorks (Dassault Systemes), Microstation Modeler (Bentley),
Genius (Genius CAD Software Gmbh), Solid Concepts (Mecasoft
Industrie) etc. i.6 Activiti auxiliare
Dup toate cele prezentate, nu mai este o surpriz afirmaia c avem
de a face cu
un domeniu complex i poate nici faptul c pe lng activitile de
baz trecute aici n revist exist i altele, fie aproape la fel de
bine definite, fie cu caracter ajuttor, complementar. ntre acestea
amintim:
a)- Managementul i circulaia documentelor digitale se refer la
activitile de gestiune a documentelor tehnice ntr-o ntreprindere i
la programele responsabile cu acestea DMS (Document Management
Systems). Activitile cuprind att arhivarea documnetelor
(organizarea i sistematizarea informaiilor digitale) ct i controlul
circulaiei documentelor i funciile de supervizare/adnotare a
documentelor la care lucreaz mai multe persoane/compartimente.
-
Grafic Inginereasca-note de curs
30
Gestionarea fluxurilor informaionale este o problematic
generalaplicabil teoretic oricrei ntreprinderi-instituii moderne
(mai ales dac se dorete o certificare ISO 9001) ns pentru CAD i-a
dovedit de la nceput viabilitatea i necesitatea cci informaiile
trebuie s nsoeasc produsul de-a lungul ntregii sale viei. Dac
pentru faza de revizuire/supervizare (redlining) sunt
indispensabile, asigurnd colaboararea specialitilor implicai
(scopul major al EDMS) nu trebuie s omitem c o dat cu proiectarea
produselor se constituie i filoanele necesare exploatrii i
ntreinerii ulterioare a produselor proiectate (PDM).
b) Scanarea i vectorizarea. Scanarea/vectorizarea este
activitatea prin care documentele tehnice existente pe suport
tradiional (hrtie, calc, ozalid, folie etc.) sunt transferate n
memoria calculatorului adic sunt transpuse n format digital. Sunt
de fapt, dou procese care pot exista i independent:
o scanarea reprezint, propriu-zis, copierea documentului n
memoria calculatorului n urma creia fiierul rezultat are format
bitmap (o imagine a crei grafic nu poate fi modificat direct);
o vectorizarea este procesul prin care o imagine bitmap (obinut
uzual prin scanare este convertit n grafic vectorial, genernd un
desen similar celui obbinut prin folosirea de programe CADD: mult
mai suplu i perfect editabil (modificabil
-
Grafic Inginereasca-note de curs
31
Capitolul 1
1. Bazele matematice ale graficii Sisteme de referin
tridimensionale
Pentru crearea aplicaiilor grafice este necesar ca obiectele s
fie poziionate ntr-un sistem de referin tridimensional. Exist mai
multe posibiliti de a specifica poziia unei mulimi de puncte
(vrfuri) prin care este reprezentat un obiect n spaiul
tridimensional: coordonate cilindrice, coordonate sferice,
coordonate Carteziene. Dintre aceste sisteme de referin, cel mai
utilizat n aplicaiile grafice este sistemul de coordonate
Cartezian.
Sistemul de coordonate Cartezian n care sunt definite toate
obiectele scenei virtuale se numete sistem de referin universal
(world coordinate system- WCS).
Un sistem de coordonate Cartezian se definete prin originea O i
trei axe perpendiculare, Ox, Oy i Oz, orientate dup regula minii
drepte sau dup regula minii stngi. Diferena dintre cele dou sisteme
se poate urmri n Fig. 1.2. ntr-un sistem orientat dup regula minii
drepte, dac se rotete mna dreapt n jurul axei z de la axa x pozitiv
spre axa y pozitiv, orientarea degetului mare este n direcia z
pozitiv. ntr-un sistem orientat dup regula minii stngi, rotirea de
la axa x pozitiv spre axa y pozitiv, cu orientarea degetului mare n
direcia z pozitiv se obine folosind mna stng. Orientarea dup regula
minii drepte a sistemelor de coordonate corespunde conveniei
matematice standard.
Diferite sisteme de grafic tridimensional sau de realitate
virtual folosesc convenii diferite pentru definirea sistemelor de
referin, ceea ce conduce la confuzii, dac nu se precizeaz convenia
folosit. n acest text, pentru sistemul de referin universal se
folosete convenia de sistem de coordonate drept. n grafica
tridimensional se mai folosesc i alte sisteme de referin, care
permit descrierea
operaiilor de transformri geometrice i care vor fi precizate pe
parcursul lucrrii. Un punct P n spaiul tridimensional se reprezint
n sistemul de referin
Cartezian printr-un tripet de valori scalare, x, y, z, care
reprezint componentele vectorului de poziie OP pe cele trei axe de
coordonate. Dac se notez cu i, j, k versorii (vectorii unitate) ai
celor trei axe de coordonate x, y, z, atunci vectorul de poziie al
punctului P este OP = xi + yj + zk. n notaia matriceal, un punct n
spaiul tridimensional se poate reprezenta printr-o matrice linie
sau printr-o matrice coloan:
y
x
z
Ox
z
y
O
Fig.1.2 (a) Sistem de coordonate orientat dup regula minii
drepte i (b) dup regula minii stngi.
(a) (b)
-
Grafic Inginereasca-note de curs
32
[ ]zyx=P sau
=
zyx
P
Ambele convenii sunt folosite n egal msur n sistemele grafice,
ceea ce, din nou, poate provoca diferite confuzii, dac nu se
precizeaz convenia folosit. Convenia de reprezentare sub form de
matrice linie a unui punct, folosit n unele lucrri [Watt95],
[Mold96], are avantajul c exprim operaiile de concatenare a
matricelor ntr-un mod natural, de la stnga la dreapta. Convenia de
reprezentare matematic, standardul grafic PHIGS, biblioteca grafic
OpenGL, ca i unele din lucrrile de referin n domeniu [Foley90]
folosesc notaia de matrice coloan pentru un punct n spaiul
tridimensional, care este adoptat i n lucrarea prezent.
1.1. ELEMENTE DE GEOMETRIE
Corpul material este limitat, iar limita lui se numete suprafaa
corpului. O
poriune de suprafa este limitat de o curb, iar o poriune de curb
se termin ntr-un punct.
Ecuaiile clasice ale unei curbe sunt: - forma explicit: y=f(x),
care este univoc; - forma implicit: f(x,y)=0, ce este specific
reprezentrii curbelor nchise; - forma parametric: x=f(t), y=f(t),
care reprezint curbele nchise sau cele
care se intersecteaz; - forma polar: R=f(), semnificnd aceleai
curbe ca precedenta form. Noiunile de suprafa, curb i punct pot fi
considerate independente de
suportul lor material. Astfel prin micarea unui punct se obine o
curb, prin micarea unei curbe se obine o suprafa, iar prin micarea
unei suprafee rezult un volum.
Se numete figur geometric, o mulime de puncte, curbe i suprafee.
Asupra figurilor se pot face diferite transformri geometrice. O
transformare geometric este o aplicaie bijectiv a planului
(spaiului) pe el nsui. Transformarea identic este aplicaia bijectiv
identic i las nemodificate toate punctele planului (spaiului). Dou
figuri care se obin una din alta printr-o transformare geometric se
numesc figuri congruente sau omoloage. Transformrile cele mai
importante sunt izometriile care se mpart n deplasri i antideplasri
(oglindiri).
O deplasare fr punct fix se numete translaie, iar cea cu punct
fix se numete rotaie. Noiunile se pot defini i n spaiu.
Transformare se numete asemntoare dac distanele dintre punctele
omoloage sunt proporionale iar unghiurile omoloage sunt egale.
Factorul de proporionalitate k este definit ca raport de asemnare.
Raportul lungimilor, ariilor , volumelor din dou figuri asemenea
sunt egale cu k, k2, k3.
Ecuaiile dreptei. Considerm o dreapt d, ntr-o poziie oarecare fa
de axe (fig.1.3).
Fig. 1.3 Dreapta oarecare
Fie M un punct arbitrar pe dreapta d , vom gsi ecuaia dreptei d
dac vom reui s determinm o relaie
y
d d'
B
M
M'N
-
Grafic Inginereasca-note de curs
33
ntre ON=x i NM=y verificat de toate punctele dreptei d. Pentru
aceasta ducem paralela d' din O la dreapta d si fie M' intersecia
cu MN. Facem urmtoarele cantiti constante (aceleai, oricare ar fi M
pe d): m=tgu i n=MM'. Cum NM=NM'+ M'M rezult:
y=mx+n, care este ecuaia dreptei. (1.1)
Invers, o ecuaie de gradul I n dou variabile ax+by+c=0 (1.2)
reprezint o dreapt deoarece poate fi pus sub forma (1.1).
Rezolvnd-o n raport cu y, unde m = - a/b constituie panta dreptei
scris sub
forma general (1.2) Fie A i B urmele dreptei d(fig.1.2) Cunoscnd
OA=a, OB=b,OP=p( lungimea normalei OP din origine) i unghiul I
cu axa Ox, vom putea scrie ecuaia dreptei n funcie de aceste
elemente. ntr-adevr: x/a+y/b=1 (Creele, 1821), atunci, prin
nlocuirea lui a i b, se obine:
xcosu+ysinu=v, (1.3)
care este forma normal (Couchy ,1826) a dreptei.
Fig.1.4 Forma normal Ecuaia cercului Ecuaia cartezian a cercului
(fig.1.5) este:
( ) ( ) 22020 Ryyxx =+ , (1.4)
iar dac are centrul n originea sistemului de axe, atunci:
x2+y2=R2 (1.5) Ecuaia (1.5) se poate descompune n dou ecuaii 22 xRy
= . Fig.1.5. Ecuaiile carteziene ale cercului.
Partea superioar este trasat variind pe x n intervalul [R,-R] cu
pasul p, iar partea superioar se obine prin variaia lui x n
intervalul [-R,R] cu pasul p. Ecuaiile parametrice se deduc uor
(fig. 1.4), dac centrul este n origine:
B
P
O A p
R
R
(x0,,y0)
-
Grafic Inginereasca-note de curs
34
x=R cos, y=R sin, cu 0[ [ 360o (1.6) Cnd centrul difer de
origine, C(x0,y0) atunci:
x=x0 +R cos, y=y0 +R sin, (1.7) Sub o alt form, n funcie de
t=tg( /2),
se obin relaiile:
Rttx 2
2
11
+= , R
tty 21
2+= (1.8)
Fig.1.6. Ecuaii parametrice Prin metoda recursiv se pot gsi alte
ecuaii ale cercului. Presupunem c se
cunosc dou puncte ale cercului (fig.1.6): x=R cos , y=R sin ;
xn+1=R cos( +) , yn+1=R sin ( +) ; (1.9) unde este incrementul
unghiular. Dac dezvoltm ecuaiile punctului
(xn+1,yn+1) i nlocuim corespunztor rezult: xn+1=xn cos() yn
sin() , yn+1=yn cos () +xn sin(); (1.10) Cum incrementul este
constant, se calculeaz la nceputul programului
valorile c=cos() , s=sin(), obinnd: xn+1=xn c yn s , yn+1=yn c
+xn s, care sunt relaii recursive de ordinul unu. Dezvoltnd relaia
(1.4) se obine: x2+y2+ax+by+c=0 cu x0= - a/2, y0= - b/2, R2=
(a2+b2-4c)/4.
Ecuaia (1.4) reprezint un cerc real cnd a2+b2>4c. de
asemenea, punctele interioare verific inecuaia x2+y2R2.
Fig1.7. Relaii recursive
R
y
y
x x
xn,yn
xn+1,yn+1
-
Grafic Inginereasca-note de curs
35
Conice. Intersecia unui con circular cu un plan se numete conic.
Notnd cu unghiul fcut de generatoarele conului cu un plan
perpendicular pe axa conului i cu unghiul fcut de planul de seciune
cu acelai plan, curba de intersecie este o elips, o parabol sau o
hiperbol, dup cum < , = , ori > ( fig.1.6). Aceste trei
conice sunt curbe fundamentale care intervin n numeroase
aplicaii.
< = >
Fig.1.8. Conice
a)Elipsa ( fig.1.9). Mulimea punctelor pentru care suma
distanelor la dou
puncte date, F, F, numite focare, este constant se numete elips.
Ea are ecuaia cartezian:
( ) ( )12
20
2
20 =+
byy
axx
,
unde (x0,y0) este centrul elipsei, iar F(c,0). F (-c,0), cu 22
bac = , sunt focarele
elipsei. Din nsi definiia ei, curba este nchis.
Ecuaia elipsei cuprinznd pe x i pe y la puteri perechi, este
simetric fa de axele Ox,Oy, care sunt axele ei de simetrie.
Fig.1.9. Elipsa Excentricitatea elipsei este raportul e=c/a
i variaz ntre 0 i 1; este egal cu zero pentru un cerc cu
focarele F,i F confundate n originea O (deci, a=b); rezult c cercul
este o elips particular.
Ecuaiile parametrice ale elipsei sunt: x=a cos ,
F F
M
-
Grafic Inginereasca-note de curs
36
y= b sin , cu 0[ [ 360o b) Parabola (fig.1.10). Mulimea
punctelor M, egal deprtate de punctul F numit
focar, i o dreapt D directoare, este o parabol. Ea are
ecuaiile:
- carteziene: y2=2px; - parametrice: x= 2p ctg2, y=2p
ctg . Fig.1.10. Parabola
Avem o ecuaie de gradul al doilea, iar curba are o singur ramur.
Curba trece prin origine i este simetric fa de axa Ox. Ecuaia
general poate fi scris i sub forma:
y=ax2+bx+c, a 0.
Fig.1.11. Hiperbola
c) Hiperbola (fig.1.11). mulimea punctelor M pentru care
diferena distanelor la dou puncte F,i F, numite focare, este
constant (egal cu 2a) reprezint o hiperbol.
Ea are ecuaiile: - carteziene:
( ) ( )
,122
02
20 =
byy
axx
unde (x0,y0) este centrul hiperbolei;
- parametrice:
x=a sec, y=btg.
Ca la elips, avem F (-c,0), F (c,0) I cu 22 bac = . Scriind
ecuaia sub forma 22 ax
aby = , observm c y exist atunci
cnd x > a sau x < a, deci curba este de gradul doi i este
format din dou ramuri.
Hiperbola este echilater cnd a=b i deci, ecuaia devine x2 - y2=
a2.
D
M
O F(p/2,0)
F
F
b a
O
x
y
O
-
Grafic Inginereasca-note de curs
37
Fig.1.12. Parabola cubic
Curbe algebrice clasice i transcendente. Dintre reprezentrile
grafice ale curbelor clasice amintim:
a) Parabola cubic (fig.1.12) care are ecuaia y=x3. Ea este
denumit cubic deoarece este de gradul al treilea.
b) Parabola semicubic (fig.1.13) are ecuaia y2=x3 este situat n
dreapta axei Oy (x>0) i este simetric fa de axa Ox. Numim curb
transcendent o curb care nu este algebric.Amintim cteva astfel de
curbe:
a) Sinusoida y = sinx, co o infinitate de zerouri, care sunt i
puncte de inflexiune i co o infinitate de extreme. Funcia ei invers
este y= arcsin x .
n aceeai familie sunt cuprinse i curbele: y= a sin(kx+),
Fig.1.13. Parabola semicubic
deformate printr-o dilatare de raport a, n sensul axei Oy; o
comprimare n raport k a axei Ox i o defazare de unghi a acestei
axe.
b) Tangentoida y = tgx are o infinitate de zerouri i de
asimptote. c) Exponeniala y = ex i inversa ei, funcia logaritmic y
= lnx. Prin combinaiile precedente se obin curbe transcendente noi.
De exemplu,
curba y=sinx/x are aspectul unei sinusoide, cu zerourile k (k
0)repartizate la distane egalepe axa Ox, dar sprijinindu-se pentru
fiecare sin x=1 pe hiperbola echilater y=1/x i simetrica ei.
Curba amortizoare y = e-x sinx are o alur analoag dar sinusoida
este cluzit de exponenialele y = e-x.
Prin rostogolirea unui cerc pe o dreapt, cerc etc. se pot obine
alte curbe remarcabile precum: cicloida, epicicloida, hipocicloida,
astroida etc.
Curbe i suprafee. Dac coordonatele unui punct mobil, M, sunt
funcii de un parametru t:
x=x(t), y=y(t), z=z(t) (1.12)
punctul M(x,y,z) descrie o curb iar relaia (1.12) reprezint
ecuaiile curbei. Cnd coordonatele sunt funcii de doi parametri, u i
v, independeni:
x=x(u,v), y=y(u,v), z=z(u,v) (1.13)
atunci punctele M(x,y,z) descriu o suprafa ce are ecuaiile
(1.13). dac se elimin u i v atunci se obine o ecuaie de forma
f(x,y,z)=0. Explicit se pot determina una sau mai multe pnze
z=z(x,y). Oricrui punct M(x,y) dintr-un domeniu al planului xOy i
corespunde un punct M de cot z. Cnd M descrie tot domeniul lui, M
descrie o pnz a unei suprafee. Deoarece o curb este o intersecie a
dou suprafee, putem scrie ecuaiile curbei sub forma f(x,y,z)=0,
g(x,y,z)=0, sau ca intersecie a doi cilindri, f(x,y)=0,
g(y,z)=0.
O
y
x
-
Grafic Inginereasca-note de curs
38
Capitolul 2
2. Modelarea obiectelor
Modul cel mai convenabil de modelare a scenelor virtuale este
acela n care fiecare obiect este modelat ntr-un sistem de
coordonate propriu, numit sistem de referin model (sau sistem de
referin local), n care punctele (vrfurile) obiectului sunt
precizate relativ la un anumit punct de referin local. De fapt, n
m