Sunteți pe pagina 1din 28

Sisteme Grafice - Notiuni

Curs 2

Direct3D
Moduri de vizualizare a imaginilor
RASTER
• Definită prin pixeli
• Nescalabilă
• Depinde de rezoluție
• Utilizată pentru fotografie

VECTORIALĂ
• Definită de ecuații matematice (linii, curbe, suprafețe)
• Scalabilă la orice dimensiune
• Independentă de rezoluție
• Utilizată de software-ul CAD

2
Tipuri de dispozitive grafice
• Raster-refresh
– Afisare punct cu punct
• Probleme de rezolutie la afisare
– Refresh repetat regulat
– Performanțe ridicate vs cost
• Vector-refresh
– Dispozitive pentru afișare curbelor de
orice fel
• Rezoluție ridicată la orice scară
– Random refresh
– Performanțe ridicate la cost ridicat
Hardware pentru dispozitivele de
afișare a imaginii

• Unitatea de procesare a imaginii


• Dispozitivul de afișare (monitor)
• Dispozitive de introducere a
datelor (mouse, keyboard, etc)
Biblioteci grafice
• Ce sunt?
O colectie de subroutine cu functii si propietati specifice, de exemplu pentru desenarea
unei linii sau a unui cerc, su reprezentarea unei suprafete b-spline etc.; se pot accesa si
asambla de un program C sau C++.

• De ce sunt necesare
Pentru interpretarea aplicatiilor (software) grafice independent de incompatibilitatile
specifice unitatilor de afisare (display) ale dipozitivelor grafice.

• Cele mai populare standarde


GKS -> PHIGS -> Open GL
-> Microsoft Direct3D
– GKS (Graphical Kernel System) primul standard ISO de grafica compuerizata; introdus in 1977
ofera suport pentru afisarea de grafica vectoriala 2D;
– PHIGS (Programmer's Hierarchical Interactive Graphics System) este un standard API
(Application Program Interface) pentru rendering-ul imaginilor 3D in grafica computerizata;
este considerat standardul anilor 1990;
– Open GL (Open Graphic Library) este un limbaj standard de grafica computerizata definit cu
ajutorul unui API; Open GL se poate accesa atat din limbaje de programare diferite (cross-
language) cat si platforme diferite (cross-platform)
– Microsoft Direct3D este un API 3D fiind parte a Microsoft DirectX si este disponibil doar in
aplicatiile windows pentru repezentarea si renderingul obiectelor 3D.
• API interfata ce defineste modalitatile prin care o aplicatie solicita servicii de la diverse biblioteci de functii
(obiecte) si/sau sistemele de operare. Este definit de un vocabular specific si protocoale de utilizare pe
care programatorul trebuie sa le utilizeze pentru accesarea functilor dorite.
Sisteme de coordonate
• World coordinate system (WCS)
Sistem unic de coordonate utilizat pentru reprezentarea
generala a unui set (ansamblu) de obiecte grafice

• Model coordinate system (MCS)


Fiecare obiect din sistemul WCS are sistemul propriu de
coordonate referinta (doua sisteme MCS pot fi diferite).

• Viewing coordinate system (VCS)


Sistem de coordonate de referinta utilizat pentru
proiectarea tuturor punctelor de definitie ale obiectele 3D
pe monitorul computerului (bidimensional) pentru a putea
fi vizualizat de ochiul uman. Axa z prin conventie este
directia de vizualizare si este perpendiculara pe ecran.
De la MCS la WCS

(0,0,0)

(1,0.5,-0.5)

MCS cube = WCS

(0, 0, 0) clilindu in MCS = (1,0.5,-0.5) cilindru in WCS


Sisteme de coordonate – 3D
Reprezentarea unui model 3D intr-un sistem de coordonate 3D

World coordinate system - WCS


Viewing coordinate system - VCS
Model coordinate system - MCS
Sisteme de coordonate
Device coordinate system Virtual coordinate system

Reprezentarea unui model 3D pe un display 2D

A treia axa nu este necesara!!!


De la WCS la VCS

ecran
Yv
Xv

Zv ochi

1
1

(0, 0, 0) ansamblu in WCS = (1,0.5,-0.5) ansamblu in VCS


Sisteme de coordonate – proiectii
Proiectie axonometrica sau perspectiva Proiectie paralela

Viewpoint – ochiul uman Directia vederii


Viewsite – punct pe obiectul 3D

xv, yv, zv ->VCS


Window- fereastra de afisare

Viewing volume (volumul de


afisare) = prisma

Viewing volume = paralelipiped


Exemple de proiectii
Proiectie axonometrica sau perspectiva Proiectie paralela
ViewPort
Viewport – portiunea (portiunile) din display unde
se formeaza imaginea dorita pentru vizualizare
Matrici de transformare
translatie, rotatie, deformare si
reflexie
De ce? Unde?
•In CAD, ca si in dinamica cinematica, mecanica solidelor sau in mult alte
domenii este necesara cunoasterea pozitiei si orientarii in spatiu a obiectelor.
•In CAD, este necesara cunoasterea pozitiei si orientarii la orice moment a:
– Modelor solidelor primitive cat si a operatiunilor aplicate modelor solide
– Sistemului de coordonate WCS
– Modelarea componentelor in ansambluri
– Vizualizarii
•Moduri de reprezentare a pozitiilor si orientarilor. Cele mai utilizate in CAD
“sunt matricile de transformare”
Modelarea Geometrica
• Presupune definirea geometriei modelului in computer

Scurt Istoric
• 1963 grafica computerizata Wireframe inventata (Ivan
Sutherland, MIT)
• 1967 Surface Modeling (S.A. Coons)
• 1973 Solid Modeling – Constructive Solid Geometry
(Laning si altii Laboratoarele Draper)
• 1973 Solid Modeling – Boundary Representation)
Brep (Ian Braid, Cambridge U.)
• 1985 Feature Modeling (Pratt & Wilson)
• 1990 Parametric Modeling (PTC)
Wireframe Modeling
• Retine pozitia liniilor (in 2D sau 3D)
• Utila elaborarii rapida de modele (drafting) (faciliteaza vederile
multiple si editarea)
• Reprezentarea ambigua a marginilor suprafetelor limiteaza
posibilitatile de automatizare (de exemplu nu permite calculul
volumului si nici generarea de traiectorie de cod numeric NC)
Surface modelling
• Stocheaza ecuatiile suprafetelor
• Majoritatea bibliotecilor grafice
sunt bazate pe modelarea
suprafetelor
• Utila reprezentarii si vizualizarii
suprafetelor complexe si perfect
automatizata generarii de
traiectorilor de cod numeric NC
pe suprafete complexe
• Informatia referitoare la volumul
de material este ambigua si dificil
de determinat (nu se poate
calcula volumul)
Exemplu de model suprafata
Solid Modelling
• Permite clasificarea seturilor de puncte: “daca un punct este
inauntrul sau in afara unui modelului solid?”
• Modelele solide se pot utiliza pentru:
– calculul volumului
– generarea automatia a discretizarilor
– detectarea coliziunii obiectelor CAD si generarea automata de traiectorie
NC
Functii specifice in Solid Modeling
• Moduri diferite de constructie a modelelor solide:
– constructia pe baza de primitive
– operatii pe baza de primitive
– operatii Sweep
– modelarii de suprafete
– modelarea pe baze de suprafete
– modelarea be baza de Caracteristici (Feature-Based modelling)
– Modelarea parametrica
Exemplu de model solid
Constructia modelelor cu ajutorul
primitivelor
• Primitivele sunt modele
solide simple cu
suprafata matematica
simpla
• Pot fi controlate cu un
numar mic de parametrii
si pozitionate folosind
matricile de transformare
Operatii Booleene
• Operatiile booleene sunt
utilizate pentru generarea
unor forme mai complicate in
urma combinarii unor forme
mai simple
• Sunt posibile trei tipuri de
operatii:
– reuniune (‘∪’) sau “union,
join”
– intersectie (‘∩’)
– Diferenta (‘-’) sau “subtract”
• Atentie, unele operatii nu sunt
permise:
Operatii Sweeping
• Functii de modelare in
care o sectiune 2D
wireframe sau suprafata
plana este translatata
sau rotita pentru a
genera un solid 3D
• Operatiile incluse sunt:
– extrude
– revolve
– sweep
– loft
Operatii aplicate suprafetelor
• Acestea actioneaza direct
asupra suprafetelor, laturilor
si varfurilor solidelor pentru
crearea modelului dorit
• Exemple:
– chamfering
– rounding/filleting
– drafting
– shelling
Modelarea pe baza de caracteristici
(feature-based modeling)
• Features sunt forme ce au o
semnificatie inginereasca.
Uzual reprezinta operatii sau
functii applicate unei
componente.
• Exemple:
– hole - pocket
– slot - boss
• Majoritatea sistemelor CAD prin
Features se refera la orice fel de
operatie de modelare
• Majoritatea sistemelor CAD
permit utilizatorului definerea de
Features caracteristice
Modelarea parametrica
• Parametrii se pot defini ca:
– dimensiuni in schite 2D
– dimensiuni in geometrii 3D
– parametrii ai operatiilor de modelare
– variabile in ecuatiile definite de utilizator
• Intreaga geometrie a unei parti poate fi
controlata de un numar redus de
parametrii
Aplicatia 1 Driver Unitate de afisare
Computer Aple

Aplicatia 2 Driver Unitate de afisare

Computer Windows

Aplicatia 1 Driver Unitate de afisare

Biblioteca Grafica Computer Aple

Aplicatia 2 Driver Unitate de afisare

Computer Windows

Driver – termen general pentru o componenta software utilizata in interactiunea cu


o componenta harware

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