Sunteți pe pagina 1din 84

MINISTERUL NVMNTULUI A REPUBLICII MOLDOVA

UNIVERSITATEA TEHNIC A MOLDOVEI

Facultatea Calculatoare, Informatic, Microelectronic

Veaceslav Perju

GRAFICA PE CALCULATOR
Curs de prelegeri
pentru studenii specialitilor
"Automatica i Informatica", "Calculatoare",
"Microelectronic", "Tehnologii informaionale"

Chiinau 2004

Cuprins
1. Sisteme grafice
1.1. Sinteza, prelucrarea i analiza imaginilor
1.2. Arhitecturi ale sistemelor grafice
1.3. Dispozitive de intrare ale sistemelor grafice
1.4. Echipamentele de ieire grafic
1.5. Softul sistemelor grafice
1.6. Standarde in grafic
2. Adaptoare video i moduri grafice
2.1. Adaptoare video.
2.2. Moduri grafice.
2.3. Iniializarea modului grafic.
2.4. Schimbarea si interogarea modului grafic.
2.5. Ieirea din modul grafic.
3. Primitive grafice
3.1. Operaii cu pixeli.
3.2. Construirea liniilor.
3.3. Poligoane.
3.4. Curbe conice.
3.5. Suprafee.
3.5.1. Suprafaa poligonala
3.5.2. Suprafaa circulara i eliptica, sector de cerc i de elipsa
3.5.3. Suprafaa mrginit de un contur oarecare
4. Atributele de afiare ale primitivelor grafice
4.1. Specificarea culorilor.
4.2. Funcii pentru stabilirea paletei i a culorii de desenare
4.3. Atributele de afiare ale liniilor.
4.4. Atributele de afiare ale suprafeelor.
5. Textul n mod grafic
5.1. Afiarea textului in mod grafic.
5.2. Atributele de afiare ale textelor.
5.3. Seturi de caractere.
6. Operaii cu imagini
6.1.Sistemul de coordonate dispozitiv.
6.2.
Poarta de vizualizare.
6.3. Salvarea si restaurarea imaginilor.
6.4. Operaii cu imagini in memorie.
6.5. Fiiere cu mai multe imagini
6.6. Operarea cu mai multe pagini video.
6.7. Corecia formelor imaginilor sintezate.
7. FORMATE STANDARD DE IMAGINI

13.4.2.

8. Interpolarea i netezirea imaginilor


8.2. Operaiuni de interpolare i netezire a imaginilor
8.3. Interpolarea prin funcii Bezier
8.4. Interpolarea prin funcii B-spline.
8.5. Construirea curbelor i a suprafeelor de netezire
9.
Transformri geometrice 2D
9.2. Transformri geometrice 2D elementare.
9.3. Transformri geometrice 2D in coordonate omogene.
9.4. Compunerea transformrilor 2D.
9.5. Transformri geometrice inverse.
9.6. Transformri geometrice 2D de oglindire.
9.7. Transformri geometrice 2D de forfecare
9.8. Transformri 2D ale sistemului de coordonate.
10. Transformri geometrice 3D
10.2. Matrici de transformare 3D.
10.3. Translaia 3D.
10.4. Scalarea 3D.
10.5. Rotaia 3D.
10.6. Forfecarea 3D.
10.7. Transformri 3D inverse.
10.8. Compunerea transformrilor 3D.
10.9. Oglindirea fata de un plan al sistemului de coordonate.
10.10. Rotaia in jurul unei axe oarecare in spaiul 3D.
10.11. Oglindirea fa de un plan oarecare.
11. Vizualizarea scenelor
11.2. Transformarea de vizualizare 2D.
11.3. Decuparea 2D.
11.4. Modelul procesului de vizualizare 3D.
11.5. Proiecii. Proiecia perspectiv.
11.6. Vizualizarea imaginilor 3D.
12. Determinarea vizibilitii obiectelor la afiarea scenelor 3D
12.2. Clasificarea algoritmilor de determinare a laturilor i a feelor vizibile ale obiectului.
12.3. Determinarea laturilor vizibile ale unui poliedru.
12.4. Determinarea feelor vizibile ale obiectului.
12.4.1. Algoritmul GalimbertiMontanari.
12.4.2. Algoritmul Zbufer.
13. Redarea luminii si a umbrelor in imagini
13.2. Parametrii luminii
13.3. Modele de culoare.
13.4. Modele de reflexie a luminii.
13.4.1. Reflexia difuz.
13.4.2. Reflexia spicular.
13.5. Metode de redare a suprafeelor iluminate.
13.5.1. Modelul Lambert.
13.5.2. Modelul Gouraud.

13.6. Transparena.
13.7. Umbrirea.
14. Editoare grafice
14.2. Adobe Photoshop
14.3. Adobe Illustrator
14.4. Adobe PhotoDeluxe
14.5. Correl Draw
14.6. Correl PrintHouse Magic
14.7. ClarisDraw
14.8. Graphix Advantage
14.9. Xara3D
14.10. Animatec World Builder
14.11. Digital Video Producer
14.12. Polytran
15. Editorul grafic 3D Studio Max
15.2. Descrierea general a editorului grafic 3D Studio.
15.3. Structura pachetului grafic 3D Studio.
15.4. Principiile de lucru n editorului grafic 3D Studio.
15.5. Metode de creare a obiectelor.
15.6. Crearea i redactarea liniilor i a altor figuri.
15.7. Formarea textelor.
15.8. Crearea obiectelor 3D.
15.9. Crearea surselor de lumin.
15.10. Crearea camerei.
15.11. Rendering.
15.12. Alegerea materialelor.
15.13. Crearea materialelor.
15.14. Crearea obiectelor de rotaie.
15.15. Animaia.

1. SISTEME GRAFICE
1.1.

Sinteza, prelucrarea i analiza imaginilor

Prin sistem grafic se nelege un ansamblu din echipamente i programe, specializate n


sintez, prelucrarea i analiz a informaiei grafice, prezentate n forma de imagini. Echipamentele pot
fi calculatoare, staii grafice, imprimante, plotter-e .a.
Un sistem grafic care permite interaciunea cu utilizatorul prin echipamente specializate
(mouse, tableta grafic, joy-stick .a.) se numete sistem grafic interactiv.
Sistemele grafice pot fi clasificate dup scopul prelucrrilor pe care le efectueaz. Din
acest punct de vedere se face distincie ntre: sisteme de sintez a imaginilor, sisteme de prelucrare a
imaginilor i sisteme de analiz a imaginilor.
Modelul imaginii este o list de primitive grafice (linia, cercul, poligonul, textul i altele),
nsoite de atribute cum ar fi: culoarea, tipul i limea liniei, etc. ntr-un sistem grafic 3D primitive
pot fi i diferite tipuri de suprafee i obiecte. Algoritmii de sintez codific fiecare primitiv
grafic ntr-o form special. Modelul imaginii poate rezulta din calcule specifice aplicaiei (de
exemplu, reprezentarea grafic a unei funcii) sau poate fi editat de utilizator prin intermediul
programului de aplicaie (de exemplu, schia unei piese, a unei case, etc.). Utilizatorul poate solicita
diferite transformri asupra obiectelor redate n imagine sau asupra imaginii n ansamblu.
Programele de aplicaie sunt specializate pe diferite domenii, de exemplu, proiectarea
asistat de calculator n electronic, n mecanic, n arhitectur, cartografie, birotic, gestiune
economic, tipografie electronic, producia de filme, etc.
n sistemele de prelucrare i de analiz a imaginilor datele de intrare se extrag din imagini.
Imaginea poate fi o fotografie sau o imagine din lumea real. Sistemele de preluare a imaginilor au
ca scop ameliorarea imaginilor sub aspectul perceperii lor de ctre om prin: modificarea culorilor,
mbuntirea contrastului, redarea selectiv a diferitelor pri din imagine i altele.
Analiza imaginilor are ca scop identificarea obiectelor reprezentate n imaginile codificate
numeric. Sistemele de analiz a imaginilor se folosesc n aplicaii de recunoatere a formelor, de
exemplu pentru identificarea obiectelor, pentru analiza reliefului i a resurselor naturale etc.
1.2. Arhitecturi ale sistemelor grafice
In calculatoarele personale grafica este n cea mai mare parte susinut de ctre procesorul
unic al sistemului. Calculatoarele acestea au n alctuire modulul denumit plac grafic; aceasta
conine memoria grafic, componentele de semnalizare i conversie video i controller-ul video, care
are rolul de a genera semnalele de sincronizare a monitorului i de a extrage sincron informaia din
memoria video.
Structura prezentat mai sus este un nucleu de structur evoluat numai prin prisma existenei
cartelei grafice.
Arhitecturile evoluate ale sistemelor grafice se regsesc n general n structura echipamentelor
denumite staii grafice interactive. O staie grafic este n general dotat cu dou module de
procesare i anume unitatea central de prelucrare (UCP) i procesorul grafic (PG).
Procesorul grafic al unei staii grafice performante este dotat cu un modul de memorie proprie,
distinct fa de memoria UCP sau memoria ecranului. n procesorul grafic se includ mai multe
procesoare care implementeaz n hardware algoritmi specifici prelucrrilor grafice. Astfel de

procesoare pot fi dedicate funciilor de generare de segmente sau curbe, operaiilor de decupare,
operaiilor de eliminare a suprafeelor ascunse, procesoare de tratare a iluminrii i altele.
1.3. Dispozitive de intrare ale sistemelor grafice
Dispozitivele de intrare au funcia de realizare a interaciunii dintre utilizator la sistemul
grafic.
Tastatura: este cel mai comun dispozitiv de intrare. Prin intermediul acesteia pot fi
implementate toate funciile de intrare ntr-un sistem, prin alocarea corespunztoare, prin program, a
fiecrei taste sau grupuri de taste.
Mouse: este actualmente cel mai utilizat dispozitiv pentru implementarea funciei de intrare de
tip locator-punctator la nivelul ecranului. Mouse-ul posed dou sau trei butoane a cror apsare
determin transferul la calculator a unui cod special. Aciunea pe care programul o efectueaz ca
urmare a apsrii unui buton este specific programului care utilizeaz acest dispozitiv.
Tracking-ball: principiul constructiv i funcional al acestui dispozitiv este cel al mouse-ului,
cu deosebirea c dispozitivul st fix, iar micarea de rotaie a sferei este produs de ctre palma
operatorului.
Joy-stick: este un dispozitiv utilizat ca locator-punctator. Este alctuit dintr-o manet care are
dou grade de libertate de rotaie pe dou axe perpendiculare. Fiecare micare de rotaie se transfer
ntr un numr de impulsuri care se transmit la calculator.
Light pen: este un dispozitiv punctator direct pe ecran, al crui principiu se bazeaz pe
elementul fotosensibil din vrful creionului optic impresionat de lumina emis de ctre punctul de
pe ecran atins de creion.
Digitizorul i tableta grafic. Construcia este de forma unei plci plane dreptunghiulare, cu
dimensiune de la formatul A3 pn la o mas cu laturi de doi metri. Sub aceast plac se gsesc reele
de fire paralele amplasate la distane foarte mici (sutimi de milimetru). Exist dou reele, cte una
pentru fiecare ax. Pe masa de desen se poate amplasa desenul care trebuie digitizat. Operaia de
introducere a punctelor se poate face cu un dispozitiv special. La selecia unui punct de pe desen se
apas un buton, sistemul depisteaz linia i coloana deasupra cruia este amplasat punctatorul i
transmite la calculator indicii liniei i coloanei astfel determinate.
Scanner: acest dispozitiv utilizeaz tehnici de fotografiere a imaginii prezentate pe o foaie
de hrtie, pelicul etc. Scanner-ul descompune imaginea n rastru de puncte i o transfer pixel cu
pixel la calculator. Pentru diminuarea volumului de date transferate scanner realizeaz o
compresie de date, anterioar transferului.
1.4. Echipamentele de ieire grafic
Echipamentele de ieire grafic sunt acele echipamente care prezint imaginea sintetizat de
ctre sistemul de calcul, pe un suport cu caracter permanent (hrtie, film, etc.), sau pe ecranul unui
monitor. In aceast clas de echipamente se ncadreaz: imprimantele cu aci, nregistratoarele (plotter)
cu peni sau electrostatic, imprimantele laser, cu jet de cerneal, cu transfer termic i
fotonregistratoare pe pelicul (photo-plotter).
Se vor defini noiunile care caracterizeaz calitatea imaginii obinute pe suportul de ieire.
Dimensiunea punctului reprezint diametrul unui punct singular generat de echipamentul
de ieire. Forma punctului este n general circular, dei anumite echipamente pot fi astfel
construite nct forma punctului este dreptunghiular.
Adresabilitatea reprezint numrul de puncte individuale pe care le poate crea echipamentul
pe unitatea de lungime. Adresabilitatea axei X este inversa distanei dintre centrele a dou puncte

vecine (adiacente) aflate pe aceeai linie orizontal. In mod similar se


adresabilitatea axei Y. Nu ntotdeauna adresabilitatea are aceeai valoare pe ambele axe.

definete

Rezoluia este o noiune corelat cu dimensiunea punctului, iar valoarea ei maxim este egal
cu valoarea adresabilitii. Rezoluia se definete ca spaierea minim ntre iruri de linii negre
alternate cu linii albe, care pot fi decelate de observator. De exemplu dac pe un centimetru pot fi
decelate 20 de perechi intercalate de linii albe i negre, spunem c rezoluia este de 40 linii
pe centimetru.
1.5. Softul sistemelor grafice
Programele din componena unui sistem grafic de sintez sunt n general structurate n dou
nivele: nivelul dependent de echipamente, format din programele "driver"; nivelul independent de
echipamente, realizat ca o bibliotec de subprograme apelabile din programele de aplicaie, numit
biblioteca grafic.
Exist cte un program driver pentru fiecare tip de echipament n configuraia sistemului
grafic. Pentru ca programele de aplicaie s fie independente de echipamente este necesar ca
subprogramele bibliotecii grafice s fie independente de echipamente. Un program trebuie s poat
fi folosit cu o gam ct mai variat de echipamente.
Este necesar ca subprogramele bibliotecii grafice s fie apelabile din programe scrise ntr-un
limbaj de nivel nalt: Pascal, C, Ada, Basic i altele. Un sistem grafic poate cuprinde biblioteci pentru
mai multe limbaje de programare. Unele biblioteci grafice ofer numai funcii de nivel cobort; astfel
sunt bibliotecile grafice din mediile Turbo Pascal, Borland C, Borland C++ pentru DOS. Altele ofer
funcii de nivel nalt, inclusiv posibiliti de redare a obiectelor tri-dimensionale i de interaciune
folosind o varietate mare de echipamente.
1.6. Standarde in grafic
Obiectivele urmrite prin standardizare au fost:
1. Portabilitatea programelor, cu dou aspecte:
- independena fa de sistemul de calcul i de sistemul grafic folosit;
- independena fa de echipamente.
2. Portabilitatea informaiei grafice, adic posibilitatea transferului descrierilor de imagini ntre
sisteme grafice diferite.
3. Posibilitatea stocrii pe termen lung a informaiei grafice.
4. Uniformitatea instruirii n domeniul proiectrii i utilizrii sistemelor grafice, asigurarea unui
vocabular unic de termeni i concepte.
Primul standard internaional n domeniul sistemelor de sintez a imaginilor, adoptat n
1985 de ctre ISO (International Standards Organisation) i de ctre ANSI (American National
Standards Institute) a fost G.K.S. (Graphical Kernel System). El definete un set complet de funcii de
afiare 2D independente de echipamente, funcii de segmentare (grupare a primitivelor grafice), de
transformare, de control al staiilor de lucru, i de interaciune. Standardul are dou pri:
I - Specificaia funciilor sistemului grafic, ntr-o manier independent de limbaj;
II - Interfee pentru diferite limbaje de nivel nalt (Fortran, Pascal, C, Ada), adic denumirile
subprogramelor prin care sunt implementate funciile sistemului, parametrii fiecrui subprogram i
erorile de semnalat.

Ulterior a fost adoptat o extensie a standardului GKS, pentru sinteza imaginilor care redau
obiecte tridimensionale, numit GKS-3D.
Subprogramele prin care sunt implementate funciile definite n standardele GKS/PHIGS
formeaz nucleul independent de dispozitive al sistemului grafic. Prelucrrile dependente de
caracteristicile diferitelor tipuri de echipamente sunt grupate n modulele driver.
Au fost propuse i alte standarde: CGI (Computer Graphics Interface) i VDI (Virtual Device
Interface). Pentru arhivarea i transmisia informaiilor grafice ntre sisteme a fost elaborat standardul
CGM (Computer Graphics Metafile, ISO-DIS 8632).
Exist deasemenea standarde pentru transmisia la distan a documentelor coninnd texte,
figuri, imagini discrete (CAPTAIN, CEPT) i standarde pentru arhivarea i transferul de date de
proiectare (IGES).

2. ADAPTOARELE VIDEO I MODURI GRAFICE


2.1. Adaptoarele video
Unitate de afiare a sistemului grafic are doua componente de baza: adaptorul video; monitorul
video.
Adaptoarele video permit afiarea textelor i imaginilor grafice. Informaia care se afieaz pe
ecran se extrage din memoria adaptorului video. Fiecrui punct (pixel) de pe ecran i corespund unul sau
mai muli bii n aceasta memorie. Accesul n memoria video se poate face ca la orice alta locaie de
memorie a calculatorului. Capacitatea memoriei video i organizarea ei depind de tipul adaptorului.
Informaia existenta n memoria video depinde de modul de lucru curent. Astfel, n modul text se
afieaz pe ecran caractere alfanumerice. Grila de puncte cu descrierea formei caracterului este pstrat
intr-o zona a memoriei ROM-BIOS. n memoria video, fiecare caracter ce trebuie afiat pe ecran este
reprezentat de doi octei:
- un octet ce conine codul ASCII al caracterului;
- un octet cu atributele de afiare: culoare caracter, culoarea pixelilor de fond ai caracterului.
Ecranul este considerat ca fiind mprit printr-o grila de 25x80 celule. Fiecare celula poate
conine un caracter. Ecranul este adresat la nivel de caracter, intr-un sistem de coordonate cartezian, cu
originea (1,1) n coltul din stnga sus.
n modul grafic ecranul este considerat ca fiind divizat printr-o grila rectangulara n celule
numite pixeli. Numrul de pixeli ai ecranului (rezoluia) depinde de tipul adaptorului video i de modul
n care acesta lucreaz. Imaginile grafice sunt alctuite din puncte, fiecare punct corespunznd unui
pixel. Numrul de bii alocai n memoria video fiecrui pixel determina numrul de culori afiabile
simultan pe ecran.
n mod grafic ecranul este adresat intr-un sistem de coordonate carteziene avnd originea (0,0)
situata n coltul stnga sus. Coordonatele (x, y) ale unui punct de pe ecran sunt numere ntregi. Valoarea
lui x creste spre dreapta iar cea a lui y spre partea de jos a ecranului.
n funcie de rezoluie i de numrul de culori ce se pot afia simultan pe ecran, n memoria
video se pot pstra una sau mai multe imagini ecran. Numrul de imagini ecran, numite i pagini video
este limitat de capacitatea memoriei video.
Adaptoarele video standard sunt:
EGA (Enhanced Graphics Adapter) - permite lucrul n mod text i n mod grafic. n mod grafic,
rezoluia este de 640x350 puncte, cu 16 culori simultan pe ecran i 2 pagini video.
VGA (Video Graphics Array) - permite lucrul n mod text i n mod grafic. Acest adaptor este
considerat un succesor al adaptorului EGA. n mod grafic rezoluia este: 640x480 puncte i 16 culori
simultan pe ecran din 256K culori posibile, o pagina video sau 320x200 puncte i 256 culori simultan pe
ecran cu o singura pagina video.

SVGA (Super Video Graphics Array). Rezoluia este de la 640x400 puncte i 16 culori pn la
1280x1024 puncte i 16 mii culori.
Adaptoarele EGA folosesc monitoare digitale iar VGA i SVGA folosesc monitoare analogice.
Un monitor digital folosete un numr fix de semnale. Astfel, monitorul pentru adaptorul EGA
folosete 6 semnale: trei pentru culorile de baza R, G, B (rou, verde, albastru) i trei pentru intensiti r,
g, b. Fiind 6 semnale digitale ar putea fi afiate 64 culori distincte simultan pe ecran, dar numrul este
limitat la 16 deoarece culoarea unui pixel se retine pe 4 bii n memoria video.
La un monitor analogic, semnalele R, G, B pot varia continuu. Aceasta permite o variaie
continua a nuanelor de culori. ns, numrul de culori disponibile este limitat de reprezentarea digitala
n memoria video.
2.2. Drivere
Operaiile cu adaptoarele video sunt realizate de module driver-e. Modulele driver conin rutine
prin care sunt accesate memoria video i alte dispozitive ale adaptorului.
Module driver sunt definite ca fiiere cu extensia .BGI (Borland Graphics Interface) i fiiere cu
extensia .CHR.
Exista aplicaii n care viteza de generare a imaginilor este foarte importanta. Astfel de aplicaii
sunt cele care trebuie sa actualizeze imaginea n timp real i cele de animaie. n aceste cazuri se pot
folosi direct rutinele BIOS din memoria ROM a calculatorului. Rutine respective se refera la:
- stabilirea modului video: text sau grafic
- citire/scriere valoare pixel - n mod grafic
- scriere caractere cu atribute - n mod text.
Ele permit accesul direct la memoria video. Avantajul il constituie viteza sporita de generare a
imaginii.

2.3. Moduri grafice


Fiecare tip de adaptor permite foloirea calculatorului n unul sau mai multe moduri grafice,
numite i moduri video. Ele se deosebesc prin rezoluia ecranului, numrul de culori ce se pot afia
simultan pe ecran i numrul de pagini video disponibile. n tabelul 1 sunt prezentate modurile video
specifice fiecrui tip de adaptor, moduri accesibile prin bibliotecile grafice existente n mediile de
programare C i Pascal.
Prin operaia de autodetecie se determina tipul de adaptor video, se ncarc n memorie
fiierul .BGI corespunztor i se selecteaz modul video cu rezoluia maxima.
Tabelul 1. Moduri grafice
Constanta
Driver
Grafic
VGA

Constanta
mod video
mod
VGALO
VGAMED
VGAHI

Rezolutie
(col*lin)

Paleta
culori

Pagini
video

640x200
640x350
640x480

16 cul.
16 cul.
16 cul.

4
2
1

10

2.4. Iniializarea modului grafic


InitGraph(GraphDriver, GraphMode) - funcia stabilete valorile implicite ale parametrilor de
operare n mod grafic i ncarc de pe disc n memorie modulul driver corespunztor primului
parametru. Modul de lucru al driver-ului ncrcat este specificat prin al doilea parametru iar denumirea
completa a caii unde se va caut fiierul .BGI corespunztor este prezentata prin al treilea parametru.
Valoarea zero a parametrului GraphDriver determina apelul funciei pentru autodetecia tipului
adaptorului video instalat. n acest caz, efectul execuiei funciei initgraph este urmtorul: se detecteaz
tipul adaptorului video instalat, se ncarc n memorie fiierul .BGI corespunztor i se selecteaz modul
grafic cu rezoluia maxima pentru adaptorul respectiv. Funcia initgraph va ntoarce numrul driver-ului
ncrcat n parametrul GraphDriver i numrul modului grafic selectat n parametrul GraphMode.
Funcia initgraph memoreaz intr-o variabila interna un cod care indica operaie reuita sau
terminata prin eroare. Codul poate fi obinut cu funcia Graphresult. Daca operaia de iniializare a
modului grafic s-a desfurat cu succes, codul este egal cu 0, altfel este o valoare negativa. n caz de
insucces funcia ntoarce codul de eroare. n tabelul 2 sunt prezentate codurile de eroare ntoarse de
funciile initgraph detectgraph i graphresult.
Tabelul 2. Coduri de eroare intoarse la Iniializarea modului grafic detectgraph
Cod eroare
-2
-3
-4
-5

Semnificatie
Nu se poate detecta tipul adaptorului video
Nu se poate localiza fiierul .BGI
Format incorect al fiierului .BGI
Memorie insuficienta pentru a ncrca driver-ul grafic

Detectgraph(Graphdriver, Graphmode) - funcia detecteaz tipul adaptorului video instalat. Este de


regula apelata de funcia Initgraph. Poate fi apelata i independent, dac se dorete doar stabilirea
configuraiei hardware i nu selectarea automata a modului grafic de rezoluie maxim.
Spre deosebire de initgraph funcia nu ncarc n memorie fiierul .BGI corespunztor. De
aceea, dup apelul funciei date trebuie apelata funcia Initgraph. Ulterior, daca se dorete schimbarea
modului grafic selectat, se va folosi funcia Setgraphmode.
Pentru a cunoate daca execuia unei funcii din biblioteca grafica a decurs normal sau nu, se pot
folosi funciile Graphresult i Grapherrormsg.
Graphresult - funcia ntoarce codul de eroare referitor la execuia ultimei funcii grafice. Codul de
eroare este o valoare ntreaga cuprinsa intre -14 i 0. Semnificaia fiecrui cod eroare este prezentata n
tabelul 3.
Grapherrormsg - funcia ntoarce un ir de caractere reprezentnd mesajul corespunztor codului de
eroare furnizat de funcia graphresult.
Tabelul 3. Coduri i mesaje de eroare ntoarse de funciile graphresult i grapherrormsg
Cod eroare Nume Simbolic
Mesajul afiat (de funcia grapherrormsg)
0
grOk
No error
-1
grNoinitGraph
(BGI) graphics not installed (use initgraph)
-2
grNotDetect
Graphics hardware not detected
-3
grFileNotFound
Device driver file not found
-4
grInvalidDriver
Invalid device driver file

11

-5
-6
-7
-8
-9
-10
-11
-12
-13
-14

grNoLoadMem
grNoScanMem
grNoFloodMem
grFontNotFound
grNoFontMem
grInvalidMode
grError
grIOError
grInvalidFont
grInvalidFontNum

Not enough memory to load driver


Out of memory n scan fill
Out of memory n flood fill
Font file not found ()
Not enough memory to load font
Invalid graphics mode for selected driver
Graphics error
Graphics I/O error
Invalid font file ()
Invalid font number

2.5. Schimbarea i interogarea modului grafic


Fiecare driver permite doua sau mai multe moduri video cu diferite rezoluii i palete de culori.
n biblioteca grafica exista funcii care permit schimbarea modului video stabilit sau interogarea
modului video. Aceste funcii sunt:
Getgraphmode - funcia ntoarce o valoare ntreag ce reprezint modul video curent.
Setgraphmode - funcia stabilete un nou mod video. La apelul acestei funcii se terge ecranul i se
iniializeaz toi parametrii de operare n mod grafic la valorile implicite.
Funcia se poate utiliza la revenirea din mod text n mod grafic. Funciile getgraphmode i
setgraphmode se pot folosi numai dup iniializarea modului grafic.
Getmoderange - funcia primete ca parametru numrul unui driver grafic i ntoarce doua valori
reprezentnd numrul minim i maxim al modului video permis pentru driver-ul grafic specificat.
Getmaxmode - funcia ntoarce numrul maxim de moduri video pentru driver-ul grafic curent
(ncrcat n memorie de funcia initgraph).
Spre deosebire de funcia getmoderange, funcia getmaxmode se poate utiliza pentru orice driver,
inclusiv pentru cele definite de utilizator.
Getmodename - funcia primete ca parametru numrul modului grafic activ, specificat fie printr-o
variabila ntreag. Funcia ntoarce un ir de caractere ce reprezinta denumirea modului video.
Graphdefault - funcia iniializeaz toi parametrii de operare n mod grafic la valorile implicite.
Restorecrtmode - funcia reiniializeaz sistemul de afiare n modul text, dup utilizarea modului
grafic. Se poate folosi alternativ cu setgraphmode pentru a comuta din mod text n mod grafic, n funcie
de aplicaie. La trecerea dintr-un mod n altul, ecranul se terge i se afieaz informatia din memoria
video corespunztor noului mod.
2.6. Ieirea din modul grafic
Closegraph - funcia efectueaz revenirea n modul text, modul implicit de lucru al sistemului de
afiare. Ea apeleaz funcia graphfreemem pentru a elibera memoria ocupata de driver-ul grafic, setul
sau seturile de caractere utilizate de program precum i zonele de memorie interne.

12

2.7. Instalarea unui driver


Modulele din biblioteca grafica sunt independente de adaptor datorita existentei modulelor
driver. Pentru acces la memoria video, modulele din biblioteca folosesc driver-ul ncrcat n memorie.
Programatorii pot rescrie un driver grafic pentru un adaptor existent sau pot scrie unul nou.
Funcia Installuserdriver permite utilizarea unui nou driver, incluznd fiierul .BGI specificat ca
parametru, intr-o tabela interna meninut de pachetul de funcii grafice. Un al doilea parametru,
opional, este adresa rutinei de detectare i are valoarea NULL daca nu exista o astfel de rutina.
Funcia ntoarce indexul de driver pe care l va primi driver-ul utilizator astfel instalat sau codul
de eroare -11 daca tabela driverelor instalate este deja plina.
2.8. Includerea driver-lor grafice n forma executabila a unui program
Execuia unui program care nu conine driver-ul grafic n forma .EXE presupune existenta
driver-ului grafic n directorul specificat la apelul funciei Initgraph.
Acest lucru poate sa duc la unele probleme n cazul utilizrii programului furnizat "la cheie".
n cazurile date driver-ul grafic poate fi la inclus n program n forma executabila.
Pentru includerea unui driver grafic n forma executabila a unui program se procedeaz astfel:
1. Se convertete fiierul .BGI n fiier .OBJ cu utilitarul BGIOBJ:
2. Se leag fiierul .OBJ rezultat, la programul executabil.
3. n codul sursa al programului se apeleaz funcia Registerbgidriver sau Registerbgifont, pentru
nregistrarea driverului.
3. PRIMITIVE GRAFICE
Primitive grafice reprezint elementele de imagine care pot fi afiate cu ajutorul funciilor din
biblioteca grafica. Astfel de elemente sunt: punctul, linia, cercul, elipsa, arcul de cerc, arcul de elipsa,
sectorul de cerc, dreptunghiul, poligonul.
Toate primitivele grafice au atribute geometrice (coordonate ecran .a.) i atribute de afiare
(culoarea, tipul de linie, tipul de interior, grosimea liniei .a.). Fiecare atribut de afiare are o valoare
implicita, stabilita la iniializarea modului grafic sau prin apelul funciei Graphdefault.
3.1. Operaii cu pixeli
Putpixel(x,y,c) - funcia afieaz un pixel, ale crui coordonate i culoarea sunt specificate ca parametri.
Getpixel(x,y) - funcia ntoarce culoarea unui pixel ale crui coordonate x i y sunt specificate ca
parametri.
Poziia curenta de desenare poate fi stabilita cu ajutorul funciilor grafice Moveto i Moverel.
Implicit, poziia curenta de desenare este n coltul din stnga sus al porii de vizualizare curente.
Moveto(x,y) - funcia stabilete ca poziie curenta de desenare punctul de coordonate (x,y) specificate ca
parametri. n mod text, funcia echivalenta este Gotoxy.

13

Moverel(xr,yr) - funcia deplaseaz poziia curenta de desenare relativ la vechea poziie de desenare, cu
distantele xr i yr pe axele x i y respectiv. Noua poziie de desenare nu este limitata la dimensiunea
porii de vizualizare curente.
Getx i Gety - funciile ntorc coordonata poziiei curente de desenare pe orizontala i verticala. Aceste
coordonate sunt relative la poarta de vizualizare curenta.
3.2. Construirea liniilor
Line(x1,y1,x2,y2) - funcia afiseaza o linie intre punctele de coordonate (x1,y1) i (x2, y2), specificate
ca parametri. Linia este afiata folosindu-se valorile curente ale atributelor de afiare ale liniilor: culoare
de desenare, grosime i tip linie, mod de scriere n memoria ecran. Valorile trebuie sa fie stabilite nainte
de apelul funciei line.
Valori implicite au urmtoarele atributele de afiare
culoare
: alb
tip de linie
: continua
grosime linie : un pixel
mod de scriere n memoria ecran: COPY_PUT
Lineto(xf,yf) - funcia afiseaza o linie din poziia curenta de desenare pn n punctul de coordonate
(xf,yf) specificate ca parametri. Pentru afiarea liniei se folosesc valorile curente ale atributelor
menionate la funcia line. Dup afiare, poziia curenta de desenare va deveni punctul de coordonate
(xf, yf).
Linerel(xr,yr) - funcia afiseaza o linie din poziia curenta de desenare pna intr-un punct specificat prin
deplasamentul relativ fata de poziia curenta de desenare (xr, yr).
3.3. Poligoane
Rectangle(x1,y1,x2,y2) - funcia afiseaza un dreptunghi specificat prin doua vrfuri diametral opuse:
stinga sus i dreapta jos. Coordonatele acestor doua vrfuri constituie parametrii funciei.
Bar(x1,y1,x2,y2) - funcia afiseaza o suprafa dreptunghiulara specificata prin doua vrfuri diametral
opuse. La afiarea suprafeei se folosesc valorile curente ale atributelor de afiare ale suprafeelor: tip de
interior i culoare de interior.
Aributele de afiare ale suprafeelor au urmtoarele valori implicite:
culoare de interior
: alb
tip de interior
: uniform (toi pixelii de aceeai culoare)
Bar3d(x1,y1,x2,y2,dz,ind) - funcia afiseaz un paralelipiped dreptunghic, cu fetele paralele cu planele
principale ale sistemului de coordonate 3D. La afiare se folosesc valorile curente ale atributelor tip de
linie i culoare de desenare pentru contururi, respectiv tip de interior i culoarea de interior pentru fete.
Primii patru parametri ai funciei reprezint coordonatele a doua vrfuri diametral opuse ale fetei
paralelipipedului situata mai aproape de observator. Parametrul dz reprezint dimensiunea
paralelipipedului pe axa z i se exprima n numr de puncte. Ultimul parametru permite desenarea

14

opionala a fetei de sus a paralelipipedului. Aceasta nu se deseneaz daca parametrul are valoarea 0.
Opiunea este utila n aplicaii n care se dorete suprapunerea mai multor astfel de figuri.
Parametrii funciei sunt: numrul de vrfuri ale liniei poligonale i vectorul cu
coordonatele (x, y) ale acestora. Pentru a desena o linie poligonala nchisa cu n vrfuri, primul
parametru al funciei va fi n+1, iar coordonatele ultimului vrf vor fi egale cu coordonatele
primului vrf n vectorul cu coordonate.
3.4. Curbe conice
n biblioteca grafica exista funcii pentru desenarea urmtoarelor curbe conice: cerc, arc de cerc,
elipsa i arc de elipsa.
La afiarea curbelor conice se folosesc valorile curente ale atributelor: culoare de desenare i
grosime linie. Ele sunt afiate cu linie continu, indiferent de valoarea curenta a atributului tip de linie.
Circle(x,y,r) - funcia afiseaza un cerc avnd centrul de coordonate (x,y) i raza r, specificate ca
parametri. Raza se exprima printr-un numr ntreg.
Arc(x,y,ui,uf,r) - funcia afiseaza un arc de cerc, intre unghiul iniial ui i unghiul final uf specificate ca
parametri. Raza cercului i coordonatele centrului x i y sunt de asemenea parametri ai funciei.
Unghiurile iniial i final se exprima n grade, cuprinse intre 0 i 360 grade.
Ellipse(x,y,ui,uf,a,b) - funcia afiseaza o elipsa sau un arc de elipsa. Coordonatele centrului x i y,
semiaxele a i b precum i unghiurile iniial ui i final uf sunt specificate ca parametri ai funciei.
3.5. Suprafee
3.5.1. Suprafaa poligonala
Fillpoly - funcia afiseaza o suprafaa poligonala utiliznd valorile curente ale atributelor de afiare ale
liniilor pentru contur, i valorile curente ale atributelor de afiare ale suprafeelor pentru restul punctelor
suprafeei. Poligonul se specifica prin numrul de vrfuri i vectorul coordonatelor (x, y) ale vrfurilor.
n cazul n care coordonatele ultimului vrf difer de coordonatele primului vrf poligonul este nchis
automat.
3.5.2. Suprafaa circulara i eliptica, sector de cerc i de elipsa
Fillellipse(x,y,a,b) - funcia afiseaza o suprafaa eliptica cu interiorul determinat de valorile curente ale
atributelor culoare de interior i tip de interior.
Pieslice(x,y,ui,uf,r) - funcia afiseaza un sector de cerc sau un cerc cu interiorul determinat de valorile
curente ale atributelor tip de interior i culoare de interior. La afiarea razelor care delimiteaz sectorul
se folosesc valorile curente ale atributelor de afiare a liniilor. Coordonatele centrului cercului, raza,
unghiurile iniial i final sunt specificate ca parametri ai funciei. Pentru obinerea unei suprafee
circulare cele doua unghiuri trebuie sa fie 0 i 360 de grade.
Sector(x,y,ui,uf,a,b) - funcia afiseaza un sector de elipsa. Coordonatele centrului elipsei, unghiurile
iniial i final ale arcului care delimiteaz sectorul i semiaxele elipsei sunt specificate ca parametri ai

15

funciei. Sectorul este afiat folosindu-se valorile curente ale atributelor tip de interior i culoare de
interior. Pentru afiarea razelor care delimiteaz sectorul se folosesc valorile curente ale atributelor de
afiare a liniilor.
3.5.3. Suprafaa mrginit de un contur oarecare
Floodfill(x,y,c) - funcia modifica culoarea tuturor pixelilor interiori unui contur existent, folosind
valorile curente ale atributelor tip interior i culoare de interior. Conturul este specificat n lista de
parametri prin culoarea sa. Tot prin lista de parametri se specifica valoarea unui punct interior
conturului. Daca punctul specificat nu este interior conturului se va modifica culoarea pixelilor exteriori
conturului pn la limitele porii de vizualizare curente.

4. ATRIBUTELE DE AFIARE ALE PRIMITIVELOR GRAFICE


Atribute de afiare ale primitivelor grafice snt urmtoarele: culoarea de desenare tipul de linie
grosimea liniei tipul de interior culoarea de interior.
Toate atributele au valori implicite. Pentru specificarea valorilor ce se doresc a fi folosite la
generarea primitivelor grafice trebuie apelate o serie de funcii ale bibliotecii grafice.
4.1. Specificarea culorilor
Culorile care pot fi folosite depind de adaptorul grafic i modul grafic curent. n funcie de
modul grafic utilizat, sistemul VGA permite afiarea a 16 sau a 256 culori simultan dintr-o gama de
256K nuane posibile.
Cele 16 culori ce pot fi afiate simultan de adaptorul VGA n modul 16 culori formeaz o paleta,
prezentata mai jos:
Tabelul 4.1. Paleta implicita VGA
Culoare
(numrul
intrarii)
0
1
2
3
4
5
6
7
8
9
10
11
12

Valoare
implicita
(hexa)
0
1
2
3
4
5
14
7
38
39
3A
3B
3C

Valoare
binara

Componente
culoare

000000
000001
000010
000011
000100
000101
010100
000111
111000
111001
111010
111011
111100

----------B
----G----GB
---R----R-B
-g-R----RGB
rgb--rgbB
rgb-Grgb-GB
rgbR--

Nume culoare
BLACK
BLUE
GREEN
CYAN
RED
MAGENTA
BROWN
LIGHTGREY
DARKGREY
LIGHTBLUE
LIGHTGREEN
LIGHTCYAN
LIGHTRED

16

13
14
15

3D
3E
3F

111101
111110
111111

rgbR-B
rgbRGrgbRGB

LIGHTMAGENTA
YELLOW
WHITE

Paleta folosita poate conine oricare din cele 64 de nuane posibile. Modificarea unei culori sau a
ntregii palete se realizeaz cu funciile Setpalette respectiv Setallpalette.
4.2. Funcii pentru stabilirea paletei i a culorii de desenare
Getmaxcolor - funcia ntoarce numrul maxim de culori ce pot fi folosite n modul grafic curent.
Setcolor(c) - funcia poate fi apelata pentru stabilirea culorii de desenare curente.
Getcolor - funcia ntoarce culoarea de desenare curenta.
Setbkcolor(c) - funcia poate fi apelata pentru specificarea culorii fondului. Ea modifica prima intrare a
paletei de culori la valoarea specificata ca parametru.
Utilizarea acestei funcii are ca efect schimbarea a pixelilor afiai n culoarea de fond. Astfel, o
parte din imaginea afiata poate deveni "invizibila", atunci cnd culoarea fondului este aceeai cu cea a
unor elemente de imagine. Imaginea insa nu este modificata i nu se pierde, astfel incit la o noua
modificare corespunztoare a culorii fondului imaginea poate redeveni "vizibila" n ntregime.
Getbkcolor - funcia ntoarce valoarea curenta a culorii de fond.
Culorile (de desenare, de interior, culoarea fondului) pot fi specificate prin valorile numerice
corespunztoare sau prin numele simbolice, definite n fiierul GRAPHICS.H. dupa cum urmeaz:
BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGREY, DARKGREY,
LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE
Setpalette(indpal, c) - funcia modifica o intrare a paletei. Ea primete prin lista de parametri numrul
intrrii i valoarea, care se va memora n intrarea respectiva. (indpal index paleta, c culoarea).
Schimbarea culorilor de desenare se poate realiza numai prin schimbarea modului grafic. De
reinut ca schimbarea modului grafic are ca efect tergerea ecranului.
Intrrile noii palete pot fi definite explicit sau noua paleta poate fi una obinut anterior cu apelul
getpalette.
Aceasta funcie nu poate fi folosita n modurile grafice care folosesc palete predefinite, deoarece
n aceste moduri grafice doar culoarea fondului poate fi modificata i nu ntreag paleta.
Getpalette - funcia ntoarce paleta de culori curenta.
Setrgbpalette - funcia poate fi folosita pentru modificarea paletei (fizice) de 256 de culori. Fiecare
culoare din paleta se definete prin 3 valori corespunztoare componentelor de baza rou, verde i
albastru (RGB). Aceste valori se reprezint pe cte 6 bii. Funcia are ca parametri: numrul intrrii din
paleta care se redefinete ( ntreg intre 0 i 255) i valorile culorilor primare R, G, B. Daca se lucreaz n
modul VGA cu 16 culori simultan, sunt folosite numai primele 64 intrri ale paletei fizice.

17

Din cei 16 bii pe care se reprezint fiecare din parametrii Rval, Gval, Bval sunt folosii doar cei
mai semnificativi 6 bii ai octetului mai puin semnificativ. Aceasta corespunde la valori multiplu de 4,
n intervalul 0..252.
4.3. Atributele de afiare ale liniilor
n biblioteca grafica sunt predefinite 4 tipuri de linie i doua grosimi. De asemenea, exista
posibilitatea ca utilizatorul sa-i defineasc propriul sau tip de linie.
Setlinestyle(tl,gl) - funcia stabilete valorile curente ale atributelor tip de linie i grosime linie.
n fiierul GRAPHICS.H sunt definite urmtoarele constante simbolice pentru tipul i grosimea
liniei:
OLIDLINE, DOTTEDLINE, CENTERLINE, DASHEDLINE,
USERBITLINE
NORMWIDTH, THICKWIDTH.
Valorile implicite ale acestor atribute de afiare sunt SOLIDLINE i NORMWIDTH.
Cel de-al doilea parametru al funciei Setlinestyle (Sablonlinie) are semnificaie numai cnd
primul parametru, tipul de linie, este USERBITLINE (valoarea numerica 4). n acest caz liniile se vor
trasa prin multiplicarea ablonului definit de utilizator. Tabloul definit de utilizator se reprezint pe 16
bii. Un bit corespunde unui pixel al liniei, cu semnificaia 1 - pixel aprins (desenat cu culoarea de
desenare curenta), 0 - pixel stins.
Getlinesettings - funcia ntoarce informaii referitoare la valorile curente ale atributelor tip de linie,
ablon de linie, i grosime linie.

4.4. Atributele de afiare ale suprafeelor


Atributele date sunt folosite de funciile: bar, bar3d, fillpoly, floodfill, fillellipse, pieslice i
sector.
Tipul de interior se specifica printr-un sablon de 8x8 pixeli. Culoarea de interior poate fi diferita
de culoarea de desenare, folosita la afiarea conturului figurilor de tip suprafaa.
Setfillstyle(ti,ci) - funcia poate fi apelata pentru specificarea valorilor curente ale atributelor tip de
interior i culoare de interior, specificate ca parametri.
Setfillpattern(sb,ci) - funcia primete prin lista de parametri un ablon i culoarea de interior. Un
ablon se reprezint printr-un vector de caractere.
Getfillpattern funcia ntoarce ablonul utilizat curent, specificat la apelul funciei Setfillpattern.
Getfillsettings funcia ntoarce valorile curente ale atributelor tip i culoare de interior.
5. TEXTUL N MOD GRAFIC
n aplicaiile grafice, imaginile care se afiseaza pot conine i texte, formate din iruri de
caractere. Afiarea acestor texte nu pot fi facute n modul text, deoarece trecerea din mod grafic n mod

18

text i invers are ca prim efect tergerea ecranului. De aceea este necesar ca i n mod grafic sa existe
posibilitatea afirii de texte pe ecran.
n mod grafic afiarea textului difer de afiarea n mod text. Astfel, un caracter poate fi
amplasat n orice poziie pe ecran (specificata prin coordonate de pixel) fata de modul text n care un
caracter poate fi amplasat numai n una din cele 25x80 celule n care ecranul este considerat a fi divizat.
De asemenea pentru modul grafic exista definite mai multe seturi de caractere, iar dimensiunea
caracterelor poate fi modificata. Direcia de scriere a textului poate fi orizontala sau verticala.
5.1. Afiarea textului n mod grafic
n biblioteca grafica sunt definite doua funcii ce permit scrierea textului n mod grafic:
Outtext(Text) - funcia afiseaza un ir de caractere. Poziia de amplasare a textului este poziia
curenta de desenare.
Pentru afiarea textului, funcia folosete valorile curente ale atributelor set de caractere, culoare
de desenare, dimensiune caractere, direcie de scriere (orientare text) i aliniament. Valorile acestor
atribute se stabilesc cu ajutorul unor funcii speciale.
Outtextxy(x,y,Text) - funcia afiseaza un ir de caractere, n poziia de amplasare x i y, specificata
prin parametri. Funcia Outtextxy nu modifica poziia curenta de desenare. Pentru afiarea textului,
funcia folosete valorile curente ale atributelor menionate la funcia outtext.
5.2. Atributele de afiare ale textelor
Aceste atribute sunt: culoarea de scriere, setul de caractere, dimensiunea (mrimea) caracterelor,
direcia de scriere, aliniamentul textului.
Culoarea de scriere este culoarea curenta de desenare stabilita cu ajutorul funciei Setcolor.
Aliniamentul se refera la poziia de afiare a textului fata de poziia de amplasare text transmisa
funciilor outtext i outtextxy. Textul este considerat ca fiind ncadrat intr-un dreptunghi cu laturile
paralele cu axele sistemului de coordonate. n figura sunt desenate cu linie punctata principalele linii ce
delimiteaz dreptunghiul de ncadrare al textului.
Funciile bibliotecii grafice care pot fi folosite pentru stabilirea valorilor curente ale atributelor
de afiare ale textelor snt urmtoarele.
Settextstyle(car, dir, dim) - funcia poate fi apelata pentru a specifica setul curent de caractere, direcia
de scriere i dimensiunea caracterelor. Cel de-al treilea parametru al funciei settextstyle reprezinta
factorul de scalare pe x i y ce se aplica dimensiunii iniiale a caracterelor. Acest parametru ia valori
intre 0 i 10. Orice valoare n afara acestui interval genereaz o eroare - funcia Graphresult ntoarce
valoarea -11 iar valorile curente ale atributelor set caractere, direcie i dimensiune nu se modifica.
Valoarea 0 ca dimensiune a caracterelor are semnificaie diferita n funcie de setul de caractere
curent. Astfel, pentru setul implicit de caractere, valoarea 0 este echivalenta cu valoarea 1. Pentru
celelalte seturi de caractere, valoarea 0 semnifica scalare cu factorii de scalare implicii sx=sy=4 sau cu
factorii de scalare definii de utilizator, folosind setusercharsize. Valorile implicite ale atributelor set
caractere, direcie scriere i dimensiune caracter sunt: DEFAULT_FONT, HORIZ_DIR, respectiv 1.
Numele simbolice ale seturilor de caractere, definite n fiierul GRAPHICS.H, sunt prezentate n
tabelul 5.1.

19

Tabelul 5.1. Seturi de caractere


Nume simbolic
DEFAULT_FONT
TRIPLEX_FONT
SMALL_FONT
SANS_SERIF_FONT
GOTHIC_FONT
SCRIPT_FONT
SIMPLEX_FONT
TRIPLEX_SCRIPT_FONT
COMPLEX_FONT
EUROPEAN_FONT

Valoare
0
1
2
3
4
5
6
7
8
9

Fiier .CHR
TRIP
LITT
SANS
GOTH
SCRI
SIMP
TSCR
LCOM
EURO

Direcia de scriere poate fi orizontala sau verticala. Pentru specificarea sa se pot folosi
constantele HORIZ_DIR i VERT_DIR:
Nume simbolic
HORIZ_DIR
VERT_DIR

Valoare
0
1

Setusercharsize(xm, xd, ym, yd) - funcia permite definirea factorilor de scalare care se vor aplica
dimensiunii caracterelor din setul curent de caractere, exceptnd setul implicit (DEFAULT_FONT).
Factori de scalare se calcul n mod urmtor sxxmxd, syymyd. Factorii sx i sy pot fi
numere ntregi sau fracionare. Daca au valori diferite se produce o deformare a caracterelor afiate, fata
de aspectul lor iniial (form de definiie).
Settextjustify(aliniament) - funcia permite specificarea aliniamentului orizontal i a celui vertical
pentru text. Aliniamentul specifica poziia textului fata de poziia de amplasare text folosita de funciile
de scriere outtext i outtextxy.
Valorile numerice i numele simbolice definite pentru aliniament n fiierul GRAPHICS.H sunt
prezentate n tabelul urmtor:
Tabelul 5.2. Aliniamentul textului
Aliniament
orizontal
vertical

Nume simbolic
LEFT_TEXT
CENTER_TEXT
RIGHT_TEXT
BOTTOM_TEXT
CENTER_TEXT
TOP_TEXT

Valorile implicite sunt LEFT_TEXT, BOTTOM_TEXT.

Valoare
0
1
2
0
1
2

20

5.3. Seturi de caractere (font-uri)


Exista doua tipuri de seturi de caractere: raster (bitmap) i vectoriale (stroke), care difer prin
modul de descriere a caracterelor.
ntr-un set raster, fiecare caracter este definit printr-o matrice de pixeli, de dimensiune fixa. ntrun set vectorial, fiecare caracter este descris ca o secven de segmente de dreapta.
Afiarea caracterelor raster este mai simpla. n schimb, scalarea caracterelor (mrirea sau
micorarea fata de dimensiunea de definiie) este mult mai rapida i mai exacta pentru un set vectorial
dect pentru un set raster.
Setul implicit de caractere, DEFAULT_FONT este un set raster, fiecare caracter fiind definit intro matrice de 8x8 puncte. Celelalte seturi de caractere predefinite sunt seturi vectoriale i sunt memorate
n fiiere cu extensia .CHR.
Fiierele .CHR corespunztoare seturilor de caractere folosite intr-un program pot fi transformate
n fiiere .OBJ cu ajutorul utilitarului BGIOBJ i apoi incluse n programul executabil.
Utilizatorul poate defini noi seturi vectoriale sau poate modifica seturile vectoriale predefinite.
Editarea unui set vectorial se poate face cu utilitarul FE.EXE (Font Editor). Pentru a putea utiliza noile
seturi vectoriale definite, exista n biblioteca funcia Installuserfont
Installuserfont(cale, nume fiier.CHR) - funcia ncarc n sistemul grafic un nou set vectorial dintr-un
fiier .CHR al carui nume este specificat ca parametru i ntoarce un ntreg, identificator al setului. Acest
identificator poate fi folosit de funcia settextstyle pentru a selecta setul curent de caractere.
n sistemul grafic exista o tabela ce poate conine pn la 20 de seturi de caractere, instalate cu
aceasta funcie. Daca tabela este plina, funcia ntoarce valoarea -11.
Spaiul ocupat de un text pe ecran depinde de numrul de caractere din text dar i de setul de
caractere i factorii de scalare utilizai. Pentru a determina dimensiunea n pixeli a dreptunghiului n care
se ncadreaz un text, pot fi folosite doua funcii existente n biblioteca grafica: textwidth i textheight.
Se poate astfel calcula spaiul intre diferite texte sau linii de text care se scriu pe ecran.
Textheight - funcia ntoarce nlimea unui text, exprimata n pixeli, innd cont de setul curent de
caractere, factorii de scalare i direcia de scriere.
Txtwidth - funcia ntoarce laimea unui text, exprimata n pixeli, innd cont de setul de caractere
curent, factorii de scalare i direcia de scriere. Caracterele din seturile vectoriale au limi diferite.
6. OPERAII CU IMAGINI
6.1. Sistemul de coordonate dispozitiv
n mod grafic, ecranul este considerat ca fiind o matrice de puncte (pixeli), fiecare avnd
culoarea sa. n funcie de adaptorul grafic i de modul grafic n care se lucreaz aceasta matrice poate
avea M coloane i N linii, unde M i N se determin de tipul adaptorului i modul de lucru utilizate.
Sistemul de coordonate ataat ecranului, numit "sistem de coordonate dispozitiv" este un sistem
de coordonate carteziane, cu originea n coltul din stnga sus al ecranului, axa x orientata spre dreapta i
axa y orientata n jos.
Coordonatele unui pixel pe ecran sunt cuprinse intre 0 i xmax pe axa x, respectiv 0 i ymax pe
axa y. Valorile xmax i ymax variaza n funcie de adaptorul video instalat i modul grafic n care se
lucreaz, intre 320 i 1024 pe orizontala respectiv intre 200 i 768 pe verticala.

21

Valorile maxime ale coordonatelor pot fi determinate cu ajutorul a doua funcii din biblioteca
grafica. Aceste funcii sunt utile n programele de aplicaie pentru asigurarea independentei lor de
adaptorul grafic folosit. Cele doua funcii sunt:
Getmaxx, Getmaxy - funciile ntorc coordonata maxima pe orizontala, respectiv pe verticala pentru
adaptorul instalat i modul video curent.
6.2. Poarta de vizualizare
Poarta de vizualizare poate fi orice zona dreptunghiulara a ecranului. Ea reprezint zona n care
va fi vizualizat desenul descris n cadrul aplicaiei. Poarta implicita este ntregul ecran. Coordonatele
transmise funciilor de afiare apelate n programele de aplicaie sunt considerate relative la originea
porii de vizualizare curente. Aceasta permite afiarea unui desen oriunde pe ecran, prin simpla
redefinire a porii de vizualizare.
n biblioteca grafica exista funcii specifice pentru definirea i pentru tergerea suprafeei porii
de vizualizare curente
Setviewport(x1, y1, x2, y2, clip) - funcia stabilete poarta de vizualizare curenta, specificata prin
coordonatele a doua vrfuri diametral opuse (stinga-sus, dreapta-jos).
n cazul n care coordonatele transmise funciei setviewport sunt incorecte, funcia Graphresult
ntoarce valoarea -11, fr a se modifica poarta vizuala curenta.
Ultimul parametru al funciei (clip) este indicatorul de decupare. Prin el programatorul poate
specifica daca dorete sa se efectueze operaia de decupare (clipping) a imaginii afiate la frontiera porii
vizuale curente. Astfel, daca parametrul clip are valoarea 0, decuparea va avea loc la marginile ecranului
i nu la cele ale porii de vizualizare curente. Coordonatele specificate pentru desenare sunt relative la
originea porii vizuale curente, dar imaginea afiata se poate extinde peste limitele acesteia. Daca
parametrul clip are o valoare diferita de 0 se va realiza automat operaia de decupare la marginile porii
vizuale curente. Aceasta nseamn ca numai acele elemente grafice care conin puncte aparinnd porii
vor fi afiate.
Funciile Initgraph i Setgraphmode stabilesc ca poarta vizuala curenta ntregul ecran.
Clearviewport - funcia sterge imaginea afiata n poarta vizuala curenta (folosind culoarea de fond) i
stabilete poziia curenta de desenare n coltul stnga sus al porii. Este echivalenta ca efect cu funcia
clrscr dedicata modului text.
Getviewsettings - funcia ntoarce coordonatele ce definesc poarta de vizualizare curenta i valoarea
indicatorului de decupare (clip).
Pentru tergerea ntregului ecran n mod grafic se poate folosi funcia Cleardevice:
Cleardevice - terge ntreg ecranul i muta poziia curenta de desenare n originea sistemului de
coordonate dispozitiv.
Spre deosebire de funcia Clrscr din mod text (care terge fereastra activa) funcia Cleardevice
nu ine cont de poarta de vizualizare curenta. n cazul n care se lucreaz cu mai multe pagini video n
memoria grafica, se va terge doar pagina activa.

22

6.3. Salvarea i restaurarea imaginilor ndin fiiere


Biblioteca grafica conine funcii ce permit diferite operaii cu imagini sau pri de imagini
ecran: copierea, tergerea, restaurarea, multiplicarea. Aceste Operaii sunt eseniale n aplicaii de
animaie pe calculator; de asemenea, n unele aplicaii este util sa se salveze imagini ecran n fiiere pe
disc.
Funciile care realizeaz operaii cu imagini ecran sunt Getimage i Putimage. "Imaginea ecran"
se refera la imaginea la nivel de pixel dintr-o zona dreptunghiulara specificata prin coordonatele a doua
vrfuri diametral opuse. Determinarea spaiului de memorie necesar pentru salvarea unei imagini ecran
este realizata de funcia Imagesize(x1, y1, x2, y2), care ntoarce numrul de octei necesari pentru a
memora o imagine ecran specificata prin coordonatele a doua vrfuri diametral opuse.
Funcia Getimage(x1, y1, x2, y2, adr) salveaz o imagine ecran intr-o zona de memorie alocata
anterior. Parametrii funciei sunt cele 4 coordonate prin care se specifica imaginea ecran i adresa zonei
din memoria interna. Zona trebuie sa fie mai mica de 64K.
Funcia Putimage(x1, y1, oper) restaureaz o imagine salvata anterior, afind-o intr-o poziie
specificata prin lista de parametri. Poziia este reprezentata prin coordonatele coltului stnga sus al zonei
dreptunghiulare n care va apare imaginea pe ecran.
Funciile Getimage i Putimage permit transferul imaginilor intre memoria ecran i memoria
interna. Pentru aplicaii grafice care opereaz cu mai multe imagini, alocarea memoriei necesare pentru
salvarea lor poate constitui o problema i de aceea este convenabil sa se lucreze cu fiiere. Astfel, o
imagine ecran se salveaz intr-un fiier care poate fi apoi folosit de mai multe ori n diferite aplicaii. Se
poate crea i stoca intr-un fiier o succesiune de imagini, pentru ca apoi imaginile sa fie redate rapid prin
citire din fiier.
Funcii, care realizeaz operaiuni de salvare a unei imagini ecran intr-un fiier, respectiv
restaurarea ei din fiier, snt Getimg i Putimg.
Funcia Getimg(x1,y1,x2,y2,nf) are ca parametri coordonatele a doua vrfuri diametral opuse
ale zonei ecran ce conine imaginea de salvat i numele fiierului. Pentru lucrul cu fiierul se folosesc
funciile Fopen, Fwrite, Fflush i Fclose.
Funcia Putimg(x1,y1,nf,ms) are ca parametri coordonatele coltului stinga-sus ale zonei n care
se va afia imaginea, numele fiierului i modul de scriere. Dimensiunea imaginii ecran se determina din
primii 4 octei citii din fiier. Aceti 4 octei reprezint dimensiunile pe x i pe y. Citirea celor 4 octei
din fiier se realizeaz cu funcia Fgetc. Se determina apoi numrul de octei necesari pentru memorarea
imaginii i se aloca spaiul necesar.
Se apeleaz funcia Rewind pentru repoziionare la nceputul fiierului, apoi se citete imaginea
din fiier folosind funcia Fread. Pentru restaurarea imaginii pe ecran se apeleaz funcia Putimage. n
final se elibereaz spaiul alocat i se nchide fiierul.
6.4. Operaii cu imagini n memorie
Ultimul parametru al funciei Putimage specifica modul de scriere al fiecrui pixel imagine.
Sunt definite 5 moduri de scriere care permit combinarea unui pixel al imaginii de afiat cu pixelul
corespunztor din imaginea existenta n zona de afiare. Modurile de scriere sunt reprezentate prin 5
operatori prezentai n tabelul 6.1 i enumerai n fiierul GRAPHICS.H.

23

Nume
operator
COPY_PUT
XOR_PUT
OR_PUT
AND_PUT
NOT_PUT

Tabelul 6.1. Moduri de scriere a pixelilor imaginei


Valoare Descriere operaie
0
1
2
3
4

imaginea e copiata nlocuind imaginea existenta


Se realizeaz operaia logica XOR la nivel de
pixel intre imaginea salvata i cea existenta
Se realizeaz operaia logica OR
Se realizeaz operaia logica AND
Se realizeaz operaia logica NOT la nivel de
pixel n imaginea salvata i se nlocuiete apoi
imaginea existenta pe ecran

Operaia de copiere (COPY_PUT) este utila atunci cnd se dorete nlocuirea unei imagini sau
poriuni de imagine.
Operatorul XOR_PUT se poate folosi atunci cnd se dorete afiarea temporara a unei imagini
intr-o zona a ecranului. Astfel, daca se afiseaza o imagine de doua ori n aceeai poziie folosind
operatorul XOR_PUT, dup a doua afiare apare imaginea existenta n zona naintea primei afiri.
Metoda se folosete pentru realizarea animaiei.
Funcia Putimage nu afieaz imaginea daca nu ncape n ntregime pe ecran. Nu este luat n
considerare poarta de vizualizare curenta, chiar daca s-a cerut decuparea imaginii la marginile sale.
6.5. Fiiere cu mai multe imagini
Crearea i utilizarea unui fiier cu mai multe imagini este utila n aplicaii care necesita
salvarea/restaurarea unei imagini care ocupa ntregul ecran, la fel i n aplicaii care opereaz cu mai
multe imagini ecran.
n primul caz, salvarea unui ecran se realizeaz prin divizarea imaginii n fii orizontale, de
exemplu n 4 fragmente care se salveaz pe rnd, n acelai fiier. Fragmentele de imagine au aceeai
dimensiune, ceea ce permite o cutare simpla n fiier pentru a determina unde ncepe o noua imagine.
n al doilea caz, imaginile pot avea dimensiuni diferite, de aceea apare problema localizrii
imaginilor intr-un fiier. O soluie ar constitui-o salvarea n fiier a unor imagini de aceeai dimensiune
i anume dimensiunea celei mai mari imagini. Soluia este convenabila doar n cazul n care imaginile
care se salveaz n fiier au dimensiuni aproximativ egale. Daca imaginile sunt de mrimi mult diferite,
restaurarea imaginilor este mai complicata; trebuie determinata dimensiunea fiecrei imagini n parte i
implicit a datelor care se citesc din fiier. Dimensiunea se determina din primii 4 octei ai unei imagini
dar, pentru aceasta trebuie cunoscuta poziia imaginii n fiier. Pentru salvarea mai multor imagini intrun fiier se poate folosi opiunea append la operaia de deschidere a fiierului.
Funcia Savimg salveaz o imagine ecran intr-un fiier pe disc. Fiierul poate conine mai multe
imagini ecran. Funcia ntoarce poziia n fiier a imaginii salvate. Indiferent de dimensiunea imaginii
ecran salvate funcia mparte aceasta imagine n 4 fragmente de aceeai mrime. Divizarea se face n
fii orizontale iar fragmentele sunt salvate apoi n fiier n ordinea de sus n jos.
Restaurarea imaginii salvate anterior intr-un fiier folosind funcia Savimg este realizata de
funcia Restimg. Spre deosebire de funcia Putimg funcia dat are n plus un parametru ce reprezint
poziia n fiier a imaginii ce se restaureaz. Imaginea este formata din 4 fragmente de aceeai
dimensiune.
6.6. Operarea cu mai multe pagini video

24

Imaginea afiata pe ecran n mod grafic este stocata n memoria video. Capacitatea acestei
memorii difer de la un adaptor grafic la altul. De asemenea, cantitatea de memorie necesara pentru a
memora imaginea de pe ntregul ecran depinde de modul video n care se lucreaz. Astfel, cantitatea de
memorie necesara este cu att mai mare, cu cit rezoluia este mai mare i se lucreaz intr-un mod video
cu mai multe culori afiabile simultan pe ecran.
n unele moduri video, capacitatea memoriei video este suficient de mare pentru a permite
pstrarea mai multor imagini ecran. Zona de memorie video necesara pentru a pstra un ntreg ecran se
numete pagina video. n tabelul urmtor sunt prezentate modurile grafice pentru adaptoarele ce suporta
mai multe pagini video.
Tabelul 6.2. Modurile grafice pentru adaptoarele ce suporta mai multe pagini video
Constanta
Driver gr
Driver
VGA

Constanta
mod video

Valoare
mod

Rezoluie
(col*lin)

Paleta
culori

Pagini
video

VGALO
VGAMED
VGAHI

0
1
2

640x200
640x350
640x480

16 cul.
16 cul.
16cul.

4
2
1

n cazul n care adaptorul suporta mai multe pagini video, una singura se afiseaza la un moment
dat. Pagina care se afiseaza la un moment dat se numete pagina vizibila. Pagina n care se scrie la un
moment dat se numete pagina activa.
Iniial pagina 0 este att pagina vizibila cit i pagina activa. Adaptorul poate comuta foarte rapid
de la o pagina la alta. Corespunztor, n biblioteca grafica exista funcii ce permit comutarea i stabilirea
paginii active i a paginii vizibile. Modul de lucru cu mai multe pagini video ofer avantajul unei
actualizri rapide a ntregului ecran. Astfel, n timp ce pe ecran este afiata o pagina, se poate construi o
alta imagine intr-o alta pagina. Prin simpla schimbare a paginii vizibile se va schimba ntreag imagine
afiata pe ecran.
Aplicaiile n care se utilizeaz mai multe pagini video sunt de exemplu, programele de animaie
pe calculator, programele care construiesc imagini foarte complexe. n primul tip de aplicaii pentru a
simula micarea, se afiseaza o pagina video, n timp ce se construiete (se deseneaz) urmtoarele
imagini ale filmului de animaie n celelalte pagini video. Se afiseaza apoi succesiv aceste pagini video
comutnd de la una la alta pentru a simula micarea. n cel de-al doilea tip de aplicaie este de dorit ca
utilizatorul sa nu vad detaliile de construire a imaginii complexe. Timpul de generare a imaginii este
suficient de mare i de aceea pe toata aceasta durata se afiseaza o alta pagina video dect cea activa. n
final se comuta pagina activa astfel incit sa devin pagina vizibila i astfel utilizatorul poate observa
imaginea gata construita.
Funciile din biblioteca grafica ce permit lucrul cu pagini video sunt urmtoarele.
Setactivepage - funcia permite selectarea paginii n care se va desena (pagina activa). I se transmite ca
parametru numrul de pagina care devine pagina activa. Daca noua pagina activa nu coincide cu pagina
vizibila, funciile de desenare apelate n continuare n program nu vor afecta imaginea afiata pe ecran.
Setvisualpage - funcia permite selectarea paginii video care va fi afiata (pagina vizibila). Poate fi
folosita pentru comutarea afirii intre diferite pagini video. Comutarea este mult mai rapida dect poate
urmri ochiul uman; necesita doar un ciclu de remprosptare a imaginii ecran (circa 1/50 secunde)
pentru afiarea unei imagini deja construite, orict de complexa.
6.7. Corecia formelor imaginilor sintezate

25

Fiecrui driver grafic i mod grafic le corespunde o anumita dimensiune a pixelului pe ecran.
Aceasta este reprezentat prin raportul dintre dimensiunea pe orizontala (limea) i dimensiunea pe
verticala ( nlimea) ale unui pixel.
De regula acest raport este subunitar, ce duce la afiarea figurilor generate deformate (lungite
pe verticala). Pentru a calcula i corecta distorsiunile, introduse de forma dreptunghiular a unui pixel,
se folosesc dou funcii din biblioteca Getaspectratio i Setaspectratio.
Getaspectratio(xp,yp) - funcia ntoarce doua valori ntregi, reprezentnd dimensiunile pe x i y a unui
pixel.
Funciile de afiare din biblioteca grafica efectueaz corecia de pixel. Daca figurile apar
deformate pe ecran, cauza o constituie reglarea electronica necorespunztoare a monitorului. Aceasta
poate fi modificata manual. Funcia Circle poate fi folosita ca o metoda de verificare a corectitudinii
reglajului electronic al monitorului. Corecia de pixel nu este efectuata pentru linii, poligoane, elipse sau
arce de elipsa.
Setaspectratio(xp,yp) - funcia stabilete raportul dintre dimensiunea pe x i pe y a unui pixel. Raportul
este folosit automat ca factor de scalare de funciile de afiare cerc, arc de cerc i sector. Se recomand
utilizarea acestei funcii atunci cnd cercul generat de funcia Circle din biblioteca este deformat (pe
verticala sau pe orizontala).
Corecia de pixel se poate realiza prin program - utiliznd funcia Setaspectratio - sau prin
reglarea manual a monitorului.
8. FORMATE STANDARD DE IMAGINI
Imaginile grafice pot fi pstrate n fiiere cu format standard: PCX, BMP, TIFF, GIF, IMG i
altele. Fiierele ce conin imagini grafice au un antet (headerul) i zona de date grafice.
Salvarea unei imagini grafice intr-un fiier implica de regula utilizarea unei tehnici de compresie
a datelor citite din memoria ecran. Se reduce astfel dimensiunea fiierului rezultat.
Restaurarea unei imagini grafice dintr-un fiier presupune operaia de decompresie a datelor i
interpretarea lor n funcie de caracteristicile ecranului utilizat.
Exista trei versiuni de format PCX:
- versiunea 2.5 - pentru EGA/VGA modul 16 culori; utilizeaz paleta standard;
- versiunea 2.8 - pentru EGA/VGA modul 16 culori; conine informaii despre paleta, permind selecia
a 16 din 64 culori disponibile;
- versiunea 3.0 - pentru imagini VGA modul 256 culori; conine informaii de culoare, permind
definirea celor 256 culori;
Pentru crearea unui fiier .PCX n modul ce asigur 256 culori, se scaneaz ecranul la nivel de
pixel. Daca se utilizeaz unul din modurile grafice ce asigur 16 culori simultan, atunci se scaneaz la
nivel de linie ecran pentru fiecare din cele patru plane de culoare.
Header-ul fiierului PCX are 128 octei a cror semnificaie este prezentata n tabelul urmtor:
Octet
0
1

Semnificaie
Identificator = 0xA
Versiune: 0 = V2.5

26

2
3

4 11
12 13

14 15

16 63
64
65
66 67
68 69
70 127

2 = V2.8
3 = V2.8 cu paleta
5 = V3.0
Tehnica de codificare: 1 = RLE
Nr.de bii dintr-un plan de memorie necesari pentru 1 pixel:
1 = EGA/VGA modul 16 culori
2 = CGA modul 4 culori
8 = VGA modul 256 culori
Dimensiune fereastra imagine 4 ntregi (8 octei) ce
definesc colturile diametral opuse: xmin, ymin, xmax,
ymax;
Rezoluia pe orizontala a dispozitivului de afiare:
720 Hercules
640 - EGA, VGA 16 culori
320 - VGA 256, CGA
Rezoluia pe verticala a dispozitivului de afiare:
480 VGA
350 EGA
200 - VGA 256, CGA
348 Hercules
Harta de culori pentru registrele din paleta.
O culoare se specifica printr-un triplet RGB.
Rezervat (= 0)
Numr plane memorie ecran:
4 - pentru EGA/VGA mod 16 culori
1 - n rest
Numr de octei intr-un plan pentru o linie ecran.
Depinde de dimensiunea ferestrei, fiind ntotdeauna un
numr par.
Informaii despre paleta (de regula se ignora):
1 - color sau B&W
2 nuane de gri
Completare header pina la 128 octei cu 0x20.

La salvarea imaginii sunt necesari 2 bii ce specifica unul din cele patru nivele pentru fiecare
triplet RGB din cele 16 palete. Pentru adaptor VGA n modul 256 culori se poate citi coninutul celor
256 registre de culoare. Aceste informaii se scriu la sfritul fiierului - n ultimii 256 x 3 octei separai de zona de date grafice printr-un octet 0x0C.
Tehnica de compresie utilizata este RLE (Run Length Encoding). La salvarea imaginii VGA 16
culori, se citete cte o linie a imaginii din fiecare plan de memorie. Numrul de octei citii din fiecare
plan pentru o linie de imagine depinde de dimensiunea ferestrei.

12. Curbe de aproximare


Curbele de aproximare sunt curbe de forma libera, definite prin puncte. Polilinia avnd ca vrfuri
punctele ce definesc o curba aproximeaz forma curbei. De aceea, construirea unei curbe de aproximare

27

poate fi efectuata intr-o maniera iterativa, acionnd asupra punctelor, numite i puncte de control.
Curbele de aproximare sunt modelate prin ecuaii parametrice.
Astfel, un segment de curba parametrica cubica, n spaiul 2D, este definit prin sistemul de ecuaii:
x(u) a3 ,x u 3 a 2 ,xu 2 a1 ,xu a 0 ,x

y(u) a3 ,y u 3 a 2 ,y u 2 a1 ,y u a 0 ,y
0 u 1

Pentru reprezentarea unei curbe cubice n spaiul 3D se adaug ecuaia:


z(u) a3 ,z u 3 a 2 ,z u 2 a1 ,z u a 0 ,z

Cei 12 coeficieni se numesc coeficienii algebrici ai curbei. Ei determina mrimea i forma


curbei precum i poziia sa n spaiu. Astfel, doua curbe cu aceeai forma au coeficieni algebrici diferii
daca ocupa poziii diferite n spaiu. Pentru simplificarea scrierii, se prefera notaia vectoriala:
p(u) a3 u 3 a 2 u 2 a1u a 0

0 u 1

unde, a3, a2, a1, a0 sunt vectori de trei componente iar p(u) este vectorul de poziie al unui punct
(x(u),y(u),z(u)) de pe curba.
Forma algebrica nu este suficient de intuitiva. Ea nu permite controlul formei curbei, proprietate
care se dorete n proiectarea asistata de calculator. De aceea, n multe aplicaii se folosete forma
geometrica, n care apar explicit condiiile geometrice impuse curbei. n cazul curbelor Bezier i Bspline, la care ne referim n aceasta tema, condiiile geometrice sunt punctele care determina forma
curbei.

12.1. Curbe Bezier


Curbele Bezier sunt curbe de aproximare. Ele au fost definite de matematicianul Bezier, care a
urmrit obinerea unei formulri matematice pentru curbe determinate prin mai multe puncte, uor de
folosit n proiectarea asistata de calculator. Astfel, un segment de curba Bezier este definit prin ecuaia
parametrica:
n

p u Pi * Bi , n u 0 u 1
i 0

unde Pi sunt punctele de control iar


Bi , ni

n!
* u i * 1 u n i
i! n i !

cu 0!=1.
Pentru n=3 (patru puncte de control) obinem ecuaia segmentului de curba Bezier cubica:
p(u) ( 1-u)3P0 3u( 1-u)2 P1 3u 2( 1-u)P2 u 3 P3

sau

p(u) B0 ,3(u)*P0 B1,3(u)*P1 B2 ,3(u)*P2 B3 ,3(u)*P3

unde B0,3, B1,3, B2,3, B3,3 sunt funciile de amestec pentru curbele Bezier cubice.

Proprieti ale curbelor Bezier


1. Curba i are extremitile n primul i n ultimul punct de control.
2. Tangentele n punctele extreme ale curbei sunt chiar primul i ultimul segment al poligonului de
control (Obs: se numete poligon de control polilinia care unete punctele de control).
3. Curba este cuprinsa n ntregime n figura convexa formata de punctele de control ("convex hull").
Dezavantaje

28

4. Gradul polinomului prin care se reprezint curba creste odat cu numrul punctelor de control.
5. Nu poseda proprietatea de control local: deplasarea unui punct de control afecteaz toate punctele de
pe curba.

Trasarea curbelor definite parametric


Pentru trasarea unui segment de curba definit prin ecuaii parametrice se calculeaz diferite
puncte de pe curba folosind ecuaiile parametrice x(u), y(u), z(u), specifice fiecrui tip de curba, pentru
umin<= u <=umax. Funcia curba prezentata n continuare poate fi folosita pentru trasarea mai multor tipuri
de curbe plane. Astfel, pentru calculul punctului de pe curba corespunztor unei valori particulare a
variabilei u, n funcia curba se apeleaz o funcie specificata n lista de parametri. Aceasta difer de la
un tip de curba la altul.

Trasarea curbelor Bezier


Pentru trasarea unei curbe Bezier am definit funcia Bezier. Ea calculeaz punctul de pe curba
corespunztor unei valori u a variabilei parametrice, folosind ecuaiile parametrice x(u), y(u), care
pentru o curba Bezier definita prin 4 puncte de control (n=3) sunt:
x(u) B0 ,3(u)*x 0 B1,3(u)*x1 B2 ,3(u)*x 2 B3,3(u)*x 3

y(u) B0 ,3(u)*y 0 B1,3(u)*y1 B2 ,3(u)*y 2 B3,3(u)*y 3


z(u) B0 ,3(u)*z 0 B1,3(u)*z1 B2 ,3(u)*z 2 B3,3(u)*z 3

Pentru reducerea timpului de calcul al punctelor de pe curba, mai ales atunci cnd n este mare, se
poate folosi relaia de recurenta:
Bi , ni Bi 1 , n u *

n i 1
u
*
i
1 u

Funcia Bezier prezentata mai jos poate fi folosita pentru calculul punctelor de pe o curba Bezier,
oricare ar fi numrul de puncte de control (n>=3). Punctele de control sunt memorate n vectorul P (deci,
datorita declaraiei sale, n<=20). tiind ca p(0)=Pt0s i p(1)=Ptns, pentru a evita calculele inutile am
tratat separat aceste cazuri. Punctele de control se considera a fi definite n spaiul ecran.

12.2. Curbe B-spline


Acestea sunt, ca i curbele Bezier, curbe de aproximare definite prin puncte de control, dar spre
deosebire de curbele Bezier, ele sunt descrise prin funcii polinomiale definite pe poriuni, ceea ce le
confer proprietatea de control local. Segmentele de curba B-spline sunt descrise prin polinoame de grad
doi sau trei, gradul fiind independent de numrul punctelor de control.
O curba B-spline uniforma periodica de grad 2, data prin n+1 puncte de control este descrisa de
urmtoarea ecuaie matriciala:

1...... 2......1 P 1i

pi u 0.5tu2 u1s 2....2........0 Pi


1........1.......0 P 1

1 i n 1

Forma similara pentru curbele B-spline uniforme periodice de grad 3 este:

29

1....3... 3...1 Pi 1


3... 6......3...0 Pi
1
pi u tu3u2u1s
1 i n 2,0 u 1

6
3...0. ....3. .0 Pi 1


1......4. . ...1. .0 P 2

i
Proprieti ale curbelor B-spline
4. Puncte de control multiple. O curba B-spline de grad m trece ntotdeauna printr-un punct de control
de multiplicitate m. Deci, se poate fora trecerea unei curbe B-spline printr-un punct de control
introducnd punctul respectiv n vectorul punctelor de control pe mai multe poziii succesive.
5. Puncte de control coliniare. Daca m+1 puncte de control succesive sunt situate pe o dreapta, atunci
curba B-spline de grad m este situata parial pe dreapta respectiva. Astfel, daca punctele Pi-1, Pi,
Pi+1 sunt coliniare, segmentul pi de curba B-spline de grad 2 se confunda parial cu segmentul Pi-1Pi.
6. Curbe nchise. Pentru a obine o curba B-spline de grad m nchis este suficient ca primele m puncte
de control sa fie identice cu ultimele m.
7. Proprietatea de "nchidere" convexa (convex hull) Orice curba B-spline este complet inclusa n
poligonul convex format prin unirea punctelor de control.
8. Invarianta afina Pentru a transforma o curba B-spline este suficient sa se aplice transformarea (afina)
punctelor de control i apoi sa se regenereze curba. Aceasta proprietate o au i curbele Bezier.

Trasarea curbelor B-spline


Se poate trasa o curba B-spline apelnd funcia curba pentru fiecare segment de curba. n acest scop
trebuie sa definim o funcie care ntoarce punctul de pe curba corespunztor numrului segmentului de
curba (reprezentat n programul de mai jos prin variabila globala i) i valorii variabilei u.

13. Vizualizarea scenelor


13.1. Transformare de vizualizare 2D
Este transformarea care trebuie sa fie aplicata coordonatelor oricrei reprezentri grafice descrise intr-un
sistem de coordonate carteziene diferit de cel ataat dispozitivului de vizualizare. Pentru
exprimarea sa matematica se definesc doua dreptunghiuri cu laturile paralele cu axele sistemului de
coordonate: unul n sistemul de coordonate n care este descrisa reprezentarea grafica, celalalt n
sistemul de coordonate al dispozitivului de afiare (de exemplu, al ecranului). Cele doua dreptunghiuri
sunt numite "fereastra", respectiv "poarta de vizualizare" sau pe scurt "poarta".
Transformarea de vizualizare 2D, numita i transformarea fereastra-poarta este definita astfel incit
poziia relaiva a unui punct (xf,yf) n fereastra sa fie aceeai cu poziia relaiva a
punctului (xp, yp) n poarta, unde (xp, yp) este punctul obinut prin transformarea lui (xf,yf).
Din punct de vedere matematic transformarea este definita astfel:

30

x p x f *s x t x
y p y f *s y t y

unde sx i sy sunt factorii de scalare ai transformrii, care se calculeaz n funcie de mrimea ferestrei i
a porii; tx i ty este translaia presupusa de transformare, determinata de poziiile celor doua
dreptunghiuri, fereastra i poarta, n sistemele de coordonate la care sunt raportate.
Formula transformrii se modifica pentru a se tine cont de faptul ca axa OY a ecranului este
orientat n jos. De asemenea, daca pentru asigurarea decuprii la frontiera porii se folosete funcia
setviewport, formula se corecteaz tiind ca toate coordonatele transmise funciilor de afiare sunt
considerate relative la originea porii de vizualizare.

13.2. Vizualizarea scenelor 3D


Vizualizarea scenelor 3D prin algoritmul BSP
Majoritatea algoritmilor de vizualizare a scenelor 3D opereaz cu obiecte poliedrale reprezentate
prin fete poligonale plane. Astfel sunt: algoritmul Z-Buffer, algoritmii bazai pe sortarea n adncime a
poligoanelor, algoritmul "scan-line", algoritmul bazat pe partiionarea binar a spaiului (BSP),
algoritmul Weiller-Atherton, algoritmul Warnock, i alii .
n algoritmul BSP (Binary Space Partitioning) se folosete o metoda eficienta de determinare a
vizibilitii obiectelor unei scene 3D statice, n care poziia observatorului nu se modifica n timp. El
face parte din categoria algoritmilor care opereaz n spaiul obiect.
Scena 3D este un set de poligoane (apartenena poligoanelor la obiecte nu intereseaz).
Ideea algoritmului este urmtoarea:
Fie un plan care divizeaz spaiul 3D n doua semispaii i setul de poligoane n doua subseturi.
Ca plan de divizare se poate alege planul oricrui poligon al scenei. Poligoanele aflate n acelai
semispaiu, S1, cu observatorul le pot obtura pe cele aflate n celalalt semispaiu, S2, dar ele nu pot fi
obturate de poligoanele din S2. Deci, poligoanele din semispaiul S2 trebuie sa fie afiate naintea celor
din semispaiul S1.
Poligoanele setului S1 pot fi din nou divizate n doua subseturi folosind ca plan de divizare a
spaiului planul unuia dintre poligoanele din S1. n funcie de poziia observatorului, ele sunt clasificate
n poligoane care nu pot fi obturate (aflate n acelai semispaiu cu observatorul, fa de planul de
divizare) i poligoane care pot fi obturate. Aceeai clasificare se poate face i pentru poligoanele din S2.
Divizarea subseturilor de poligoane se continua recursiv pn cnd
fiecare subset obinut are un singur poligon.
Fiecare plan de divizare ar trebui sa se aleag astfel incit sa nu intersecteze poligoanele setului
divizat. Altfel, fiecare poligon intersectat trebuie sa fie descompus n doua sau mai multe pri, dup
cum poligonul este un poligon convex sau concav. Creste insa numrul de poligoane ale scenei.
Structura de date folosita n implementarea algoritmului este un arbore binar. Rdcina i
nodurile acestui arbore corespund planelor de divizare, iar frunzele, poligoanelor care se vor afia.
Fie P un poligon oarecare al scenei, rdcina arborelui binar. Fa de planul acestui poligon,
poligoanele scenei sunt mprite n doua seturi: setul F ,al poligoanelor din fata poligonului P i
respectiv S, cel al poligoanelor din spatele sau. Setul F este cel care se afla n acelai semispaiu cu
normala la poligonul P. Fiecare poligon aflat de-o parte i de alta a planului considerat, este divizat n
doua sau mai multe poligoane, corespunztor celor doua semispaii. Se
aleg apoi doua poligoane, cte unul din fiecare set, ca fii ai nodului rdcina. Procesul de subdivizare se
continua recursiv pn cnd seturile obinute conin cte un singur poligon.
Funcia pentru construirea arborelui binar este prezentata n urmtorul pseudocod. Ea ntoarce un
pointer la arborele binar construit i are ca parametru lista de poligoane. Apeleaz patru funcii: de

31

inserare i eliminare poligon din lista, de descompunere a unui poligon i de combinare a doi arbori ntrunul singur.
Arborele BSP corespunztor unei scene nu este unic.
Poligonul de divizare trebuie ales astfel incit sa se efectueze cit mai puine descompuneri ale
poligoanelor din setul considerat. Experimental s-a observat ca se obine o aproximare buna a cazului
cel mai favorabil daca se alege poligonul de divizare din cinci sau sase ncercri.
Afiarea corecta a unui poligon P implica urmtoarea ordine de generare n memoria ecran:
a) generarea tuturor poligoanelor aflate de cealalt parte a planului poligonului P dect observatorul;
b) generarea poligonului P;
c) generarea tuturor poligoanelor aflate de aceeai parte a planului poligonului P ca i observatorul.
Daca observatorul se afla chiar n planul poligonului P, atunci se poate aplica orice ordine de
generare.
Rezulta ca pentru a afia corect imaginea, arborele trebuie traversat intr-o anumita ordine, n
funcie de poziia observatorului. Funcia recursiv de traversare a arborelui BSP este prezentat n
urmtorul pseudocod. Parametrul funciei este pointer ctre arborele BSP.

Arborele BSP al unei scene este creat o singura data. Afiarea scenei presupune traversarea
arborelui BSP, care este dependenta de poziia observatorului.

Vizualizarea scenelor 3D prin algoritmul Z-buffer


Algoritmul Z-buffer este considerat cel mai simplu algoritm de afiare a scenelor 3D numai prin
prile vizibile. Acest algoritm nu necesita comparaii intre obiecte sau calcule de intersecie i de aceea
este simplu de implementat. Necesita insa ca structura de date un buffer (tablou bidimensional), avnd
un numr de elemente egal cu rezoluia ecranului. Fiecare element din buffer memoreaz informaia de
adncime (coordonata z) corespunztoare unui pixel (x,y). De aceea, structura de date folosita i
algoritmul se numesc Z-buffer.
Algoritmul, pe care-l schim n continuare, se executa asupra unei scene 3D, dup ce asupra
scenei s-a efectuat transformarea de proiecie. De asemenea, pentru reducerea
numrului de poligoane tratate n cadrul algoritmului, se recomanda ca mai nti sa se determine fetele
auto-obturate ale fiecrui obiect. Metoda "backface culling" reduce, n medie, la
jumtate numrul fetelor care urmeaz sa fie procesate n continuare de algoritmul folosit pentru
vizualizarea scenei 3D.
Paii algoritmului sunt:
1. Se iniializeaz memoria ecran n culoarea fondului i Z-buffer-ul cu valoarea ce corespunde
planului din spate al volumului de vizualizare canonic (unu). Valoarea minima din Z- buffer (zero)
corespunde coordonatei z a planului din fata al volumului (se considera sistemul de coordonate
carteziene 3D stnga, observatorul fiind situat la infinit ).
2. Se proceseaz poligoanele prin care sunt reprezentate obiectele scenei 3D, intr-o ordine arbitrara.
Pentru fiecare pixel (x,y) ce aparine proieciei unui poligon, se calculeaz coordonata z a punctului
poligonului care se proiecteaz n acel pixel. Fie (x,y,z1) punctul poligonului care se proiecteaz n
pixelul (x,y). Fie z0 valoarea din Z-buffer corespunztoare pixelului (x,y). Daca z1<z0 atunci
punctul (x,y,z1) este mai apropiat de observator dect punctul pentru care exista memorata

32

informaia de adncime n Z-buffer. Fiind mai aproape de observator, este vizibil i deci se nscrie
culoarea sa n memoria ecran iar informaia de adncime n Z-buffer.
Algoritmul presupune calculul coordonatei z pentru puncte aparinnd proieciei unui poligon.
Pentru generarea punct cu punct a poligonului n memoria ecran, este necesara o funcie de haurare
('fill') poligon n spaiul ecran t1s.
Coordonata z a fiecrui punct se poate obine printr-o metoda incrementala. Fie
Ax By Cz D 0

ecuaia planului poligonului care se proceseaz, din care rezulta coordonata z:


z

-Ax -By -D
C

Fie z(x,yh) coordonata z a punctului (x,yh) ce aparine liniei de haurare yh. Conform relaiei (1),
coordonata z a punctului (x+1,yh) este:
-A(x 1 )-Byh-D -Ax-Byh-D A
z(x 1,yh)

z(x,yh)-A/C
C

C
Cum A/C este o constanta pentru un poligon, rezulta:
z(x 1,yh) z(x,yh) - ct1 (2)
Deci, coordonata z a unui punct (x,yh) aparinnd liniei de haurare yh se obine scznd din
coordonata z a punctului anterior o constanta.
O relaie similara se deduce i pentru coordonata z a primului punct de pe fiecare linie de
haurare:
-Ax-B ( y h 1)-D -Ax-By h -D B
z(x,y h 1 )

z(x,y h )-B/C
C

C
z(x,y h 1 ) z(x,y h ) - ct 2 (3)
Relaiile (2) i (3) pot fi utilizate pentru poligoane plane, atunci cnd se cunoate ecuaia
planului.
O alta soluie de a calcula coordonata z este interpolarea lineara. Cunoscnd coordonatele z ale
vrfurilor poligonului se calculeaz z(x,y) de-a lungul laturilor poligonului i apoi de-a lungul liniei de
haurare astfel:
y -y
z a z1-(z1 -z 2 ) 1 h
y1-y 2
y -y
z b z1-(z1-z 4 ) 1 h
y1-y 4
x -x
z c z b -(z b -z a ) b c
xb -x a
Ca i n cazul anterior, se pot determina relaii incrementale att pentru punctele de pe linia de
haurare ct i pentru linii de haurare consecutive. Astfel, pentru doua puncte consecutive (x,y h) i
(x+1,yh) ale liniei yh avem:
x -x
z ( x, y h ) z b -(z b -z a ) b
xb -x a
x -( x 1)
z za
z ( x 1, y h ) z b -(z b -z a ) b
z ( x, y h ) b
xb -x a
xb x a
Fie (zb-za)/(xb-xa)=incH - valoare constanta pentru o linie de haurare yh. Rezulta:
z(x 1,y s ) z(x,y s ) incH (4)

Analog, pentru doua linii de hasurare consecutive avem:

33

y1 - y h
y1 - y 2
y -( y 1)
z z2
z ( x, y h 1) z1-(z1-z 2 ) 1 s
z ( x, y h ) 1
y1-y 2
y1 y 2
Fie (z1 - z2)/(y1-y2)=incV - valoare constanta de-a lungul unei laturi a poligonului, delimitata de
vrfurile (x1,y1,z1) i (x2,y2,z2). Rezulta:
z(x,y s 1 ) z(x,y s ) incV (5)
O posibila implementare a algoritmului Z-buffer este redata n urmtorul pseudocod:
z(x, y h ) z1 - (z1 - z 2 )

pentru fiecare pixel (x,y) execut


ScriePixel( x, y, culoare_fond);
zBuffertx,ys = 1;
pentru fiecare poligon P (fata a unui obiect) executa
* calculeaz constantele ct1=A/C i ct2=B/C, necesare
n calculul coordonatelor z prin interpolare;
* construiete lista laturilor poligonului, ordonata
cresctor dup ymin latura;
pentru yh de la ymin-poligon la ymax-poligon executa
* determina setul laturilor active
(laturile intersectate de linia y=yh);
* calculeaz incremental punctele de intersecie
(xi,yh,zi), dintre linia y=yh i laturile active;
* ordoneaz cresctor dup abscisa punctele de
intersecie;
pentru fiecare segment delimitat de doua puncte de
intersecie consecutive,
(xik, yh, zik)-(xik+1, yh, zik+1) executa
pentru x de la xik la xik+1 executa
* calculeaz incremental z(x, yh);
daca ( z < Z-Buffertx,yhs ) atunci
Z-Buffertx,yhs = z;
ScriePixel( x, yh, culoare_poligon_P);
n cazul n care se specifica un model de iluminare (vezi tema 3) i se cunosc intensitile
luminoase, I, n vrfurile reelei poligonale prin care este reprezentat un obiect, calculul intensitii
fiecrui pixel se face prin interpolare liniara, odat cu calculul valorilor z. Principalul dezavantaj al
algoritmului l constituie calculul intensitii luminoase I, pentru pixeli care sunt apoi obturai de alte
poligoane mai apropiate de observator i care se proceseaz ulterior. De aceea algoritmul se poate
extinde cu o funcie care sa sorteze poligoanele dup extensia pe z, determinnd astfel o ordine de
procesare a lor. Poligoanele vor fi procesate ncepnd cu cel mai apropiat de observator.
Dimensiunea buffer-ului pentru memorarea valorilor z este determinata de dimensiunea porii de
afiare n spaiul ecran. Aceasta dimensiune este insa limitata de memoria disponibila. Din considerente
de eficienta privind memoria utilizata precum i viteza de execuie, valorile z memorate pot fi ntregi
reprezentai pe 8 sau 16 bii, n funcie de complexitatea scenei i de detaliile de reprezentare.
Implementrile hardware ale acestui algoritm folosesc valori z ntregi reprezentate pe 20-32 bii i o

34

memorie speciala pentru pstrarea valorilor z. Scena 3D se scaleaz astfel incit valorile z sa aparin
acestui domeniu fix. Daca numrul de bii este mai mic, din cauza erorilor de reprezentare poate apare
efectul de "aliasing" de-a lungul muchiilor comune a doua fete sau pentru obiecte deprtate care se
suprapun.
Viteza de execuie poate fi mbuntita daca scrierea pixelilor n memoria ecran se face prin
acces direct la aceasta i nu prin apel de funcii BIOS sau din biblioteca grafica (vezi tema 9, adaptorul
VGA).

Proiecii
Proieciile sunt aplicaii care transforma puncte dintr-un sistem de coordonate n-dimensional
intr-un sistem k-dimensional, unde k<n. Proiecia unui obiect 3D intr-un plan de proiecie 2D este
determinata de mulimea punctelor de intersecie ale planului cu dreptele care pornesc dintr-un punct,
numit centru de proiecie, fiecare trecnd printr-un punct ale obiectului. Aceste drepte se numesc
proiectori.
n funcie de poziia centrului de proiecie, proieciile se clasifica n:
- proiecii perspectiva - centrul de proiecie este la distanta finita de planul de proiecie.
- proiecii paralele - centrul de proiecie este la infinit.
Proiectorii sunt linii paralele care trec prin punctele ce definesc obiectul 3D. Direcia
proiectorilor se numete direcia de proiecie.
Proiecia perspectiva ofer o imagine plana a scenei 3D asemntoare cu imaginea obinut cu
ajutorul unui aparat de fotografiat. Se caracterizeaz prin:
- efectul de micorare a obiectului proiectat, proporional cu distanta de la obiect la centrul de
proiecie. Mrimea proieciei unui obiect este invers proporional cu distanta de la obiect la
centrul de proiecie.
- nu pstreaz proprietatea de paralelism pentru liniile care nu sunt paralele cu planul de
proiecie.
Proiecia unui set de linii paralele care nu sunt paralele cu planul de proiecie este un set de linii
convergente ctre un punct din planul de proiecie, numit punct de convergenta.
Proiecia paralela conserva proprietatea de paralelism. De asemenea, fetele obiectului care sunt
paralele cu planul de proiecie i pstreaz forma i dimensiunea n urma proieciei. Dup direcia
proiectorilor fata de planul de proiecie, proieciile paralele se clasifica n:
- proiecii ortografice - proiectorii sunt perpendiculari pe planul de proiecie;
- proiecii oblice - proiectorii nu sunt perpendiculari pe planul de proiecie.

Proiecii n planul XOY


Fie P un punct din spaiu, de coordonate (x,y,z), care se proiecteaz n punctul P'(x',y') din planul
de proiecie. Coordonatele punctului P' se determina cu urmtoarele relaii:
(a) Pentru proiecie paralela, dup direcia de proiecie Dta b cs
x' x - ( a / c ) * z
y' y - ( b / c ) * z

Pentru o proiecie ortografica n planul XOY, direcia de proiecie este Dt0 0 1s.
(b) Pentru proiecie perspectiva, din centrul de proiecie CP(a,b,c)
x' ( a * z - c * x ) / ( z - c )

y' ( b * z - c * y ) / ( z - c )

Proiecii axonometrice

35

O proiecie axonometrica este o proiecie ortografica intr-un plan care nu este paralel cu nici unul
dintre planele principale. Imaginea obinuta printr-o proiecie axonometrica este echivalenta cu una
obinuta printr-o proiecie ortografica n planul XOY, efectuata dup ce obiectului proiectat i s-a aplicat
o transformare geometrica:
PA R y (u y )*R x (u x )

unde Ry(uy) i Rx(ux) sunt matricile de rotaie n jurul axei y, cu un unghi u y, respectiv n jurul axei x, cu
un unghi ux.
Alegnd corespunztor unghiurile uy i ux, obinem cele dou cazuri particulare de proiecie
axonometrica:
- Proiecia izometric, pentru

u x /-35.26 grade

u y /-45 grade
u x /- 20.705 grade

- Proiecia simetric, pentru u /-22.208 grade


y

15. Modele de iluminare


15.1. Calculul luminii reflectate
Caracteristicile luminii reflectate de suprafaa unui obiect depind de lungimile de unda coninute
n lumina incident, direcia i geometria sursei luminoase, de orientarea suprafeei i de proprietile
materialului din care este construita suprafaa. Lumina reflectata de o suprafaa reala (care nu este
difuzor perfect sau reflector perfect) este considerata ca avnd o componenta difuza i una specular.

Reflexia difuza
Lumina reflectata difuz de o suprafaa este dispersata regulat n toate direciile. Conform legii lui
Lambert, intensitatea luminii reflectate de un difuzor perfect, intr-un punct P, este proportionala cu
cosinusul unghiului dintre direcia luminii incidente, L, i normala la suprafaa, N, n punctul P:
I d I l * k d * cos (i)

0<= i <=/2
unde Il este intensitatea luminii incidente iar kd este coeficientul de difuzie a luminii incidente,
0<=kd<=1.
Daca i este mai mare ca PI/2, suprafaa nu primete lumina de la sursa (sursa de lumina se afla n
spatele suprafeei).
Obiectele dintr-o scena reala primesc nu numai lumina emisa de sursele de lumina ci i lumina
reflectata sau transmisa de celelalte obiecte ale scenei. n modelele de iluminare locala, lumina reflectata
sau transmisa de celelalte obiecte ale scenei este numita lumina ambianta i se reprezint ca o sursa de
lumina distribuita uniform n spaiu. Adugnd termenul de difuzie a luminii ambiante, modelul de
iluminare devine:
I d I a * k a I l * k d * cos (i)

0 <= i <=/2
unde Ia este intensitatea luminii ambiante iar k a ( 0<= ka<= 1) este coeficientul de difuzie a luminii
ambiante, dependent de material.
Deoarece intensitatea luminii incidente scade proporional cu distanta de la sursa la obiect se
introduce un factor de atenuare, modelul devenind:

I d I a * k a f a t* I l * k d * cos (i)

36

fat min ( 1/(c1 c 2*d c 3*d 2 ), 1 )

n cazul unei surse de lumina colorata, se calculeaz I d pentru fiecare dintre cele trei componente
primare, R, G, B. De exemplu, ecuaia corespunztoare componentei "Red" a culorii luminii reflectate
este:
I dR I aR*k aR f at*I lR*k dR* cos (i)

unde kar i kdr sunt coeficienii de difuzie ai culorii rou, specifici materialului suprafeei.

Reflexia spicular
Pentru calculul intensitii luminii reflectata specular de o suprafaa se poate folosi modelul
empiric dezvoltat de BuiTuong Phong:
I s I l * w(i, i) * cos (a)n

unde
w(i,i) este funcia de reflectant,
i-unghiul de incident iar i-lungimea de unda a luminii incidente;
a este unghiul dintre direcia R i direcia V, a observatorului;
n este exponentul de reflexie specular al materialului. Se alege pe cale experimentala. Are valori mari
t1s pentru suprafee strlucitoare (metalice).
Deoarece funcia de reflectant este complexa, n practica ea este nlocuita cu o constanta
determinata experimental, numita coeficientul de reflexie specular al materialului.
Combinnd rezultatele, se obine urmtorul model de iluminare pentru suprafee reale:

I i I a i*k a

f at*I l i (k d i* cos (i) k s i* cos (a)n)

tiind ca

cos (i) L N/(|L||N |) Lu N u

i
rezulta:

cos (a) R V/(|R||V|) Ru Vu

I i I a i*k a i f at*I l it k d i*(Lu N u ) k s i*(Ru Vu )ns

Atunci cnd sursa de lumina este la infinit, produsul scalar (L u Nu) este constant pentru un
poligon dat, n timp ce (Ru Vu) variaz de la un punct la altul. Pentru suprafee curbe, variaz att (N u Lu)
ct i (Ru Vu).
Daca scena 3D este luminata de m surse de lumina, intensitatea luminii reflectate de un punct se
obine nsumnd contribuiile celor m surse:

I i I a i*k a i f ati*I l iit k d i*(Lui N u ) k s i*(Rui Vu )ns

1<=i<=m

15.2. Redarea suprafeelor iluminate


Suprafaa considerata se presupune a fi compusa din faete poligonale. Ea poate fi reprezentarea
exacta a unui corp poliedral sau reprezentarea aproximativa a unei suprafee curbe.

Modelul LAMBERT
Pentru fiecare faeta se calculeaz o singura intensitate, cu formula:
I d k * (N u Lu )

unde

37

Nu este vectorul unitate normal la suprafaa iar


Lu este versorul direciei sursei de lumina,
k este o constanta.
Modelul se folosete pentru afiarea obiectelor poliedrale
Pentru afiarea cu efecte de lumina a suprafeelor curbe aproximate prin reea poligonala se
recomanda modelele Gouraud i Phong, n care intensitatea de afiare a unei faete se determina innduse cont de orientarea faetelor vecine.

Modelul GOURAUD
Procesul de redare a unei suprafee iluminate, dup modelul Gouraud consta din urmtoarele
etape:
1. Se calculeaz o normala n fiecare vrf al reelei poligonale prin care este reprezentata suprafaa.
Normala poate fi aproximata prin media normalelor la faetele adiacente n vrful respectiv.
2. Se calculeaza intensitatea luminii reflectate n fiecare vrf al reelei, pe baza modelului LAMBERT,
folosind normala n vrful respectiv;
Se afieaz suprafaa calculnd intensitatea intr-un punct al unui poligon:
(a) prin interpolarea liniara a intensitilor vrfurilor, pentru punctele de pe laturi;
(b) prin interpolare liniara intre intensitile de pe laturi, pentru punctele interioare poligonului.
Fie poligonul din figura de mai jos. Intensitile n punctele a, b i c se calculeaz astfel:
y -y
I a t I 1 ( y s - y 2 ) I 2 ( y1 - y s ) s / (y1 - y 2 ) I 1 - ( I 1 - I 2 ) 1 s
y1 - y 2
y -y
I b I1 - ( I1 - I 4 ) 1 s
y1 - y 4
x -x
Ic Ib - ( Ib - Ia ) b c
xb - xa
I1 (x1, y1)
Ia Ic Ib
linia de haurare y=ys
I4
I2 (x4, y4)
(x2,y2)
I3 (x3, y3)

Modelul PHONG
n acest model se calculeaz prin interpolare normala n fiecare punct al suprafeei de vizualizat.
Pentru afiarea suprafeei se parcurg urmtoarele etape:
(1) Se determina o normala n fiecare vrf al suprafeei, ca i n modelul Gouraud;
(2) Se afieaz suprafaa calculnd n fiecare punct vizibil mai nti normala apoi intensitatea luminoasa.
Calculul normalelor prin interpolare este similar calculului intensitilor n modelul Gouraud. n calculul
intensitii se poate considera i componenta specular.

16. Suprafee

38

16.1. Suprafee de rotaie


Sfera
Sfera este un corp de rotaie care poate fi considerat o suprafaa 3D nchis sau un poliedru
convex. Ca suprafaa 3D poate fi afiata prin doua familii de curbe (meridiane i paralele), iar ca
poliedru, prin fete poligonale plane (peticele). n cel de-al doilea caz, se considera peticelele ca fiind
patrulatere plane (cele patru vrfuri ale patrulaterului se considera situate n acelai plan, cu o precizie
dat).
Afiarea sferei ca poliedru delimitat de fete poligonale plane implica determinarea fetelor
vizibile. Metoda cea mai simpla este 'backface culling', care permite determinarea fetelor auto-obturate
ale unui poliedru, adic a acelor fete obturate de alte fete ale poliedrului. Fetele auto-obturate sunt fetele
care nu sunt orientate spre observator. Aceasta metoda se poate aplica poliedrelor convexe. Vizibilitatea
fiecrei fete se determina pe baza unghiului dintre normala la fa i vectorul orientat de la fa spre
observator (direcie de proiecie, n cazul proieciei paralele). Normala la o fa se calculeaz ca produs
vectorial al doua laturi adiacente intr-un vrf, astfel incit sa fie orientata spre exteriorul poliedrului.
Pentru aceasta, se considera orientarea trigonometrica a conturului fiecrei fee.
Fie N normala la o fa calculata intr-un vrf al sau i V vectorul din acelai vrf spre observator.
Produsul scalar V*N se definete ca fiind:
V*N V * N * cos () V x*N x V y*N y V z*N z

Daca V*N>0 atunci fata este vizibila; altfel nu e vizibila i deci nu se afieaz.
Pentru afiarea unei sfere trebuie sa se calculeze un set de puncte de pe suprafaa sa. n acest
scop se folosesc ecuaiile parametrice. Sfera se poate obine prin rotaia cu 2*PI a unui semicerc n jurul
unei axe care trece prin capetele sale.
Fie semicercul definit de ecuaiile parametrice:
x(t) r* cos (t)
y(t) r* sin (t)
z(t) 0

-/ 2 t / 2

Prin rotaia sa n jurul axei OY cu 2* se obine sfera definita de urmtoarea ecuaie parametrica:
S(t,u) x(t)* cos (u) y(t) -x(t)* sin (u)
-2 t / 2
0 u 2*

Forma pe componente este:


x r* cos (t)* cos (u)
y r* sin (t)
z -r* cos (t)* sin (u)

- 2 t 2
0 u 2*

Torul
Torul este un corp care se poate obine prin rotaia unui cerc n jurul unei axe situate n acelai plan cu
cercul, care nu intersecteaz suprafaa cercului. Considerat ca poliedru reprezentat prin fee poligonale
plane nu mai poate fi afiat prin metoda 'backface culling', deoarece este un poliedru concav. Pentru
afiare cu eliminarea prilor auto-obturate se va folosi algoritmul de sortare n adncime (algoritmul
pictorului). Peticelele sunt sortate dup coordonata z min, iar afiarea se face n ordinea de la cel mai
ndeprtat de observator la cel mai apropiat.
Pentru afiarea prin peticele a torului se considera proiectia ortografica.

16.2. Suprafee de forma libera

39

Suprafee Bezier
O suprafaa Bezier poate fi descrisa printr-o funcie biparametric cubica. Un punct al suprafeei
este definit n spaiul parametric (u,v) prin:
3

P u , v Pij * Bi ,3 u * B j ,3 v
i 0 j 0

Forma matriceala este:


p(u,v) u 3 u 2 u1 *MB * P * MBT * v 3 v 2 v1 T

0 <= u, v <= 1
unde P este matricea punctelor de control,
MB este matricea de baza Bezier,

1..3. 3....1

3. 6. ...3....0
MB
3.3......0...0

1. . 0......0...0

p(u,v) este un punct de pe suprafaa, care se reprezint n coordonate carteziene prin:


p(u,v) ( x(u,v) y(u,v) z(u,v) )

Compunerea suprafeelor Bezier


Compunerea (alipirea) a doua suprafee Bezier, Q(u,v) i R(u,v), implica unele constrngeri:
ndeplinirea condiiilor de continuitate de ordin 0 i 1. Astfel, daca suprafaa R se alipete la dreapta lui
Q, constrngerile sunt:
(a) Q( 1,v) R( 0 ,v) pentru 0 <= v <= 1
sau
Q3 ,i R 0 ,i i = 0, 1, 2, 3
(b) Q3 ,i - Q2 ,i k ( R1,i - R0 ,i ) i = 0, 1, 2, 3

Divizarea suprafeelor Bezier


Metoda de divizare a unei suprafee Bezier este o extensie a metodei de divizare a curbelor
Bezier. Astfel, pentru aproximarea unei curbe Bezier prin segmente de dreapta se poate diviza recursiv
curba, pn cnd este ndeplinit condiia de linearitate a segmentelor de curba obinute. Fie Pi punctele
de control ce definesc curba. Relaiile de subdivizare n doua curbe definite de punctele Qi i Ri, cu i=03, sunt:
Q 0 P0

R 0 Q3

Q1 (P0 P1 ) / 2

R 1 ((P1 P2 ) / 2 R 2 ) / 2

Q 2 (Q1 (P1 P2 ) / 2) / 2 R 2 (P2 P3 ) / 2


R 3 P3
Q 3 (Q 2 R 1 ) / 2

40

Linearitatea punctelor de control Pi ce aproximeaz curba poate fi testata msurnd distantele d1


i d2 de la punctele P1 i P2 la dreapta P0-P3. Acest test de linearitate poate fi extins la peticele de
suprafaa astfel: se determina planul n care se afla trei dintre cele 16 puncte de control ale suprafeei i
se calculeaz distantele de la celelalte 13 puncte la acest plan. Distanta maxima trebuie sa fie mai mic
dect o precizie impus. Dac o singur distanta depete precizia impusa, atunci se continua
subdivizarea peticelului. Precizia impusa depinde de rezoluia ecranului i orientarea peticelului fata de
planul de proiecie.
Cele patru peticele obinute n urma unei divizri sunt definite de matricele punctelor de control
Pi, astfel:
P1 H 1 * P * H 1 T
P2 H 2 * P * H 2 T
P3 H 3 * P * H 3 T
P4 H 4 * P * H 4 T

unde

..1.....0.....0....0

1 2 ..1 2 .....0....0
H1
1 4.. 2 4 ..1 4....0

1 8.. 3 8.. 3 8 ..1 8

1 8..3 8..3 8..1 8

..0 ..1 4.. 2 4 ..1 4


H2
..0.....0 ..1 2 ..1 2

..0.....0.....0.....1

Afiarea suprafeelor Bezier


O suprafa Bezier poate fi afiat n doua moduri:
- prin doua familii de curbe (curbele de u constant i curbele de v constant);
- ca o suprafa opac, caz n care suprafaa trebuie sa fie divizata n peticele plane dup metoda de mai
sus.
Pentru afiarea suprafeei divizata n peticele plane se pot folosi algoritmii de tip scan-line
propui de Lane-Carpenter i Clark. Algoritmii difer prin testul de planeitate i prin funciile folosite
pentru a obine ecuaii difereniale de subdivizare a peticelelor suprafeei.
Algoritmul Lane-Carpenter efectueaz divizarea unui peticel atunci cnd este intersectat de linia
de imagine curenta. Algoritmul Clark realizeaz subdivizarea tuturor peticelelor suprafeei intr-o etapa
de preprocesare.

41

Algoritmul Lane-Carpenter este prezentat n urmtorul pseudocod:


* construiete lista de peticele, LP;
iniializeaz lista peticelelor active, LPA;
pentru fiecare linie de imagine executa
* actualizeaza lista LPA;
pentru fiecare peticssel, Pi, din LPA executa
dac (Pi poate fi aproximat printr-un patrulater plan)
atunci
* insereaz patrulaterul n lista de poligoane, LPg
altfel
* divide Pi n 4 peticele mai mici, Pij;
pentru fiecare peticel Pij executa
daca (Pij intersecteaza linia imagine) atunci
* adaug Pij la lista LPA;
altfel
* adaug Pij la lista LP;
* proceseaz lista LPg pentru linia de imagine curenta;
Un peticel este adugat la lista LPA daca valoarea y a liniei de imagine este egala cu valoarea y
minima a punctelor de control ce definesc peticelul. Prin subdivizarea diferita a peticelelor adiacente pot
s apar discontinuiti (rupturi) n aproximarea suprafeei. Pentru a evita acest efect, algoritmul trebuie
sa modifice patrulaterele de aproximare adiacente, care provin din peticele diferite. Nu apar
discontinuiti dac fiecare peticel se divide de un numr fix de ori (divizare uniforma), sau daca
divizarea este mai fina (precizia pentru testul de planeitate este mai mica). n ambele cazuri insa, se
efectueaz divizri care nu sunt neaprat necesare.
Peticelele plane obinute n urma subdivizrii pot fi tratate ca poligoane plane care pot fi afiate
folosind un model de iluminare.

17. Aplicarea unei texturi pe o suprafa


n cadrul acestei teme se cere afiarea unui cub pe feele cruia s-a aplicat o "textura". Textura ce
se aplica pe o suprafa neteda se considera definita intr-un sistem de coordonate ortogonal (u,v). Pentru
determinarea intensitii unui pixel ecran se va folosi metoda "transformrii inverse": din spaiul ecran
n spaiul obiect i apoi din spaiul obiect n spaiul texturii.
Textura va fi definita printr-o matrice de 64x64 puncte. Punctele imaginii textura se numesc
texeli.
Cubul se considera definit astfel incit feele sale sa fie paralele cu planele principale ale
sistemului de coordonate carteziene 3D. Se va afia ntr-o proiecie izometrica, echivalent cu
transformarea:
Pr o_izo

Ry(- 45o)* Rx( 35.26o)* Pr o_ortografica x

Dup aceasta transformare, testul de vizibilitate a unei fee se reduce la condiia Nz>0, Nz fiind
componenta z a normalei la fata.
Se va utiliza modelul de iluminare LAMBERT.
Zona din fereastra 2D corespunztoare suprafeei unui pixel se determina aplicnd transformarea
de vizualizare 2D inversa (poarta de afiare -> fereastra reala) celor patru puncte ce definesc suprafaa
pixelului: (px, py), (px+1, py), (px+1, py+1), (px, py+1). Rezulta patru puncte (xi, yi) n fereastr.

42

Din puncte 2D aparinnd proieciei unei fee n fereastra se pot obine puncte 3D aparinnd
fetei cubului prin doua metode:
- pornind de la ecuaia planului fetei
Ax By Cz D 0 z -

Ax By D
C

- prin calcul incremental, ca n algoritmul Z-buffer.


Prezentam n continuare algoritmul de aplicare a unei texturi pe fetele unui cub:
* se aplica transformarea Pro_izo, vrfurilor cubului;
* se determina parametrii transformrii de vizualizare 2D (transformarea "fereatr-poart"); pentru
fiecare fata, F, a cubului executa
daca ( F este vizibila ) atunci
* determina intensitatea If, folosind modelul LAMBERT;
* aplica transformarea de vizualizare 2D vrfurilor
fetei; se obine un patrulater, Fe, n spaiul ecran;
pentru fiecare pixel (px, py) aparinnd patrulaterului Fe
* determina zona Z din fereastra 2D, ce corespunde
suprafeei pixelului (px,py); se obin 4 puncte
(xi,yi);
pentru fiecare (xi,yi) executa
* calculeaz coordonata zi a punctului (xi,yi) din planul
fetei F; se obine punctul (xi,yi,zi);
* aplica transformarea inversa, Tinv= Pro_izo-1, pentru a
obine punctul de pe cubul iniial; se obine punctul
(xi',yi',zi');
* calculeaza (ui,vi), din spatiul parametric al
texturii, pentru punctul (xi',yi',zi');
* calculeaza indicii (i,ti) n matricea textura,
corespunzatori punctului (ui,vi); indicii (i,ti)
corespunzatori celor patru colturi ale unui pixel
determina o zona ZT n matricea textura
* calculeaza factorul de scalare:
fscal = nr_texeli_aprinsi_din_ZT/nr_total_texeli_din_ZT
* afiseaza pixelul (px, py) cu intensitatea If * fscal;

Punctele 3D apartinind unei fee a cubului se pot reprezenta parametric astfel:


- pentru fee paralele cu planul (xOy)
u (x - x 0 ) / (x1 - x 0 )

v (y - y 0 ) / (y 3 - y 0 )

P3

P2

P0

P1

43

- pentru fee paralele cu planul (yOz)


u (z - z1 ) / (z 5 - z1 )

v (y - y1 ) / (y 2 - y1 )

P3

P2

P0

P1

Analog se definesc ecuaiile parametrice pentru celelalte fee.


Indicii (s,t) n matricea textura se determina simplu:
s = u * 63
t = v * 63

44

Interfaa
n acest compartiment este dat informaia despre destinaia butoanelor, ferestrele vederilor,
principiile transformrii obiectelor, crearea animaiilor, calculul scenelor etc.
Dup ncrcarea programului, pe monitor apare fereastra de lucru, compus din ferestrele
vederilor i panelele pe care se afl butoanele pentru crearea, plasarea, controlul asupra obiectelor i
primirea informaiei despre ele.
1. Bara meniului. Acest meniu standard a programului sub Windows, incluznd n sine punctele
File, Edit (comenzi), Tools (instrumente), Group (gruparea obiectelor), Views (manipularea cu
caracteristicile vederilor), Rendering (calcularea scenelor), Track View: manipularea ferestrelor Track
View, Help (ajutor). Majoritatea comenzilor din meniu se dubleaz printr butoanele pe panelul de
instrumente.
2. Panelul de instrumente (Toolbar) este un complect de butoane, apsarea crora cheam
ndeplinirea diferitor comenzi.
3. Fereastra de lucru este mprit n patru ferestre a vederilor (Viewports): Top vederea de
sus; Front vederea din fa, Left vederea din stnga i Perspective axonometria.
Este posibil alegerea i altor proiecii (de jos, din dreapta etc.). la apsarea butonului drept al
mouseului pe fereastra de vedere, din punctul Views devin accesibile toate proieciile (vezi mai jos).
4. Butoanele de manipulare cu ferestrele vederilor (vezi mai jos).
5. Butoanele de manipulare cu animaie.
Times Slider (contorul timpului (cadrelor)) acest buton, pe care sunt reprezentate 2 cifre. Din
stnga cadrul activ acel, la care suntem n momentul dat, iar din dreapta numrul total de cadre
animate n scen.
Animate butonul ce pornete regimul animaiei. nainte de a ncepe crearea animaiei, apsai
aceast tast (culoarea ei se va schimba n rou).
Go to Start se transleaz contorul timpului la nceputul animaiei.
Go to End se transleaz contorul timpului la sfritul animaiei.
Previous Frame se transleaz contorul timpului cu un cadru napoi.
Next Frame se transleaz contorul timpului cu un cadru nainte.
Play Animation rularea animaiei.

45

Key mode toggle micarea ntre cadrele cheie ale obiectului selectat.
Frame Number field numrul cadrului.
Time Configuration ajustarea parametrilor animaiei.

6. Panelele de comand
Create panelul crerii obiectelor.Acest panel cuprinde:
3D Geometry crearea obiectelor tridimensionale.
Shapes crearea figurilor plane.
Cameras crearea camerei de vederi.
Lights crearea surselor de lumin.
Helpers crearea obiectelor de ajutor.
Space Warps crearea surselor transformrilor spaiale
Systems crearea sistemelor de obiecte conectate
Modify panelul schimbrii (modificaiei) obiectelor.
Hierarchy panelul de comand al legturilor ierarhice i a cinematicii inverse.
Motion panelul de comand al animaiei obiectelor.
Display panelul de comand al informaiei, reprezentat n ferestrele vederilor.
Utilities instrumente i posibiliti adugtoare (suplementare).
Pentru a activa unul din panelele de comand, trebuie de apsat pe iconia lui cu butonul stng
al mouseului.
7. Bara de stare sunt dou bare pe ecran, care conin informaia despre scen i activarea
comenzilor (controleaz seciunea aleas, justifeea alegerii, proprietile ecranului). Bara const din
urmtoarele compartimente (n ordine):
7.1.Current selection arat informaia despre alegerea curent. De exemplu: 1 Objects
Selected (este selectat un obiect).
7.2.Lock Selection Set permite de lucrat numai cu obiectele selectate, obiectele care nu au fost
selectate rmnnd neschimbate.
7.3.Coordinates and offset values la transformarea obiectului n aceste cmpuri apar
valoarile, la care a fost translat obiectul pe axele X,Y, Z n sistemul universal de coordonate.
7.4.Grid scale arat mrimea ptratelor plasei ferestrei active. De exemplu, Grid=10,0.
7.5.Promt indiciul, care descrie ndeplinirea comenzii curente.
7.6.Window/Crossing aceast buton permite manipularea alegerii obiectelor. Dac ea nu este
apsat, atunce se selecteaz numai acele obiecte care nimeresc total n poriunea aleas. Dac este
apsat, atunci se selecteaz i acele obiecte, care nimeresc parial n poriunea aleas.
7.7.Degradation override se poate de ntrerupt pentru a redesena mai rapid ecranul la
micarea obiectelor n regim de schiare. Atunci, dac calculatorul nu dovedete s calculeze parametrii

46

obiectului, ct ele se mic, el le deseneaz n regim Bounding Box (n modul unei cutii care-l include),
i numai cnd micarea se oprete, din nou deseneaz obiectul iniial.
7.8.Snap Controls introduce pasul transformrii.
Vizualizarea i dirijarea spaiului 3-D
La crearea unei scene, dac n ea se utilizeaz o geometrie complicat, este foarte greu de
descurcat numai cu acele ferestre de vederi date iniial. n program pentru acest caz sunt prevzute multe
posibiliti de dirijare a vederilor (proieciilor), de asemenea vizualizarea scenei din diferite pri.
Fereastra de vedere activ este marcat cu un chenar alb. Pentru necesitate se poate de activat
orice fereastr apsnd butonul drept al mouseului pe denumirea ferestrei.
Pentru reglarea ferestrelor se poate de folosit de meniul View (punctul Layout), cu ajutorul lui
de asemenea se poate de salvat i restabilit ferestrele.
Orice fereastr poate fi schimbat cu alta, apsnd butonul drept al mouseului pe denumirea
ferestrei i alegnd proiecia care ne trebuie din submeniul punctului View.
Cu ajutorul tastaturii:
T Top, B Bottom, F Front, K Back, L Left, R Right, C-Camera, $ Spotlight,
U User, G Grid, E Track View, W pe tot ecranul.
De vizualizat ecranul din trei pri se poate numai n fereastra de proiecie Perspective i
Camera, n restul sunt artate proieciile bidimensionale, i anume XY planul: (din dreapta, din
stnga, din fa, din spate) i axa vertical Z.
Butoanele dirijrii ferestrelor de proiecie
Ferestre de proiecie standarde
Cu ajutorul acestor butoane se poate de schimbat imaginea n fereastra de proiecie activ.
Zoom mrete sau micoreaz scara imaginii n fereastra activ.
Zoom All mrete sau micoreaz scara imaginii n toate ferestrele n acelai timp.
Zoom Extens arat toate obiectele. Scara imaginii se modific n aa fel, ca toate obiectele s
se includ n fereastra de proiecie.
Zoom Extens All arat toate obiectele n toate ferestrele de proiecie.
Region Zoom mrirea parial a imaginii n poriunea aleas.
Pan translarea imaginii n fereastra activ a proieciei.
Arc/Rotate schimbarea unghiului de vizualizare.
Min/Max Toggle comutator minimizare/restaurare a ferestrei active.
Butoanele de dirijare a ferestrei camerei:
Dolly Camera translarea camerei pe linia camerei scopul.
Field of Vision (FOV) schimbarea unghiului de vedere.
Truck Camera translarea camerei.
Orbit Camera schimbarea poziia camerei n spaiu.
Modurile de vizualizare a obiectelor n scene
Obiectele, aflate ntr-o scen, n ferestrele de proiecii pot fi vizualizate un grad diferit de
reprezentare.

47

De metoda de vizualizare depinde viteza reprezentrii obiectului n fereastr.De ales modul de


vizualizare se poate de asemenea cu ajutorul ferestrei de dialog Viewport Configutation, dac alegem
compartimentul Rendering Method.
Modificarea
Trei butoane pe panelul instrumentelor nseamn:
1.Translare
2.Rotire
3.Scalare
Transformarea obiectului poate fi efectuat concomitent pe dou axe, sau numai pe una.
Transformare poate fi efectuat dup selectarea obiectului apsnd butonul drept al mouseului pe
butonul necesar de pe panelul instrumentelor n fereastra care apare se introduc datele numerice
necesare.
Unitile de msur n scen
Units determin un nou sistem de msur (milimetri, diuimi, etc.). schimbarea sistemului de
msur se face cu ajutorul ferestrei de dialog Units Setup din meniul Views. Iniial n program se
folosesc fui i diuimi (1 fut este egal cu 30,48 cm).
Lucrul cu fiierele
3DS MAX folosete fiiere de diferite formate. Dumneavoastr putei alege calea, dup care
programul caut fiierul n unele cazuri. De exemplu, la salvarea fiierului programul automat se
adreseaz la mapa Scenes (scene). Pentru a schimba calea pus automat se alege din meniul File punctul
Configure Paths (determinarea drumului).
Compartimentul General conine opiuni principale. De exemplu, imaginile sintezate automat
se salveeaz n mapa C:\MAX2\Images, dup informaie ajuttoare programul se adreseaz n mapa
C\MAX2\Help, etc.
Compartimentul PlugIn determin calea spre PlugIns (completrile programului).
Compartimentul Bitmaps determin calea apelrii la biblioteca materialelor (Bitmaps).
Schimbarea acestor acestor parametri trebuie fcut foarte atent, dar mai bine este de lsat
parametrii instalai automat.
Deschiderea scenei
Alegei din meniul File comanda Open, pe ecran va aprea o fereastr de dialog, din care vei
putea selecta fiierul i tastai butonul Open. Deschiderea fiierului se poate de asemenea cu ajutorul
dublului clic pe numele fiierului n fereastra de dialog.
Trecerea obiectelor dintr-un fiier n altul
Alegei din meniul File comanda Merge. n fereastra de dialog aprut selectai fiierul, din care
trebuie trecut obiectul i tastai butonul Open. Dup aceasta se va deschide fereastra de dialog Merge,

48

n care vei vedea lista obiectelor care se afl n fiierul din care se dorete trecerea obiectelor. Aici se
poate de selectat att toate obiectele (All), ct i careva dintre ele: tasta Shift permite selectarea
obiectelor unul dup altul, tasta Ctrl permite selectarea obiectului cte unul.
Salvarea scenei
Pentru salvarea scenei create, alegei din meniul File comanda Save. n fereastra de dialog
aprut n cmpul File Name introducei numele fiierului, alegei mapa pentru salvare i tastai butonul
Save.
Este posibil vareantele urmtoare a unei i aceiai scene amplasat meniu Files pe fereastra de
dialog Preferense Settings,care se chiam cu ajutorul meniului File/Preferense.
Backup File (copie de rezerv) la salvarea scenei, copia ei precedent se salveaz n fiierul
maxback.bak, ntr-o map special. Dac este necesar fiierului maxback.bak i se poate schimba
numele n fiier cu extensia max i de-l ncrcat.
Increment on Save (mrirea numrului la salvare) la fiecare salvare a scenei, la numele
fiierului se adaug un numr, care se mrete la fiecare salvare urmtoare. De exemplu, dac
deschidem fiierul myfile.max, atunci el se va salva sub numele myfile01.max, myfile02.max,
myfile03.max, etc.
Dac fiierul n procesul de lucru a fost deja salvat, dar dorii s-l salvai sub alt nume, alegei
comanda Save As din meniul File, i n cmpul File Name introducei numele nou al fiierului, dup
aceea tastai butonul Save.
Se poate de salvat n scen numai obiectele selectate. Pentru aceasta alegei din meniul File
comanda Save Selected i introducei numele fiierului.
3DS MAX poate automat s salveze copiile de rezerv dup o anumit perioad de timp
(autosalvare).
Enable iniial comutatorul este deconectat. Dac-l conectm, ncepe lucrul sistema de
autosalvare.
Number of Autoback files numrul maximal de copii de rezerv a fiierului se cuprinde n
intervalul de la 1 la 9.
Backup Interval timpul n minute (de la 0.01 pn la 480) ntre salvri.
Comenzile Hold i Fetch
Este posibil salvarea ultimei variante a scenei, alegnd comanda Hold din meniul Edit, satfel
fiierul va fi salvat n bufer sub numele maxhold.mx. Dac este nevoie tot timpul se poate de deschis
aceast variant a fiierului, dac chemm comanda Fetch din meniul Edit.
Este folositor de a salva din cnd n cnd fiierul n bufer, pentru a avea posibilitatea de a ne
ntoarce napoi dup careva micri greite, sau din cauza blocrii neateptate a calculatorului, pentru a
nu pierde informaia, nesalvnd ultima variant a fiierului pe disc.
tergerea scenei
Tot timpul se poate de ters scena curent i de purces la crearea unei noi scene. Alegei din
meniul File comanda New, va aprea fereastra de dialog, care propune urmtoarele variante:
Keep Objects and Hierarchy terge toat animaia din scen, lsnd obiectele, schimbrile
lor i legturile ierarhice.
Keep Objects terge toat animaia i legturile ierarhice n scen, lsnd obiectele.

49

New All terge tot cu excepia obiectelor i schimbrile lor.


Dac alegem comanda Reset (curare) din meniul File, atunci vor fi eliminate toate obiectele
fr excepii, deasemenea toate schimbrile ferestrelor de proiecii.
Importarea i exportarea fiierelor
Fiierele create n 3DS MAX pot fi exportate, adic pot fi salvate sub alt format. Prin meniul
File/Export aceste formate sunt accesibile. De asemenea se poate de importat fiiere din alte programe
grafice, prin File/Import.
Arhivarea scenei
Se poate de arhivat (comprimat) fiierul prin punctul meniului File/Archive. Nu uitai n
fereastra dispoziiilor (Preferences) n despritura Archive System s artai numele programuluiarhivator.
Proprietile obiectului
Informaia total despre obiect se poate obine, apsnd butonul drept al mouseului pe obiect, i
din meniul aprut se alege comanda Properties (proprieti).
Object Information informaie despre obiect.
Dimensions msura paralelipipedului care cuprinde acest obiect.
Vertices numrul vrfurilor n obiect.
Faces numrul feelor n obiect.
Polygons numrul poligoanelor.
Parent numele printelui, de care este ataat obiectul.
Material Name numele materialului, dat obiectului.
Num. Childern numrul obiectelor-copii, ataate obiectului precutat.
In Group numele grupei, din care face parte obiectul dat.
Rendering Control controlul asupra sintezei obiectului.
Renderable determin, dac va fi vizibil obiectul la calculul scenei.
Cast Shadows determin, dac obiectul eman umbr.
Receive Shadows determin, dac eman umbr alte obiecte asupra obiectului dat.
Inherit Visibility vizibilitatea/invizibilitatea obiectului se transmite de la printe.
Motion Blur splarea n micare.
None nimic.
Object rotunjirea cu straturi-repetate.
Image rotunjirea prin splarea pixelilor imaginii.
Display Properties parametrii reprezentrii obiectului n scen.
Show as Boxes reprezentarea obiectului n forma paralelipipedului care-l include.
Backface Cull nereprezentarea muchiilor, vizibile din partea opus n regim liniar
(Wireframe).
Edges Only reprezentarea n regimul Wireframe numai muchiile ncadrate.
Vertex Ticks reprezentarea nodurilor vrfurilor(vertex).
Trajectory reprezentarea traectoriei micrii.
Vertex Colors de artat culorile vrfurilor.

50

Shaded tonarea ca obiect obinuit.


G-Buffer numrul canalului obiectului pentru aplicarea efectelor din Video Post.
Alegerea obiectelor
nainte de a interprinde o oarecare aciune asupra obiectului, este necesar
de-l selectat.
Selectarea obiectelor poate fi efectuat prin mai multe metode: cu ajutorul butoanelor de pe panelul cu
instrumente Select object (selectarea obiectului). Obiectul ales se selecteaz cu culoarea alb (plas alb
n regimul Wireframe).
Cu ajutorul meniului Edit (redactare) comenzile Select All (selecteaz tot), Select None,
Select Invert (inversarea seleciei). Cu ajutorul ferestrei de dialog Edit Named Selection din meniul
Edit. Cu ajutorul ferestrei de dialog Track View (permite de ales obiectul animat).
Cu ajutorul butonului Select by Name (selectarea pe nume). Dac este necesar selectarea mai
multor obiecte, atunci se poate de folosit de tasta Ctrl innd apsat tasta Ctrl, clic cu mousul pe
obiectele care dorim s le selectm.
Se poate de selectat obiectele dac le mprejura cu ajutorul butonului stng apsat al mouseului.
Dac lucrm numai cu vrfuri sau laturi, se poate de folosit nu numai de selectare n form de ptrat, dar
i n form de cerc sau a unui poligon.
Dac n scen sunt multe obiecte atunci este greu de-l selectat pe cel necesar. n acest caz se
poate de folosit de fereastra de dialog Select By Name, care cheam sau din panelul de instrumente, sau
din meniul Edit, punctul Select By /Name. Cu ajutorul acestei ferestre se poate de sortat obiectul (dup
tip, culoare, mrime), selectarea obiectului dup tip, de artat arborele ierarhic.
Dac n procesul de lucru este necesar des de selectat mai multe obiecte concomitent (obiectele
nu formeaz o grup), atunci se poate de selectat aceste obiecte i de introdus numele corespunztor pe
panelul de instrumente n regiunea Named Selection Sets iar apoi si le alegem din list. Numele
introduse dup necesitate pot fi redactate cu ajutorul ferestrei de dialog Edit Named Selection din
meniul Edit.
Pentru selectarea numai a geometriei, numai figurile plane, numai sursele de lumin, etc. dup
tipul obiectului, se poate de folosit de regiunea Selection Filter de pe panelul de instrumente (tipul
necesar se alege din list).
La crearea animaiilor se poate de selectat obiecte din fereastra de dialog Track View, trebuie de
apsat pe + n stnga de Objects, i, n lista deschis de apsat pe cubicul de culoare galben sau
lng numele obiectului.
n scen tot timpul este probabil deformarea neprevzut a obiectelor. Pentru a nltura aceasta,
se poate de folosit de compartimentul Display, care permite nghearea (Freeze) a obiectelor.
Dezghearea lor este posibil cu ajutorul butonului Unfreeze.
Vizibilitatea i invizibilitatea obiectelor
Temporar de ascuns obiectele (de fcut invizibile) se poate cu ajutorul compartimentului
Display, sau cu ajutorul meniului Tools/Display Floater.
Opiunea Hide permite de ascuns obiectele dup tip, nume, categorie, etc.
Lucrul cu Sub-obiectele
La schimbarea obiectului apare necesitatea de a lucra cu o parte oarecare a obiectului cu
vrfurile, muchiile, feelor: la subnivel intern.

51

Pentru aceasta deschidem panelul de comand Modify, numim modificatorul i alegem butonul
Sub-Object, la stnga de acest buton deschidem lista i alegem din el subnivelul necesar.
Grupe
Pentru confort obiectele pot fi grupate cu ajutorul punctului Group din meniul Group. Obiectele
grupate vor avea centru de coordonate comun, relativ de care aceast grup poate fi transformat i
modificat. Dac este necesar lucrul numai cu un obiect din grup, atunci trebuie s ne folosim de
comanda Open din meniul Group.
Not trebuie de luat n vedere, c animaia, dat unei grupe ntregi, dup degrupare dispare.
Sistemul de coordonate al obiectului
Alegerea unui sau altui sistem de coordonate se determin de relaia de transformare a obiectului
n fereastra de proiecii, n care se efectueaz aceast transformare.
View n ferestrele cu proiecii ortogonale se folosete sistemul de coordonate a ecranului, iar
n fereastra cu perspectiv sistemul de coordonate univers.
Screen sistemul de coordonate ecran. Care fereastr de proiecie nu vom folosi axele vor fi
identice: X axa orizontal; Y axa vertical; Z adncimea n direcia pozitiv.
World sistema de coordonate universal comun pentru toat scena.
Parent sistemul de coordonate printe. Dac obiectul nu este legat de nimic, atunci se
folosete sistemul de coordonate universal.
Local s sistemul de coordonate propriu fiecrui obiect.
Grid se folosete sistema de coordonate plasei de aliniere activ (Grid).
Pick se folosete sistemul de coordonate a altui obiect n scen.
Alegerea i transformarea centrului sistemului de coordonate
La selectarea grupei obiectelor, se poate de determinat poziia centrului de coordonate pentru ele:
comun pentru toate, sau local pentru fiecare. Fiecare obiect selectat din grup are centrul su; obiectele
au un centru comun la mijloc; centrul coincide cu centrul sistemului de coordonate universal.
Instalarea parametrilor i controlul culorii la alegerea butonului
Luai seama la butoanele, la care n colul dreapta de jos este o sgeat mic de culoare neagr.
Aceast sgeat vorbete despre aceea, c dac de apsat acest buton i inndu-l puin apsat, atunci
apar butoane adugtoare, subbutoane a aceluiai instrument, care permit efectuarea aciunilor similare
(de exemplu, butonul alinierii cu ajutorul acestui buton se poate efectua alinierea la centru, alinierea
dup normale etc.).
La crearea obiectelor i la schimbarea lor este necesar de regulat parametrii. Luai seama la
butonul lung cu inscripia Parametrs. La stnga de aceast inscripie st semnul + aceasta
nseamn, c fereastra cu parametri e minimizat. Dac vom tasta pe acest buton, fereastra se va
maximiza i va aprea panelul de dialog care permite de instalat sau de schimbat parametrii obiectului
(n acest caz semnul + se va transforma n -). Dac nc o dat vom tasta pe acest buton, atunci
panelul cu parametri se va minimiza.

52

Dac pe ecran nu ncap toi parametrii, atunci n partea dreapt a ecranului apare o bar neagr
ngust este bara derulrii. ranslnd-o cu mouseul n sus i n jos se poate de ridicat sau cobort
panelul parametrilor.
Spineri i cmpurile de introducere
La darea sau modificarea parametrilor obiectului (razei, nlimii, lungimii etc.) se poate de
folosit spinerile (dou butonae la dreapta de cmpul de introducere cu sgei n sus i n jos). Sgeata n
sus permite de mrit parametrul, iar sgeata n jos micorarea. Schimbarea se petrece cu un pas
determinat (o unitate). Schimbarea parametrilor este posibil i cu ajutorul tastaturii (sgeile n dreapta
i n stnga). Pentru a ne transla la rapid la nceputul rndului, tastm tasta Home, la sfritul rndului
End. tergerea simbolului de dup cursor se efectueaz tastnd tasta Delete, simbolul din faa
cursorului tasta Backspace. Selectarea unui bloc de text se poate cu ajutorul tastelor de micare a
cursorului, concomitent este necesar ca tasta Shift s fie apsat. Deasemenea se poate de selectat un
bloc de text cu ajutorul mouseului: poziionai cursorul mouseului n dreptul nceputului blocului,
apsai butonul stng a mouseului i tragei cursorul la sfritul blocului. Textul selectat i va schimba
culoarea aa c va fi uor de deosebit.
Textul selectat poate fi copiat (Ctrl+C) i tiat (Ctrl+X) n buferul de schimb. Punerea textului
din buferul de schimb n cmpul de introducere se poate tastnd Ctrl+V. Schimbarea rapid a textului n
cmpul de introducere se poate, insernd textul vechi i imediat introducnd textul nou, n acest caz
textul vechi dispare. Pentru ca schimbrile s aib loc, tastai tasta Enter.
n cmpul de introducere se poate de introdus att variabile absolute, ct i variabile relative. De
exemplu, dac s-a introdus mrimea raza egal cu 50, iar introducnd textul r20 se schimb mrimea
n 70, iar textul r-20 n 30.
Controlul culorilor
Cu culoarea roie se coloreaz butonul conectrii regimului de animaie la apsarea lui. Cu
culoarea verde se coloreaz butoanele, destinate pentru transformarea i alegerea obiectelor de pe
panelul de instrumente la apsarea lor (activizarea). Cu culoarea albastr se coloreaz butonul
cinematicii inverse la selectarea ei. Cu culoarea galben se coloreaz butoanele aciunilor speciale (SubObject) la nivel de sub-obiecte.
Alinierea obiectelor
n 3DS MAX exist o funcie convenabil pentru alinierea obiectelor unul fa de altul. Alinierea
se poate efectua cu ajutorul butoanelor de pe panelul de instrumente Align (aliniere), sau din meniul
Tools/Align sau Align Normals. La apsarea butonului Align apare fereastra de dialog Align Selection.
Alinierea se efectueaz la alegerea opiunii din aceast fereastr.
Butonul Align Normals alinierea dup normale. Normal se numete vectorul, perpendicular
pe muchia obiectului. Pentru alinierea la nceput se noteaz normala (segmentul cu direcia necesar
normalei) obiectului ce se aliniaz, iar apoi se arat normala obiectului, dup care se face alinierea.
Butonul Place Highlight alinierea direciei sursei de lumin dup normala obiectului.
Butonul Align Camera alinierea direciei camerei dup normala obiectului.
Butonul Align to View aliniaz axele locale ale obiectului selectat sau a sub-obiectului cu axele
ferestrei de proiecii curente.
Obiectele adugtoare

53

Grids deosebesc plasa de baz (Home Grid) i plasa obiectelor (Grid Object) care ajut
urmrirea poziiei obiectului n spaiu. Reglarea plasei de baza se poate de schimbat cu ajutorul ferestrei
de dialog Grid and Snap Settings. Plasa obiectelor se folosete ca un obiect ajuttor pentru alinierea i
poziionarea n spaiu relativ de plasa de baz.
Crearea Grid Object-ului se poate cu ajutorul compartimentului Helpers, i, ca orice alt obiect,
el poate fi schimbat, ters sau i se poate schimba numele. Activarea Grid Object este posibil n orice
moment, apsnd butonul drept al mouseului pe el i de ales din meniul aprut punctul Activate Grid
Object (acelai lucru poate fi efectuat din meniul View/Grid).
Object Snaps permite schimbarea obiectului cu un pas determinat (el poate fi dat n procente,
diuimi, etc.). de exemplu, la rotirea obiectului n bara de stare vor aprea cifrele unghiului de rotire 10,
20, 30 etc. (adic cifrele se vor schimba cu un pas determinat). Reglarea pasului se poate din fereastra de
dialog Grid and Snap Settings, iar mrimea pasului se alege cu ajutorul butoanelor de reglare a pasului.
Copierea obiectelor
Copii te de tipul Copy.
Obiectele copii reprezint dublicatul originalului. Acestea sunt obiecte de sine stttoare, total
independente de el. Lor li se poate ataa diferii modificatori, materiale, transformri toate acestea nu
vor aciona cu nimic asupra originalului, la fel, ca i modificarea originalului tot nu va aciona asupra
copiei. Copiile de obicei se utilizeaz la crearea scenelor (vezi masive i copii).
Copia de tipul Instance.
Dup crearea copiei de tipul Instance, ntre copii se menine legtura: modificarea copiei
respectiv a originalului se transmite originalului respectiv copiei.
Copii de tipul Reference.
Copiile de acest tip posed o legtur bidirecional ntre modificrile originalului i copiei.
Toate modificrile, aplicate originalului, se transmit copiei. La copii este puin mai complicat: la copia
de tip Reference n plasa modificrilor apar trsturi adugtoare asupra modificatorilor comuni cu
originalul.
Dac dorim s utilizm modificatorul, care acioneaz concomitent asupra copiei i originalului,
n plasa modificrilor trebuie de artat la obiectul, care se gsete mai jos de trstur, apoi i se ataeaz
modificatorul.
Dac ns dorim s utilizm modificatorul numai pentru copie, trebuie de artat la modificator,
mai sus de trstura care le desparte, sau pe linie.
Obiecte standarde
Obiecte standarde
Primitive standarde
Primitive desfurate
Culoarea obiectelor
Metoda de creare a obiectelor de la tastatur
Coordonate i parametri
Crearea sferelor, cilindrilor, torurilor, capsulelor
Obiecte standard

54

n program exist complecte de obiecte-prime (Standard Primitives, Extended Primitives,


Doors, Widows), care se folosesc ca baze la crearea obiectelor n scen. Se poate dup dorin de
schimbat parametrii de instalare sau de acionat cu ajutorul modificatorilor.
La crearea obiectelor se folosete panelul Create, care conine urmtoarele categorii de obiecte:
Geometry (geometria).
Shapes (figuri liniare plane).
Light (surse de lumin).
Cameras (camere).
Helpers (obiecte adugtoare).
Space Warps (deformaii spaiale, ca valurile, vntul)
Systems (sistemele obiectelor ajuttoare).
Nectnd la toate categoria dat poate s includ n sine subcategorii, de exemplu Geometry
este compus din Standard Primitives, Extended Primitives, compound Object, Loft Object,
Particle Systems, Patch Grid, NURBS Surfaces, Doors, Windows.
Dup crearea obiectului apare fereastra cu parametri:
Object Type aici putem alege tipul obiectului.
Name and Color n aceast regiune se d numele obiectului i se alege culoarea obiectului.
Creation Method n acest regiune se alege metoda de creare a obiectului, de exemplu, de la
centru sau de la muchie.
Parameters aici se dau parametrii obiectului (nlimea, lungimea, cantitatea de segmente
etc.).
Keyboard Entry la alegerea acestei regiuni parametrii obiectului se dau de la tastatur.
Generate Mapping Coord n aceast regiune se ataeaz legtura coordonatelor pentru
ataarea unui obiect mai complicat. (vezi Materiale)
Primitive standarde (Standard Primitives)
La primitivele standarde se refer paralelipipedul, sfera, geosfera, cilindrul, inelul, cianicul,
prisma i piramida, tubul, conul.
Primitive extinse (Extended Primitives)
Primitivele extinse sunt primitive complexe tridimensionale (Capsule, OilTank, Spindle,
Hedra etc.).
n afar de primitivele geometrice pot fi create i urmtoarele obiecte:
Obiecte Compound - acestea sunt obiecte combinate (Morphs, Boolean etc.).
Obiecte Loft - obiecte complexe, alctuite din figuri plane, care sunt seciuni i ci, dup care
aceste seciuni au fost presate.
Patch Grinds - acestea sunt suprafee adugtoare, care permit alinierea obiectelor relativ unul
fa de altul.
Particle Szstems - sisteme unitare. Permit imitarea proceselor atmosferice, ca ploaia, ninsoarea
etc.
NURBS Surfaces este o suprafa analitic, care permite modelarea reliefelor tridimensionale
complicate.
Doors permite modelarea uilor, reglnd parametrii lor.
Windows permite modelarea ferestrelor.

55

Culoarea obiectelor
n program se folosesc trei modele de culori:
Hue/Blackness/Whiteness (HBW).
Red/Green/Blue (RGB).
Hue/Saturation/Value (HSV).
HBW model de culoare. Acesta este un model mai mult real, care permite uor de gsit
culoarea potrivit. Caracteristica lui de baz palitra-patrat, pe care este artat tot spectrul de culori, cu
trecerea de alb, sus, i terminnd cu negru total, jos, culoarea poate fi aleas, apsnd cu butonul stng al
mouseului n locul care ne trebuie.
Hue (culoare, nuan) ea poate fi schimbat, translnd pointerul (sgeata din stnga) n sus i
n jos. Dac translm pointerul tocmai jos, primim culoarea neagr. Whiteness (cantitatea de lumin
alb) un dreptunghi vertical n dreapta de ptrat. Translnd pointerul (sgeata din dreapta) se poate de
schimbat saturaia culorii. Dac vom transla pointerul tocmai jos, vom primi culoarea alb.

RGB model de culoare.


Red, Green, Blue: rou, verde, albastru. Acest model de culoare se folosete n grafica
calculatorului, deoarece culorile pe ecranul displiului se dau anume ca amestecul componentelor de
rou, verde i albastru.
Cantitatea fiecrei componente se d printr-un numr ntreg de la 0 la 255 (n partea dreapt a
ferestrei de reglare a culorilor trei fii de sus se refer la sistemul RGB). Dac plasm cursorul n
stnga pn la capt, atunci nu se folosete nici o nuan a componentei alese, iar n cmpul de
ntroducere din stnga fiii de rulare vom avea 0. Dac plasm cursorul la valoarea, egal cu 255,
atunci se primete componenta maxim.
HSV model de culoare. Prezint modelul de culoare tradiional. Instalarea valorilor, ca i n
modelul RGB are loc cu micarea cursorului de la 0 la 255, dar are alt sens.
Hue (culoare) nuan. Plasarea cursorului n dreapta ne va da un rou pur. Dac vom transla
cursorul n dreapta spectrului de culori (rou, galben, verde, albastru, albastru deschis, roz), ne vom
ntoarce tot la culoarea roie.
Saturation (saturaia) instaleaz puterea culorii. Saturaia 0 minim, saturaia 255
maxim.
Value (luminzitate) instaleaz luminozitatea culorii. Valoarea egal cu 147, va da culoarea
determinat numai de nuan i saturaie.
Coordonate i parametri
Poziia obiectului o determin coordonatele X, Y, Z. La valorile (0, 0, 0) obiectul se va gsi
direct n centrul sistemului universal de coordonate al scenei. La crearea obiectului este necesar de
urmrit, n care fereastr de proiecie este mai convenabil de creat obiectul, de aceasta va depinde
poziia lui (obiectul este poziionat vertical sau orizontal).
Not: dac se consider c obiectul va fi modificat, atunci este necesar de mrit numrul de
segmente.
Crearea sferelor, cilindrelor, torurilor, capsulelor etc.
Exist dou moduri de creare a acestor obiecte:
De la centru

56

De la muchie
Parametrii de baz a acestor obiecte sunt:
Radius raza (raza interioar sau exterioar)
Sides numrul de pri (ct mai multe pri, cu att mai neted va fi obiectul).
Smooth (netezire) aceast opiune poate fi conectat i deconectat (de instalarea acestei
opiuni va depinde de calitatea desenrii obiectului).
Cap Segment, Height Segment cantitatea de segmente dup baz i nlime corespunztor.
Momentele de baz, care este necesar de inut minte la crearea primitivelor sunt: Determinaiv , cum trebuie s fie poziionat obiectul n scen orizontal sau vertical, i n dependen de aceasta
ncepei s creai obiectul n fereastra de proiecie determinat.
Dac se consider, c obiectul va fi modificat, atunci mrii cantitatea de segmente.Atribuii
legtura coordonat la atribuirea obiectului a unui material complex (vezi Materiale).
Modificatori
Standari
Additional
Edit
Surface
Spline Edits
Utilite
Exerciii, Utilite

Modificatori
Obiectele poziionate n scen au parametrii si parametrii, dai la creare (vezi parametrii de
creare). Se poate dup necesitate de schimbat aceti parametrii sau de atribuit obiectelor selectate diferii
modificatori de pe panelul modificrilor Modify.
Modificatori sunt instrumente de baz pentru modelarea obiectelor, schimbarea formei
iniiale. Nectnd la aceasta modificatorii nu acioneaz asupra parametrilor iniiali.
Unuia i aceluiai obiect i se pot atribui mai muli modificatori. Modificatorul rmne activ pn
nu se atribuie altul, care se suprapune de asupra precedentului. innd cont de succesiunea atribuirilor
este posibil n plasa modificrilor. Lista modificrilor permite din modificatorii atribuii de-l ales pe cel
trebuincios i de-i schimbat parametrii.
Lista modificrilor este organizat n felul urmtor:
Pin Stack: nchide obiectul n starea curent, c el poate fi modificat, chiar dac se selecteaz alt
obiect n scen.
Active/Inactive modifier toggle (modificator activ/inactiv ): deconecteaz i conecteaz
modificatorul ales fr tergerea lui. Conectarea acestui buton permite de vzut obiectul fr
interaciunea modificatorului.
Active/Inactive in Viewport (modificatorul din fereastra de proiecie activ/inactiv): ntrerupe
influena modificatorului numai n ferestrele de proiecie.
Show end result on/off toggle (artarea rezultatului final conectat/deconectat): arat obiectul
selectat cu rezultatul aplicrii tuturor modificatorilor, indiferent de poziia curent n plasa
modificaiilor. Cnd acest buton este deconectat, atunci obiectul apare tot aa, cum arta pn la alegerea
altui obiect, la care de acum s-a aplicat un modificator, poziionat n stiv.

57

Make Unique (a face unic). n caz, cnd asupra mai multor obiecte se aplic un modificator, el
devine comun pentru toate, i la schimbarea parametrilor unui obiect, se petrece i asupra celorlalte
obiecte. Butonul Make Unique este destinat pentru, a rupe aceast legtur. Legtura se rupe numai cu
un obiect concret.
Remove Modifier from the stack (eliminarea modificatorului): elimin modificatorul curent.
Edit Stack (redactarea grilei): deschide fereastra de dialog Edit Modifier Stack, care conine
diferite mijloace de dirijare, pentru schimbarea numelor modificatorilor, copierea lor, inserarea lor, etc.
Butonul Collapse All/To (distrugere): distruge tot sau numai modificatorii selectai, atribuii
obiectului. Rezultatul aciunii lor rmn, ns s ne ntoarcem i s schimbm parametrii acestor
modificatori nu vom mai putea. n aa mod, obiectul se transform n Editable Mesh.
Aceasta se face pentru:
Simplificarea geometriei scenei.
Pentru micorarea mrimii fiierului.
Butonul SubObject (sub-obiect) trecerea la nivel intern al obiectului, pentru acionarea
asupra componentelor sub-obiectelor: muchii, vrfuri, segmente etc., n dependen de obiect i
modificaii. De exemplu, dac se aplic modificatorul Edit Mesh asupra primitivei geometrice, atunci
lista sub-obiectelor va fi alctuit din vrfuri Vertex, pri a suprafeelor Face, i muchii Edge.
Pentru a ne nchipui, cum acioneaz modificatorul, trebuie de-l atribuit i de-i schimbat
parametrii. Rezultatele vor fi vzute n ferestrele de proiecii.
Pentru alegerea modificatorului, care lipsete printre cei propui iniial n regiunea Modifiers,
apsai butonul More, care cheam fereastra de dialog cu lista diferitor modificatori.
Butonul Configure Button Sets este destinat pentru reglarea regiunii Modifiers, n acel caz,
dac, de exemplu, este necesar, ca printre modificatorii propui iniial s fie nc ali modificatori care-i
folosii.
Bend
Acest modificator permite ndoirea obiectului.
n regiunea reglrii ndoirii obiectului Bend se poate de schimbat unghiul de nclinare Angle i
direciile lor Direction. n regiunea Bend Axis se alege axa nclinrii. n regiunea reglrii limitrii
nclinrii Limits poate fi dat limita Limits Effect i de schimbat valoarea de sus Upper Limit sau de
jos Lower Limit.
Twist
Acest modificator permite sucirea obiectului.
n regiunea reglrii Twis t se poate de schimbat unghiul de sucire Angle, i deviaia lui Bias.
n regiune Twist Axis se alege axa de sucire.
n regiunea reglrii limitei de sucire Limits poate fi dat limita Limits Effect i de schimbat
valoarea ei de sus Upper Limit sau cea de jos Lower Limit.
Taper
Acest modificator permite compresarea / decompresarea obiectelor.
n regiunea de compresare Taper pot fi date unitile de aciune Amount, de reglat curba de
compresare Curve. n regiunea Taper Axis se regleaz aciunea modificatorului dup axe: Primary
aciune primar, Effect efectul de aciune, Summitry aciune simetric. n regiunea limitei de
compresare Limits se d limita Limits Effect, i valoarea ei de sus Upper Limit i de jos Lower Limit.
Noise

58

Acest modificator se utilizeaz, cnd trebuie de deformat suprafaa obiectului, de exemplu, la


creare munilor. El este asemntor modificatorului Wave, dar la utilizarea lui, este posibil deformarea
aleatoare a obiectului.
n regiunea de reglare Noise se d faza iniial Seed, scara de aciune Scale, functia aleatoare
a parametrilor Fractal, functia brutal/imediat Roughness/Iteratioms. n regiunea Strength se d
puterea de aciune pe axe. n regiunea Animation se regleaz animarea modificatorului.
Opiunea Animate Noise red animarea modificatorului dup parametrii dai, Frequency
frecvena: cu ct e mai mare aceast valoare, cu att mai repede se schimb stadiul Noise, Phase faza.
Extrude
Acest modificator ne d nlimea n form plan nchis.
Amount grosimea, Segment cantitatea de segmente n nlime. n regiunea Capping se dau
torele obiectului, Cap Start planele de sus, Cap End planele de jos, opiunea Morph este activ,
dac se consider, c obiectul va participa n morfing (vezi Morph), Grid grila.
Generate Mapping Coord destinaia legturii coordonate a obiectului pentru ataarea unui
material complex.
Generate Material Ids legtura de ID (numrul) materialului, prii de sus i de jos (Cap
Start, Cap End) a obiectului i se atribuie ID1 i ID2, iar prii laterale ID3.
Lathe
Acest modificator permite crearea obiectelor pe cale rotirii formelor plane.
Degrees unghiul de rotire, Weld Core grupare, Flip Normals oglindirea normale
obiectului, Segments cantitatea de segmente.
n regiunea Capping se regleaz torele obiectului, Cap Start planul de sus, Cap End
planul de jos, Morph activai-l, dac obiectul va lua parte n morfing (vezi Morph), Grid grila. n
regiunea Align se determin alinierea formei: dup minim Min, dup centru Center, dup maxim
Max.
Affect Region
Acest modificator acioneaz pe o poriune a obiectului, permind crearea bulelor. n regiunea
Parameters se regleaz scara de aciune Falloff, opiunea Back Ignore Facing ntrerupe aciunea pe
partea verso, n regiunea reglrii curbei Curve se gsete regiunea de aciune a modificatorului: Pinch
mrirea, Bubble mrirea regiunii de aciune.
Cap Holes
Modificatorul este destinat pentru prelucrarea gurilor, care apar la suprafaa obiectului la
eliminarea segmentelor. Concomitent se creeaz segmente noi, care unesc capetele.
Smooth New Faces netezirea cu noi muchii, Smooth With Old Faces netezirea cu muchiile
precedente, All New Edges Visible arat toate laturile noi.
Delete Mesh.
Acest modificator este destinat pentru eliminarea nlimilor, segmentelor, muchiilor a ntregii
geometrii a obiectului. Acesta se deosebete de simpla eliminare, c eliminarea mai trziu poate fi
schimbat, eliminnd modificatorul Delete Mesh.
Displace (presarea)
n regiunea Displacement se regleaz gradul de aciune.

59

Strength, slbirea aciunii Decay, opiunea Luminance Center instaleaz aciunea


modificatorului relativ de centru Center. n regiunea reglarea imaginii i hrii Image Bitmap se alege
desenul. Dac trebuie de eliminat desenul precedent Remove Bitmap.
Map harta din Redactorul de materiale: Blur permite cu ajutorul splrii de rotunjit
rezultatul.
n regiunea Map trebuie de ales i reglat tipul hrii dup acelai principiu ca i n modificatorul
UVW Map.
FFD 2x2x2, 3x3x3, 4x4x4 (gratie)
La utilizarea acestui modificator obiectul se nchide ntr-o gratie, cu ajutorul creia, translnd
punctele de control (Control Point), poate fi schimbat forma geometric.
n regiunea Selection Level se alege nivelul sub-obiectului Sub-Object.
Sub-Object Control Point nivelul puntelor de control.
Sub-Object Lattice nivelul gratiei.
n regiunea Display poate fi refuzat artarea gratiei pe ecran Lattice.
n regiunea Source Volume (volumul iniial) reprezint aciunea iniial a modificatorului fr
schimbarea gratiei.
n regiunea Deform se poate de modificat suprafaa, Only in Volume numai n volum, All
Vertices toate vrfurile.
FFD (cyl) 4x6x4 (gratie cilindric)
La utilizarea acestui modificator se folosesc aceleai opiuni cu scopul de introducere a
schimbrilor (vezi mai sus).
n regiunea Dimensions se introduc mrimile i cantitatea de puncte Set Number of Points.
n regiunea Display se poate de refuzat de gratia Lattice n ferestrele proieciilor i de
reprezentat aciunile iniiale asupra volumului iniial fr modificri Source Volume.
n regiunea Deform se poate de modificat suprafaa obiectului numai prin schimbarea ei Only
in Volume, sau de modificat toate vrfurile All Vertices. Tension descrcare, schimbarea aciunii
gratiei asupra obiectului, Continuity continuu, limiteaz aciunea Tension.
n regiunea Selection se determin regiunea reglrii alegerii punctelor pe axe All X, All Y, All
Z (toate punctele pe X, Y i Z).
FFD (box) 4x4x4 (gratie paralelepipedului)
Face Extrude
Preseaz o parte a suprafeei obiectului de-a lungul normalei, care este unit cu restul suprafeei
i formeaz un obiect unic. Pentru funcionarea acestui modificator este necesar la nceput de acionat
asupra obiectului cu modificatorul Edit Mesh, iar apoi la nivel Sub-Object de ales Face. Selectnd o
poriune de suprafa de ales modificatorul Face Extrude.
Amount schimbarea grosimii, Scale schimbarea scrii, opiunea Extrude From Center
permite efectuarea presrii de la centru.
Lattice (gratie)

60

Modificatorul este destinat pentru crearea gratiilor mai complexe, trecnd obiectul n regimul
Wire. Opiunea Animate Noise red animarea modificatorului dup parametrii redai, Frequency
frecvena; cu ct este mai mare valoarea acesteia, cu att mai repede se schimb stadia Noise, Phase
faza.
Extrude
Acest modificator red nlimea formelor plane nchise.
Amount grosimea, Segment numrul de segmente pe nlime.
n cmpul Capping se predau planele pe torele obiectului, Cap Start planul superior, Cap
End planul inferior, opiunea Morph este activ, dac se presupune c obiectul va participa la
forfing (vezi Morph), Grid plasa.
Generate Mapping Coord generarea legturii de coordonate a obiectului pentru atribuirea
unui material complicat.
Generate Material Ids legtura la ID (numrul) a materialului, concomitent se atribuie prii
de jos i celei de sus (Cap End, Cap Start) a obiectului ID 1 i ID 2, i la cele laterale ID 3.
Lathe
Acest modificator ne permite s crem obiecte prin metoda rotirii formelor plane.
Degrees unghiul de rotaie, Weld Core unire, Flip Normals oglindirea normalei
obiectului, Segments numrul de segmenete.
n regiunea Capping se regleaz planele pe torele obiectului, Cap Start planul superior, Cap
End planul inferior, Morph l activm dac obiectul va participa la morfing (vezi Morph), Grid
plasa.
n regiunea Align se determin alinierea formei dup minim Min, la centru Center, i dup
maxim Max.
Affect Region
Acest modificator acioneaz asupra unei regiuni a obiectului, permind crearea bulelor. n
regiunea Parameters se regleaz scara de interaciune asupra feei opuse, n regiunea reglrii curbei
Curve se regleaz regiunea acionrii modificato-rului: Pinch ridicare, Bubble mrirea regiunii de
afeciune.
Cap Holes
Modificatorul este destinat prelucrrii gurilor, care apar pe suprafaa obiectului la tergerea
segmentelor, crendu-se noi segmente, care unesc marginile.
Smooth New Faces netezirea cu muchii noi, Smooth With Old Faces netezirea cu fee
vechi, All New Edeges Visible afiarea tuturor muchiilor noi.
Delete Mesh
Acest modificator este menit pentru tergerea vrfurilor, segmentelor, feelor sau a ntregii
geometrii a obiectului n ntregime. Se deosebete acesta de cel obinuit prin faptul c tergerea poate fi
mai apoi eliminat, tergnd modificatorul Delete Mesh.
Displace (forare)
n cmpul Displaecment se regleaz gradul de aciune
Strength, slbirea aciunii Decay, opiunea Luminance Center activeaz aciunea
modificatorului relativ de centru Center. n regiunea reglrii imaginii texturii Image Bitmap se alege
desenul. Dac trebuie putem terge desenul curent Remove Bitmap.

61

Map textura din editorul de Materiale: Blur -- permite splarea rezultatului pentru netezire.
n regiunea Map se poate alege i regla tipul texturii dup acelai principiu, ca i la
modificatorul UVW Map.
FDD 2x2x2, 3x3x3, 4x4x4 (rama)
La utilizarea acestui modificator obiectul se include ntr-o colivie, cu ajutorul creia micnd
punctele de control (Control Point), se poate de schimbat forma.
n regiunea Selection Level se alege nivelul sub-obiectului (Sub-Object).
Sub-Object Control Point nivelul punctelor de control.
Sub-Object Lattice nivelul coliviei.
n regiunea Display se poate de refuzat afiarea ramei pe ecran Lattice.
Opiunea Source Volume (volumul iniial) red aciunea iniial a modificatorului fr
schimbarea ramei.
n regiunea Deform se pot modifica suprafee, Only n Volume numai n volum, All Verticles
toate vrfurile.
FDD (cyl) 4x6x4 (ram cilindric)
La aplicarea acestui modificator se folosesc aceleai opiuni cu scopul introducerii schimbrilor
(vezi mai sus)
n regiunea Dimensions se introduc mrimile i numrul de puncte Set Number of Points.
n regiunea Display se poate de refuzat la vizualizarea ramei Lattice pe ecranele cu vederi i
redarea interaciunii iniiale la volumul corpului fr schimbri asupra ei Source Volume.
n regiunea Deform se poate schimba suprafaa numai la modificarea ei Only in Volume, sau
modificarea tuturor vrfurilor All Vertices.
Tension elasticitatea, schimbarea aciunii ramei asupra obiectului.
Continuity continuitatea, limiteaz interaciunea Tension.
n regiunea Selection se determin regiunea de reglare a selectrii punctelor dup axe All X,
All Y, All Z (toate punctele dup X, Y sau Z).

FFD(box) 4x4x4 (ram bloc)


Face Extrude
Foreaz o poriune a feei obiectului dea lungul normalei, care este unit cu suprafaa rmas i
compune un obiect unic. pentru aciunile acestui modificator este necesar ca de la nceput s acionm
asupra obiectului cu modificatorul Edit Mesh, apoi la nivel de Sub-Object de ales Face. Selectnd o
parte din suprafa aplicm modificatorul Face Extrude.
Amount schimbarea grosimii, Scale scalarea , opiunea Extrude From Center ne permite
de a fora de la cenrtu.
Lattice (rama)
Modificatorul este menit pentru crearea armelor mai complicate, care le putem crea trasnd
obiectul n regim Wire. Feele vor deveni muchii iar vrfurile legturi ale reelei (coliviei).
n regiunea Geomerty se pot regla parametrii geometrici ai reelei.
Strus Only (numai muchii), Juctions Only (numai nodurle), Both (i vrfuri i muchii).

62

n regiunea reglrii muchiilor Struts se pot schimba Radius Raza, mulimea segmenetlor
Segments, numrul feelor Sides, Material ID numrul materialului din componena Multi/SubObject, Visible Edges arat feele vizibile, All Edges arat toate feele, Smooth regleaz
netezirea.
n regiunea reglrii nodurilor Junctions se poate de le redat diferite forme : Tetra
tetraedru, Octa octaedru, Icosa icosaedru.
Se poate schimba raza Radius, mulimea segmentelor Segments, de a alege numrul
materialului din componena Multi/Sub-Object Material ID i activarea netezirii Smooth.
n regiunea reglrii coordonatei de legtur Mapping Coordinates se poate de refuzat de la ea
prin None nimic, folosind-o pe cea existent Reuse Existing, de a crea una nou New.
Mesh Smooth
Permite netezirea carcasei (muchiile obiectului).
n regiunea Mesh Smooth se regleaz aciunea asupra carcasei Strength, gradul de netezire la
centru Relax Value, netezirea comun Sharpness.
Operate On regleaz modificarea marginilor poligoanelor.
Iterations 1,2,3,4 regleaz variantele aciunii.
n regiunea reglrii suprafeei Surface Parameters se pot regla netezirile rezultatului general
Smooth Result, asu n parte Separate By: pentru materialul Material, pentru grupa Smoothing
Groups.
n regiunea renovrii Update Options se poate efectua nnoirea permanent a rezultatului
Always, pentru calculul When Rendering, manual Manual.
Mirror
Reflectarea obiectului, sau a regiunii lui selectate. n regiunea Mirror Axis
se poate alege axa, dup care se vor oglindi obiectele. n regiunea reglrii modificatorului
Options, se transmit deplasarea Offset, i tot aici se pot crea copiile Copy a obiectului curent selectat.

Nsurf Sel, Ncurve Sel


Modificatorul este menit pentru selectarea regiunilor din sub-nivelul Sub-Object la NURBS
suprafee.
n regiunea Selection Level se alege Sub-Object. Surface -- alegerea suprafeei, Surface CV
alegerea unui vrf de control de pe dreapta orizontal, vertical din zona Selection.
Optimize
Simplific obiectul prin micorarea numrului de vrfuri i muchii. De exemplu, dup
interaciunea modificatorilor Displace i Tessellate.
n regiunea Level of Detail se regleaz nivelul de detaliere pentru calculul scenei Render i pe
ecranele de vederi Viewports.
n regiunea reglrii simplificrii formei Optimize se regleaz calitatea suprafeelor Face
Tresh, a muchiilor Edge Tresh, nclinaia Bias. Maxim prin pri Max Edge Len, Auto Edge
automat la muchii.
n regiunea renovare Update rezultatul renovrii manuale Manual Update.
n regiunea Last Optimized Status este reflectat starea obiectului curent.
n regiunea de salvare a opiunilor Preserve se determin graniele materialului obiectului
Material Boundaries i rotunjirea grnielor Smooth Boundaries.
Preserve

63

Acest modificator ne permite salvarea lungimii muchiei, valoarea unghiurilor, suprafeele i


volumul deformrilor obiectului, bazndu-ne pe copia ne schimbabil a obiectului.
n regiunea Original se poate specifica originalul Pick Original.
De artat numrul de iteraii Iterations .
n regiunile pentru pstrarea volumului Presevation Weights se pot alege lungimea muchiei
Edge Lengths, ughiul de nclinaie a suprafeei Face Angles, puterea Volume.
n regiunea de alegere Selection se alege obiectul aplicrii Apply to While Mesh atribuirea
la Mesh, numai la vrfuri anume Selected Verts. Only dac ns putem alege toate obiectele, care nu
nimeresc n regiunea de selectare Invert selection.
Relax Rotungete colurile prin slbirea lor.
Relax Value valoarea de rotungire.
Ripple (valuri concentrice);
Crearea valurilor circulare pe suprafaa obiectului.
n regiunea Ripple se descriu amplitudinile valurilor Amplitude1, Amplitude2, lungimea de
und a valurilor Wave Length, faza Phase i slbirea ei la eliminarea centrului Decay.
Wave (unde liniare) permite crearea undelor(valuri) liniare la suprafaa obiectelor.
Skew (nclinaia), n cmpul pentru valoarea nclinaiei se introduce mrimea dorit, i anume n
cmpul Amount (nclinaia), direcia n care ele se realizeaz Direction i axa dup care se
ndeplinete aciunea Skew Axis. n regiunea reglrii limitelor valorilor maximale Upper Limit i
minimale Lower Limit.
Tessellaete acest modificator permite mrirea numrului de segmente a obiectului. n domeniul
Operate On se alege tipul de modificare asupra obiectului dea lungul muchiilor sau dup poligon, Edge
muchii, Face Center centrele feelor, Tension concentraia, Iterations iteraiile.
Mesh select
Selectarea regiunilor obiectului la nivel de Sub-Object pentru modificarea local a altor
modificatori. Selectarea se efectueaz dup acelai principiu, ca i n Edit Mesh. Selectnd o regiune,
utilizatorul, lsnd regimul Sub-Object, atribuie urmtorul modificator, menit pentru afectarea acestei
regiuni.
Bevel (nclinare)
Acest modificator se folosete la obiecte plane spline (vezi Splines), redndu-le volum,
analogic Extrude, i n acelai timp permind aplicarea nclinaiilor la muchiile obiectului obinut.
n regiunea Capping se poate refuza la afiarea bazei obiectului din fa (Start), sau de la spate
(End).
n regiunea Cap Type se poate alege unul din tipurile de creare a suprafeei obiectului modificat:
Morph: creeaz suprafee, necesare morfrii (vezi Morf).
Greed (plas): creeaz suprafaa n form de gratii (plas).
n regiunea Surface se regleaz parametrii pentru dirijarea deformrii feelor, rotungirii i setrii
punctului de legtur.
n domeniul Intersections se poate de prevzut ca s nu apar unghiuri ascuite la intersecia
muchiilor vecine.
La seciunea Bevel Values se aleg nuvelele (Level 1, Level 2, Level 3) pentru determinarea
nlimii sloiului ales Height i grosimea conturului sloiului Outline.
Bevel Profile

64

Acest modificator este sintezat din modificatorul Bevel. El permite sintezarea din dou forme un
obiect unic, astfel nct una din forme se consider profilul sau conturul (se alege cu ajutorul butonului
Pick Profile), cealalt originalul.
Delete Spline
Acest modificator elimin geometria, aleas n momentul dat de timp, n lanul de modificri n
calitate de Sub-Object se poate de-asemenea cu ajutorul tastei Delete de la tastatur.
FFD Select
Acest modificator permite selectarea punctelor de control (Control Point) a deformrii spaiale
FFD (vezi Space Warp).
La punctele selectate pentru deformaia FFD se pot aplica astfel de modificatori ca Bend, Taper
etc., modificnd astfel, pri ale obiectului, la care e aplicat deformaia.
n domeniul Selection se pot specifica All X/All Y/All Z, dup care trebuie s se selecteze
punctele de control.
Spline Select
Acest modificator, ca i Mech Select, permite transmiterea alegerii sub-obiectului (Sub-Object)
urmtorilor modificatori.
n calitate de sub-obiecte pot fi vrfurile, segmentele, splinele.
Volume Select
Acest modificator realizeaz alegerea vrfului, pri ale planelor. Dup aceasta se pot reda unu
sau mai muli modificatori seleciei i apoi animaia parametrilor.
Se selecteaz acea parte, care nimerete n Gizmo, ducnd cont c Gizmo l mai putem i
deplasa, roti i scala cu ajutorul butoanelor de pe panoul cu instrumente. Este posibil de a transla centrul
Gizmo, dac n calitate de Sub-Object se alege Center.
Linked Xform
Acest modificator permite de a angaja obiectului geometric un obiect care-l va subordona.
Translarea obiectului subordonator va afecta parametrii modificatorului aplicat obiectului geometric
dup Linked Xform.
Xform
Acest modificator ne permite de a crea i modifica poziia obiectului Gizmo. Obiectul Gizmo
rspunde de aciunile modificatorilor pe acest obiect. l putem transforma cu ajutorul butoanelor Select
and Move, Select and Rotate, Select and Uniform Scale.
UVW Xform
Acest modificator ne permite de a controla aplicarea hrii la folosirea modificatorului Xform.
Grupa parametrilor Mapping U tile, W tile U offset, V offset, W offset determin coordonatele
texturii pe obiect. Chanel ne permite s alegem canalul materialului.
Edit Spline
Menit pentru redactarea splinelor.
Edit Mesh
Acest modificator ne permite de a redacta suprafaa obiectului, variind poziia vrfurilor i a
segmentelor, sau n genere tergerea acestora, alipirea la obiect a altor formaiuni de acest tip. Cu
ajutorul acestui modificator se pot atribui prilor obiectului diferite materiale din componena
Multi/Sub-Object.

65

Vartex vrfuri;
Face pri ale suprafeei;
Edge muchii;
Edit Pach
Modificatorul acesta ne permite de a redacta suprafeele i diferite pri ale suprafeelor la nivel
de Sub-Object de structur interioar, adic muchii, vrfuri etc. Cu ajutorul acestui modificator se poate
modela lin suprafeele ndoite.
La aplicarea modificatorului programul transform suprafaa obiectului n curbe Bezier. Fiecare
cale de modificare se compune din plas (Lattice) i suprafa (Surface).
Plasa structura punctelor de control i a tangentelor intersectate, care nconjoar suprafaa.
Primul pas al modelrii este deformarea.
Suprafaa suprafaa obiectului, forma cruia se conduce de plas.
Pentru obiectele de tip Box plasa i suprafaa obiectului vizual practic c nici nu sunt repartizate
pe planurile vederilor.
Pentru obiecte de tip Sphere plasa difer pe vederi de suprafa.
Redactarea Obiectului (despritura Edit Object)
Domeniul Display aici se poate de fcut plasa vizibil sau invizibil;
Domeniul Topology ne permite mrirea sau micorarea numrului de unitilor de plas, care
compun suprafaa obiectului.
Butonul Attach ne permite s atam regiunea aleas de suprafa la selectarea curent.
Opiunea Reorient reorienteaz patch-obiectul n aa mod, ca sistemul de coordonate propriu
acestuia s se alinieze la sistemul de coordonate a altui pach-obiect.
Redactarea cilor
La redactarea cilor este necesar ca n lista Sub-Object s fie ales Patch.
n domeniul Topology se pot detaa (Detach) una sau mai multe ci (drumuri) de la obiectul
selectat. Pe ele le putem pur i simplu desface, dar se poate i copia cu ajutorul opiunii Copy, pentru al
transforma ntr-un drum independent.
Opiunea Reorient. Drumul inserat permite de a copia poziia i orientarea obiectului, astfel
nct noul obiect se va mica astfel c sistemul de coordonate local al obiectului se va uni la plasa curent
activ.
Butonul Delete permite tergerea drumului ales sau cteva drumuri alese. Butonul Subdevide
(nmulire)- permite majorarea numrului drumurilor n regiunea selectat sau pe toat suprafaa
obiectului, n cazul dac este activ opiunea Portable.
Pe panoul Disply se poate de ales, arta sau a ascunde plasele i suprafeele.
Redactarea prilor
La redactarea feelor este necesar ca, n lista Sub-Object s fie selectat Edge (parte).
Analogic, ca i la redactarea drumului, cu ajutorul butonului Subdevide se poate de majorat
numrul de pri segmente ale suprafeei. Astfel opiunea Propagate la inactivarea ei creeaz crpturi
n muchiile dintre feele selectate.

66

Redactarea vrfurilor
La redactarea vrfurilor este necesar ca n lista Sub-Object s fie prezent Vartex (vrfuri).
Opiunea Lock Handles (a ntri) unete vectorii vrfurilor astfel nct, cnd se mic una din
ele, atunci n urma ei se vor mica toate celelalte vrfuri alese.
Butonul Weld ne permite de a uni vrfurile selectate ntre dou drumuri alese n intervalul
anumit (Weld Threshold), alegnd vrfurile care trebuie unite ntre dou drumuri diferite, apoi s se
determine intervalele de mpreunare i de tastat butonul Weld.
Butonul Delete ne permite de a elimina vrfurile. Aici trebuie de acionat atent, deoarece
tergerea oricrui vrf duce la eliminarea drumurilor, care mpart acest punct de control. De exemplu,
dac tergem un vrf la sfer, va rmne o semi-sfer.
n cazul dac e activat opiunea Vertices n regiunea Filter, atunci se pot alege i transla
vrfuri. Dac este activ opiunea Vectors, atunci se pot alege i transla vectori. n cazul, cnd nu e
activat nici o opiune, atunci nu se pot redacta nici vrfuri i nici vectori.
Exist dou tipuri de vrfuri, care se pot schimba cu ajutorul unui click al butonului drept al
mouseului. n meniul contextual aprut alegem tipul de vrfuri necesar.
Tipul Coplanar. La alegerea acestui tip vrful capt nite mnere, cu ajutorul crora se pot
obine treceri rotungite ntre drumuri. Mnerul translat a vectorului ca i cum i impune pe ceilali s se
acomodeze la noua suprafa.
Tipul Corner. La alegerea acestui tip, vectorii devin unghiulari i permit crerii vrfurilor
ascuite pe suprafaa obiectelor.
Camera Map, *Camera Map (WSM)
Acest modificator ne permite ntindem harta pe obiect, ca i cnd ea ar fi proiectat cu o camer.
Carta se atribuie n Redactorul de materiale nu o textur, dar ca suprapunere de ecran (Screen).
Modificatorul Camera Map difer de modificatorul *Camera Map (WSM), prin aceea c n primul
caz carta se orienteaz o dat, cnd artai la o camer. Dac obiectul se mic relativ de camer,
orientarea hartei la camer rmne aceeai (aa cum pe acel cadru, cnd ai artat la camer). Dar
modificatorul spaial *Camera Map (WSM) rennoiete orientarea camerei la fiecare translare a
obiectului.
Map Scaler
Acest modificator susine scara obiectului independent de scara a nsi obiectului. Scale scara;
Warp Texture suprapunere echidistanat a hrii, Up Direction regiunea de alegere a direciei,
World Z Axis relativ de sistemul de coordonate mondial (axa Z), Local Z Axis relativ de axa local
a obiectului (vezi Sist koord)
UVW Map
Cu ajutorul acestui modificator se poate de reglat mai precis legtura de coordonate a obiectului.
n regiunea Mapping se alege metoda de proiectare a hrii:
Planar plan; Cylindrical cilindric; Spherical sferic; Shrink Warp proiectarea relativ
de suprafa, Box paralelipiped, Face fa.
Length lungimea hrii, Width limea, Height nlimea.
U Tile, V Tile, W Tile numrul de repetri ale desenelor pe axe.
n regiunea Channel se aleg canalurile 1,2.
Alignment alinierea dup axele X, Y, Z.
Fit s se lungeasc Gizmo (formula de aplicare a materialului) pe obiect.
Center alinierea pe centrul obiectului.
Bitmap Fit s se ia raportul dintre laturile Gizmo a oricrei hri salvate pe disc.

67

Normal Align alinierea pe normal. Trebuie s artm segmentul, direcia normalei (feei) care
se va lua pentru aliniere.
View Align harta se aliniaz paralel direciei privirii la ea de pe ecranul activ.
Region Fit pentru a determina mrimea Gizmo se nconjoar cu cursorul mouseului regiunea
de dimensiunile necesare.
Reset anularea alinierii.
Aquire luarea unei Gizmo de la alt obiect. (vezi Materiale)
Material
Permite de alegerea materialului dup numerele atribuite n redactorul de materiale (Material
Editor) Material ID de a impune un material din componena Multi/Sub-Object la tot obiectul.
Normal (normala obiectelor)
Acest modificator ne permite de a schimba direcia normalei la obiect;
Unify Normals unirea normalelor, Flip Normals oglindirea normalei.
Smooth (netezirea)
Permite de a netezii suprafaa obiectului. Opiunea Auto Smooth netezete suprafaa automat.
Operaia Prevent Indirect nu permite netezirea indirect. Valoarea Threshold determin
intervalul de netezire.
Unwarp UVW
Posibiliti n plus la redactarea coordonatei de legtur UVW (redactarea formei suprapunerii).
Butonul Edit deschide fereastra de dialog redactat cu coordonata legrii Edit UVWs, butonul Reset
UVWs anuleaz parametrii reglrii.
STL Check
nainte de a exporta fiierul n format *.stl, care se folosete n stereolitografie, este necesar de al testa la greeli. Modificatorul STL-Check controleaz dace se ndeplinesc cerinele, care ar trebui s le
aib un fiier de acest format. Cerina de baz suprafeele, folosite n scen trebuie s fie nchise.
Pentru startul testrii trebuie de activat opiunea Check. Dup testare maina alege elementele care nu
corespund cerinelor. n regiunea Status se afieaz mulimea greelilor. Pentru comoditate se poate de
sortat greelile pe tipuri, reglnd regiunile Errors i Selections.
Splainuri
Teorie
Exerciii
Instrumente NURBS
Exerciii pe NURBS plane
Formele bidimensionale n programe se folosesc pentru crearea obiectelor plane, obiecte-loft,
obiecte de rotaie, n calitate de cale la utilizarea controlerelor animaionale. Exist dou tipuri de Spline
i NURBS Curves.
Tipurile de figuri Slines
Line (Linia). Pentru a crea o linie, apsm pe butonul Line, facem un click pe oricare vedere,
apoi ducem cursorul dup cum avem nevoie, apsnd butonul stng de fiecare dat cnd avem nevoie de
un unghi (puncte de reper) la fiecare ndoire. Terminnd linia, apsm butonul drept.
Parametrii formei:

68

General (generale): se redau parametrii formei;


Rendering: se redau parametrii de calcul;
Renderable (calculabile): dac ntreruptorul este activ, atunci figura va fi vizibil la calculare.
Thickness (grosimea): reglarea grosimii liniei reprezentate. Generate Mapping Coords: redarea
ntregului obiect coordonata de legtur pentru aderarea materialelor.
Creation Method (metoda creerii): alegerea metodei de creare a obiectului.
Initial Type (tipul iniial): Corner (drept), Smooth (neted);
Drag Type se aleg tipurile de legtur a vrfurilor liniilor la desenare. Corner (drept), Smooth
(neted), Bezier (neted reglabil).
Keybord Entry (introducerea de la tastatur): date numerice pentru crearea formei curente.
Parametrii formei : Modify;
Edit Object (redactarea obiectului)
Attach: legarea splinelor, Attach Multiple (legarea ctorva) Create Line (crearea liniei) pe
spline se creeaz o linie aduftoare.
Redactarea liniilor:
Sub-Object/Varex
Named Selections (denumirile vrfurilor selectate): copierea (Copy) i inserarea (Paste) a
denumirilor, date ctorva vrfuri. Dac avem mai multe vrfuri, dar lucrm cu cteva, poate s apar
necesitatea de a insera rapid vrfurile necesare. Selectndu-le o dat, putem s le denumim cu ajutorul
butonului Named Selections Sets i apoi repede de a apela de data aceasta dup nume.
Apoi urmeaz aciunile, care se pot aplica vrfurilor. Connect legarea, Break deconectarea,
Refine adugarea, Insert inserarea, Make First transformarea unghiului n primul rnd, Weld a
grupa, Weld Treshhold valoarea de prag a mpreunrii, Delete tergerea.
Sub-Object/Segment
Named Selections (segmentele alese denumite): copierea (Copy), Paste, Break deconectarea,
Refine adugarea, Detach decuparea segmentului selectat din Spline, Same Shape tot aa fel de
segment, Copy copia lui, Divide divizarea: segmentul ales se divizeaz n sub-segmente, cantitatea
crora se precizeaz la Divizions. Insert inserarea, Delete tergerea.
Sub-Object/Spline
Close a nchide. Outline se red conturul slinei pentru grosimea artat n Outline Width.
Mirror reflecia. Copy se creeaz copii ale splinelor la oglindirea Detach a detaa, Copy copie,
Reverse inversat, Insert a insera, Delete a terge.
Donut inel. Apsnd butonul stng al mouse-ului, i innd-o apsat, redm prima raz. Tot
aa se red i a doua raz.
Parametrii formei:
General (vezi Line);
Creation Method metoda de creare a obiectelor;
Edge (de la punctul de margin), Center (de la centru);
Keyboard Entry (vezi Line);
Parameters (parametrii): parametrii formei;
Radius 1(raza primei circumferine);
Radius 2(raza circumferinei a doua);
Circle (circumferin): apsnd butonul stng al mouse-ului i inndu-l apsat redm raza
cercului.
Parametrii formei:
General (vezi Line);
Creation Method;

69

Keybord Entry (vezi Line);


Radius raza circumferinei;
Arc curb. Apsm butonul stng i analogic i redm curbura.
Parametrii formei:
General (vezi Line);
Ceration Mode modul crerii;
End-End-Middle de la punctele de la mrginae la centru, Central-End-End de la centru la
punctele de margin.
Keyboard Entery (vezi Line);
Parameters parametri formei;
Radius raza, From, To coordonatele capetelor, Pie Slice se unesc punctele din margin la
centru curbei, nchiznd astfel figura. Reverse (ntoarcerea): schimb direcia curbei cu cea opus.
Helix spiral. De la nceput apsnd butonul stng al mouse-ului redm raza spiraleis i apoi
reglm nlimea i o fixm, iari fornd butonul stng al mouse-ului. Apoi redm raza a doua
subierea sau ngroarea spiralei i analogic nlimii o fixm.
Parametrii formei
General (vezi Line);
Ceration Mode metoda crerii;
Edge (de la punctul de margin), Center (de la centru);
Keyboard Entry (vezi Line);
Parameters parametrii;
Radius 1 prima raz, Radius 2 raza a doua, Height nlimea, Turns mulimea de
nfurri a spiralei, Bias deplasarea nfurrilor la unul sau alt capt a spiralei.
Ngon poligon. Se creeaz cu o apsare a butonului stng a mouse-ului n timpul redrii razei.
Parametrii formei:
General (vezi Line);
Keyboard Entry (vezi Line), Corner Radius: raza rotunjirii unghiurilor;
Parameters:
Radius raza formei, Iscribed form nscris, Circumscribed forma circumscris, Slides
numrul de laturi, Corner Radius raza rotunjirii unghiurilor, Circular rotunjete laturile
poligonului pn la circumferin.
Rectangle dreptunghi. Se reproduce apsnd pe butonul stng al mouse-ului n oricare dintre
colurile dreptunghiului, dup aceasta deplasm cursorul la poziia colului opus.
Parametrii formei :
General (vezi Line);
Creation Mode metoda de creare;
Edge dintr-o parte , Center de la centru;
Keyboard Entry (vezi Line);
Parameters:
Length lungimea, Width limea, Corner Radius raza de rotunjire a unghiurilor.
Ellipse elips. Forai butonul stng al mouse-ului i tragem pn la coordonatele alese. Cnd
vom elibera butonul se av crea o elips, o ptrime a crei numai bine ncape n dreptunghiul creat de
cursor.
Parametrii formei:

70

General (vezi Line)


Creation Mode metoda de creare a obiectelor ;
Edge de la punctul de margin; Center de la centru;
Keyboard Entry (vezi Line);
Parametrii:
Length lungimea i Width limea;
Star stea. Se creaz de la centru fornd butonul stng al mouse-ului deplasnd pn cnd se va
obine prima raz dorit. Apoi redm a doua raz, i o fixm cu un click.
Parametrii formei:
General (vezi Line);
Keyboard Entry (vezi Line);
Parametrii:
Radius 1 raza nti, Radius 2 raza a doua, Points numrul de puncte vrfuri ale stelei,
Distortion deformarea formei pe contul rotirii unei raze relativ de cealalt. Fillet Radius 1 i Fillet
Raduis 2 rotunjirea vrfurilor primei a a doua raz.
Text textul se introduce n fereastra Text, poziia lui se red cu un click al butonului stng al
mouse-ului n orice punct al ecranului vedere.
Parametrii formei:
General (vezi Line);
Parameters: se aleg stilul, nclinaia, reprezentarea i alinierea textului.
Size mrimea textului curent, Kerning distana dintre literele textului.
Section seciune. Pentru a cerea o seciune, apsm butonul stng ntr-un col al figurei, i
innd-o apsat deplasm cursorul mouse-ului n colul opus al figurii.
Parametrii formei:
General (vezi Line);
Section Parameters:
Create Shape forarea butonului creaz o form de secionare la intersecia seciunii cu figura
tri-dimensional.
Update a renova;
When Selection Moves la translarea seciunii;
When Section Seleceted la alegerea seciunii;
Manually manual;
Update Section renovarea seciunii;
Section Extents mrimea seciunii;
Infinite infinite, Section Boundary micorarea mrimii seciunii, Off deconecat, Section
Size mrimea seciuii.
Length lungimea i Width limea.
Panoul de instrumente NURBS
Butoanele panoului de instrumente NURBS se utilizeaz pentru crearea suprafeelor curbilinii.
Create point pentru a crea un punct;
Create point point crearea unui punct pe plasa planului;
Create curve point crearea unui punct pe o curb;
Create curve curve point crearea punctului de intersecie a dou curbe;
Create surf point crearea unui punct pe suprafa;

71

Create CV curve crearea curbei CV;


Create point curve crearea unei curbe de puncte.
Create fit curve crearea unei curbe pe o suprafa;
Create transform curve crearea unei copii proporionale a unei curbe;
Create blend curve crearea curbelor cu ajutorul prelungirilor;
Create offset curve generarea unei copii a curbei;
Create mirror curve generarea copiei oglindite a unei curbe.
Create fillet curve crearea unei curbe netezite;
Create chamfer curve crearea unui segment;
Create U iso curve crearea unui segment pe axa U pe o suprafa;
Create V iso curve crearea unui segment pe axa V pe o suprafa;
Create CV surface crearea unei suprafee CV;
Create point surface crearea unei suprafee de puncte.
Create transform surface crearea unei copii proporionale a unei suprafee;
Create blend surface crearea unei suprafee de legtur;
Create offset surface crearea unei copii a suprafeei;
Create mirror surface crearea unei copii oglindite a unei suprafee;
Create extrude surface crearea unei suprafee prin presare;
Create lathe surface crearea suprafeelor de rotaie;
Create ruled surface crearea suprafeelor din curbe;
Create Uloft surface crearea unei suprafee loft;
Create cap surface crearea unei suprafee dintr-o curb circular.
Obiecte loft
Obiecte loft
Exerciii
Deformarea obiectelor loft
Crearea:
nchipuii-v c ai creat o figur plan i a-i ntins-o dup o linie oarecare (astfel cum lucreaz
modificatorul Extrude, Lathe): rezultatul i va fi un loft-obiect. La crearea unui loft, putei deplasa
cteva spline (figuri plane) dea lungul unei ci, schimbnd dimensiunile ntre seciuni, la necesitatea de
a multiplica seciunile. Crearea lofturilor necesit spline-uri (Shape). Unul dintre aceste spline
reprezint calea, dup care se mic splinul seciunea.
Lofturile se utilizeaz la crearea obiectelor cu un numr mare de diferite seciuni, la necesitatea
de a anima seciunile, precum i pentru modifing (vezi Modifing) al obiectelor.
La lofturi pentru modifing trebuie respectate urmtoarele condiii: toate splinele trebuie s aib
un numr constant de vrfuri, obiectele componente trebuie s conin un numr constant de spline
introduse.
Pentru a este posibil de a animaiona calea loftului (Path), a seciunilor (Shape) i deformarea la
aciunea asupra loftului.
Nite reguli pentru crearea corect a unui loft:
Path Calea.
Path trebuie s fie un spline simplu (vezi Shape) sau s se compun din cteva spline simple sau
module NURBS. Pentru ca s fie mai pe neles: Donut sau Text din cteve simboluri (Shape) nu poate
reprezenta un drum.
Shape seciune.

72

Aadar, minimum dou figuri plane. Una din ele calea, anume cu ea se determin adncimea
obiectului. A doua figur plan, numit Shape (seciune), determin forma obiectului. Cantitatea
intersectrii pe cale nu sunt limitate.
Calea poate fi o linie nchis sau deschis, coninnd mai mult de un splin.
Deformarea lofturilor
La crearea obiectelor complicate se utilizeaz deformarea lofturilor. Pentru aciunea
deformatoare pe loft nu trebuie atribuit modificatorul de modificare. Orice mod de deformare poate fi
animat.
Exist 5 tipuri de deformare a lofturilor:
1.Scale Deformation scaleaz seciunile loft-obiectelor pe proiecia axelor X, Y. nimerind n
fereastra de dialog a deformaiei, putei modifica conturul pe fiecare proiecie. Dac avem nevoie de
aciune simetric, legndu-le ntre ele cu ajutorul butonului Make Symmetrical.
Pentru modificarea proieciei unei curbe se adaog noi noduri, cu ajutorul instrumentului Insert
Corner (Bezier) Point. Nodurile pot fi micate i mai putem s le modificm proprietile. Se face acest
lucru ca i la lucru cu splinele: pe nodul selectat facem un click drept i selectm n fereastra de
parametri noul su tip : Corner nod de col, Bezier-Smooth nod netezit, Bezir Corner nod
unghiular netezit.
Observaii: n fereastra Skin Parameters pe panoul Modify este plasat butonul Skin, care arat
reprezentarea geometric a suprafeei obiectului-loft. n fereastra Skin Parameters pe panoul Modify
este butonul Optimize Shapes, simplific geometria loftului pe perimetrul acestuia. Gradul de
dificultate a loftului depinde de dificultatea cii, care se determin prin numrul de puncte de control n
fereastra Scale-deformaie i setrile n fereastra Skin Parameters.
2.Twist deformeaz seciunile prin rotirea mprejurul direciei drumului. Fereastra de dialog
seamn cu cea a Scale Deformation. Deosebirea dintre acestea const n faptul c primele 5 butoane n
Twist sunt neactive, deoarece acesta acioneaz doar ntr-o direcie. Linia roie determin gradul de
nclinaie.
3.Teeter rotete (stoarce) seciunile n jurul axelor X Y. n fereastra de dialog ca parametru iniial
este apsat butonul pentru stoarcerea simetric asupra axei.dac avem nevoie de a aciona numai asupra
unei axe, atunci dezactivm butonul pentru stoarcerea simetric.
4.Bevel aceast deformaie seamn cu Scale. Ea schimb mrimea seciunilor (scaleaz). n
deosebire de Scale n aceast deformaie se poate de determinat gradul de interaciune (n uniti,
repartizate pe axe). Lucrul cu fereastra Bevel-deformaii este analogic cu cel efectuat cu celelalte
metode.
5.Fit dumneavoastr creai spline, care reprezint seciuni ale lofturilor, aplicate pe plane. n
fereastra de dialog Fit Deformation redactarea splinelor se efectueaz la fel ca i n ferestrele de
deformare precedente. Pentru ca s folosim spline-ul creat n calitate de proiecie activm butonul Get
Shape, dup aceasta selectm splinul. Proieciile se redacteaz cu folosirea acelorai taste ca i n
cazurile precedente.
Camera
Camera n scen
Camera n Max este predestinat pentru alegerea punctului optim al profilului cu corecia
unghiului de vedere, distanele focale i punctele de animaie i parametrii. Alegerea punctului de vedere
se poate efectua i n vederea Perspective, dar aici nu avem posibilitatea reglrii corecte i ndeplinirea

73

mai convinabil a astfel de aciuni. Se creeaz o camer pe panoul Create/Camera. Camerele pot fi de
dou tipuri : Free (liber) i Target (cu o direcie). Deosebirea ntre ele const n faptul, c la camera cu
direcie se regleaz aparte Target (punctul la care este legat camera, acest punct i determin tot odat
i direcia). Camera Free se regleaz ca un obiect integru.
Camerele n 3DS Max, ca i obiectele obinuite pot fi deplasate i rotite, n dependen de
cerine, i utiliznd instrumentele necesare. Pentru a vedea cum arat lucrurile din scen din partea
camerei, trebuie s facem un click pe denumirea unei vederi i din meniul aprut s alegem
Views/Camera. Exist i posibilitatea de a regla anume fereastra Camera, pe panoul de comand cu
ferestrele de vizualizare.
Modificarea parametrilor camerei n scene:
Modificarea sau schimbarea parametrilor camerei se produce din panelul de comand Modify, n
Parameters (parametri). Aici se redau valorile pentru Lens (lentila) i pentru FOV (ungiu de
cuprindere), Orthographic Projection (proiecia ortografic).
Panoul Stock Lenses ne permite alegerea unei distane focale standarde n milimetri
15mm..200mm.
ntreruptorul Show Cone coprinde acele obiecte care au nimerit n zona de vedere a camerei,
independent este ea selectat sau nu.
ntreruptorul Show Horizon activeaz i dezactiveaz observarea liniei orizontului.
Evirment Ranges
(regiunea de reglare a intervalelor mediului nconjurtor)parametrul Ranges se folosete
n acele cazuri, cnd n scen sunt prezente efectele atmosferice (Fog, Volume Fog) pentru determinarea
apropiatului (Near Range) i a ndeprtatului (Far Range), se utilizeaz n acele cazuri cnd se
iniializeaz intervalele de intensitate a ceii relativ de camer.
Acest parametru este legat de reglarea efectelor atmosferice n fereastra Rendering/Envirment
(nconjurtorul). n aceast fereastr n regiunea Standard se reguleaz procentul de densitate, adic
intransparena ceii i a intervalelor minim i maxim. ntre graniele acestora se situeaz un tunel.
Cliping Planes
(excluderea obiectelor din zona de vedere a camerei la deprtare)
opiunea Clip Manually (decuparea manual) determin pentru plane valoarea Near Clip
(apropiat) i Far Clip (ndeprtat), situndu-se mai departe, obiectele se desprind adic nu sunt
percepute. n scene vor fi vizibile numai acele obiecte (pri de obiecte),care s-au situat ntre planele
Near Clip i Far Clip.
Lumini
Surse de lumin
Sursele de lumin n 3Dmax modific surse reale de lumin ele ilumineaz scena. Cum i
oriice alt obiect n program, sursele de lumin pot fi alese dup diferite criterii i de le modificat n
dependen de problem. La crearea scenei obiectul se ilumineaz iniial automat. Cum numai se
creeaz prima surs de lumin, iluminarea automat se anuleaz. La eliminarea tuturor surselor de lumin
create, iluminarea automat se conecteaz.
Sursele de lumin pot fi de cteva tipuri:
Surse de lumin de tip omni (punctiforme)
Astfel de surse degaj raz uniform n toate direciile.
Pentru a crea o surs de lumin de tip Omni, se selecteaz mai nti panelul Create/Lights i
efectum un click pe butonul cu denumirea Omni. Apoi se alege vederea necesar i locul unde trebuie
creat sursa de lumin, i efectum un click stnga.

74

Parametrii sursei de lumin Omni


Parametrii sursei de lumin se pot schimba imediat dup crearea acesteia, n regiunea
parametrilor. Dac dup crearea sursei, n scen au fost urmrite unele transformri, atunci parametrii
acesteia pot fi modificate pe panoul Modify.
1.General Parameters(parametrii generali).
n regiunea Color (vezi Obiecte de Baz) aceste dou panele ne permit de a schimba culoarea
sursei n una din cele dou palitre de culori pentru determinarea culorii. Sistemul RGB ne permite de a
da valori pentru Rou, Verde i Albastru, dar sistemul de culori HSV nuana de culoare (situarea n
spectru de culori), densitatea i intensitatea culorii sursei. Valorile le putei introduce desinestttor sau
de la tastatur, sau cu ajutorul spinerelor.
Culoarea, pe care o reglai, se reprezint n fereastra culorii. Dac facem un click pe el cu
mouseul, se deschide fereastra de dialog Color Selector: Light Color pentru reglarea culorii.
n Multiplier se red intensitatea culorii. Se pot atribui i valori negative, n acest caz lumina
devine negativ (vezi Exerciiul).
Cteodat trebuie de luminat numai un obiect dat, sau de fcut astfel ca, numai un obiect s lase
umbr. Butonul Exclude ne permite excluderea obiectelor selectate din luminare (eliminare/includere),
care conine lista obiectelor. Anume n n aceast list se pot include sau exclude obiectele din iluminare.
Opiunile Conrast i Soften Diff Edge determin claritatea de trecere de la regiunea iluminat
de surs la sectoarele neiluminate: Contrast face aceast trecere mai rapid, dar Soften Diff Edge
dimpotriv mai lin.
Obiunea affect Diffuze (efectul de colorare) activeaz i dezactiveaz efectul de interaciune a
sursei cu obiectul adic cu iluminarea lui.
Opiunea Affect Specular (efect de strlucire) activeaz i dezactiveaz efectul de strlucire a
suprafeei de la sursa de lumin. Cnd opiunea este dezactivat se obine efectul de suprafa mat.
Regiunea Attenuation (slbire)
Aici putei s impunei mrimile intervalelor de intensitate. n legtur cu acest fapt opiunea
Use activeaz/dezactiveaz folosirea granielor n ecranele de vederi i obiunea Show activeaz
vizibilitatea granielor ferestrelor de vederi, independent de faptul dac este selectat ori nu o surs de
lumin.
Slbirea ne permite de a schimba aciunile intensitii luminii pe dou intervale Near (la
aproapele) i Far (la ndeprtat), care la rndul lor se mpart n dou: Start (iniial) i End (final).
n regiunea Decay (stingere) se red gradul de interaciune a sursei de lumin pe obiect.
Interaciunea se poate de interzis (none), ea poate fi slbit i aproape stins (Inverse viceversa), sau
de a aciona proporional slbirii (Inverse Square).
2.Projector Parameters (parametrii proiectorului).
n aceast regiune sursa de lumin Omni se schimb n Projector. Celui de pe urm i se poarte
atribui o hart din biblioteca Map. Mai detailat despre proiectori se poate de aflat din exerciii.
3.Shadow Parameters (parametrii umbrei)
Pe acest panou se pot regla parametrii umbrelor, incidente de pe obiectele luminate, sau n
genere de a te dezice de la ele, dezactivnd opiunea Cast Shadows.
Cast Shadows: reglri individuale a generrii umbrei.
Use Global Settings: dac reglm parametrii Map Bias, Size, Smp Range i artm opiunea
Use Global Settings, atunci la urmtoarea schimbare a parametrilor sursei va fi suficient de a activa
aceast opiune ca s se restabileasc parametrii iniiali.
Use Shadow Maps/Use Ray-Traced Shadows: se determin dac se va folosi calculul umbrei
doar conturul obiectului (shadow maps) sau se va duce cont i de material, i opiunile de transparen
(Ray-Traced shadows).

75

Surse de lumin de tip Target i Free Directional


Aceast surs genereaz fluxuri de lumin orientate, care se propag paralel. Target Direct are
legtur el, Free Direct e ndreptat liber (tot aa ca i cu Free Camera, Target Camera).
Parametrii luminii Directional
Parametrii din regiunea General Parameters i Shadow Parameters pentru sursa de lumin
Directional sunt identici parametrilor Omni.
Directional Parameters
n cmpul pentru introducerea Falloff se nscrie mrimea intervalelor externe de stingere a
luminii spre margini.
Opiunea Show Cone include n sine vizibilitatea unui con.
Circle, Rectangle schimb forma (seciune) conul de lumin. La setarea formei rectangulare
(Rectangle) apare posibilitatea de a schimba corelaia dintre laturile dreptunghiului luminiscent
Aspect (aspect ratio).
Sursele de lumin de tip Target Spot i Free Spot
Lumina n sursele Spot iese dintr-un punct i se propag, lrgindu-se, ntr-o direcie oarecare,
sau, cu alte cuvinte, se propag conic. Proprietile sursei Target Spot (lumin orientat) sunt identice
proprietilor Free Spot (lumin liber).
Parametrii Spot deasemenea sunt la fel ca cei ai sursei Direcional.
Oriice surs de lumin poate fi translat, rotit i scalat pe ecranele de vederi la fel ca i toate
celelalte obiecte standarde n 3DMAX.
Materialele
Material Editor
Materiale
Suprapunerea hrilor (Bitmaps)
Tipuri de hri (Map Types)
Descrierea tipurilor de hri
Materiale Matte/Shadow
Materiale Raytrace
Material Editor
Redactor de materiale. Date despre iconie.
Sample Type determin tipul de vizualizare preventiv, folosit n slot sfer, cub sau
cilindru.
Backlight(iluminare) adaog iluminare la slot. Efectele acestuia sunt vizibile la vizualizarea
preventiv n form de sfer. Iluminarea este ndeosebi folositoare n cazul, cnd se elaboreaz materiale
noi.

76

Background fonul din spate n slot. E folositor, cnd apare necesitatea de a vedea rezultatul
interaciunii ntre transparen i netransparen.
Sample UV Tiling reguleaz numrul de repetri ale copiilor exemplului de textur bitmap pe
suprafaa slotului la crearea unui material complicat.
Setul de exemplare Tiling acioneaz numai asupra slotului i nu are nici o atribuie la geometria
n scen.
Video Color Check (stingerea culorilor video) activeaz materialul obiectului pentru culori,
care nu se includ n NTSC sau n pragul PAL. Aceste tipuri de culori au tendina de a se schimba cnd
imaginea se transmite la vizualizare. Pixelii, care conin aceste culori slbesc pe obiect.
Make Preview (vizualizare prelabil), Play Preview (derularea nscrierii), Save Prevew
(salvarea nscrierii) aceste butoane ne permit crearea, derularea i salvarea (n AVI fiiere) animaia
materialului n slot n coordonate reale ale timpului.
Options (opiunile editorului de materiale) reglrile dirijrii cu sloturile.
Select By Matrial (alegerea dup material) alegerea obiectului din scen pe baza celui ales n
Editorul de Materiale. Obiectele ascunse nu se selecteaz chir dac metrialul este atribuit lor.
Get Material (obinerea materialului) cheam fereastra de dialog Material/Map Bowser,
care permite de a alege i a numi materiale i texturi.
Put Material to Scene renoveaz materialul n scen dup ce a fost redactat. S admitem c
dorii s copiai materialul i s experimentai cu copia lui, lsnd n pace exemplarul iniial (sau n
genere creai un nou material i l denumii cu acelai nume). Dac s-a obinut rezultat pozitiv i ai
hotrt s-l nlocuii pe cel vechi din scen, atunci pur i simplu forai acest buton pentru a v atinge
scopul.
Assign Material to Selection asigneaz materialul coninut n slot obiectului selectat din
scen.
Reset Map/Mtl Default curarea slotului. Dup acesta slotul devine sur i apar reglrile
definite ca iniiali.
Make Material Copy (crearea unei copii a materialului) nghe slotul activ, copiind
materialul pe dnsa. Materialul n acest caz -i pstreaz numele.
Put to Library (plasarea n bibliotec) adaog materialul ales la materialele existente.
Material Effects Channel (canalul efectelor ale materialului) adiioneaz unul din canalele
pentru utilizarea efectelor n Video Post.
ID = 0 nseamn, c canalul efectelor nu este n folosin.
Show Map In Viewport (reprezentarea texturii n ecranul vederii) arat textura
materialului complicat pe suprafaa obiectului n regimul de vizualizare Smooth+Highlights pe ecranele
vederilor.
Show End Result (vizualizarea rezultatului final)
1.Pentru materialele cu o structur complicat (componente) se reprezint rezultatul final cu
toate materialele care intr n structura lor.
2.Arat pe slot numai acel nivel al materialului, pe care v aflai n momentul dat, mpreun cu
cele de mai jos:
Go To Parent (trecerea la printe) deplasarea cu un nivel mai sus, de la materialul
subordonat printelui.
Go Forward To Subling (trecerea la materialul cel mai apropiat frate) deplasarea
printre materiale, care se afl pe acelai nivel de subordonare materialului printe.
Material/Map Navigator (navigatorul texturilor i a materialelor) fereastra de dialog Map
Navigator, care aprovizioneaz vizualizarea rapid prin intermediul ierarhiei texturilor n material.
Pick Material From Object preluarea unui material de pe un obiect. Activai iconia, facei
click pe obiectul ales, i materialul apare pe slotulselectat.
Material/Map Browser.
View List (vizualizarea listei) vizualizarea listei materialelor posedate.

77

View List + Icons permite vizualizarea listei materialelor posedate ct i exemplarele lor n
form de sloturi.
View Small Icons vizualizarea materialelor n form de butoane mici.
View Large Icons vizualizarea n form de butoane mari.
Update Scene Materials from Library nnoirea din biblioteci a materialelor n scen.
Delete From Library tergerea materialului din bibliotec.
Clear Material Library tergerea coninutului dintr-o bibliotec de materiale.
Broeswse From vizualizarea din
Mtl Library vizualizarea din bibliotecile redactorului de materiale.
Mtl Editor vizualizarea materialelor active n momentul dat pe sloturile n redactorul de
materiale.
Active Slot materialul pe slotul activ.
Selected materialul obiectului selectat din scen.
Scene materialele n scen.
New materialele noi.
Show reflectarea; Materials numele i tipul materialului; Maps texturi.
Root Only la vizualizarea materialelor scenei: afiarea obiectului la care este ataat materialul.
La crearea noului material:
Putem repartiza hrile nenecesare dup proprieti:
2D maps hri bidimensionale.
3D maps hri tridimensionale.
Compositors combinate.
Color Mods care prelucreaz culorile.
Other hrile oglindite.
All afiare total.
Tipurile de umbrire (Shading)
Constant nuanm uniform fiecare segment al obiectului, netezind trecerile ntre ele, crend
muchii, ca ochiul n form de plas al insectelor.
Phong tonarea se determin pentru fiecare pixel, se utilizeaz rezultatul mediat netezit al
laturilor.
Blinn difer de Phong prin calculul mai lin al umbrelor luminoase. Pentru el trebuie, ca i
pentru Phong, generarea de treceri line de ctre Soften, n care se pierde o parte din informaie a lucirii.
Metal imiteaz materialul metalului.
2-Sided iniial se reprezint doar suprafeele faciale a muchiilor. La necesitate se pot calcula i
prile interioare a feelor obiectului, pentru aceasta este destul de a activa opiunea 2-Sided. Dar
ndeosebi dac i se atribuie proprietatea de oglindire la calculul scenei muchia va fi calculat dublu:
din partea de fa i din interiorul obiectului, plus oglindirea ei.
Aceast operaie se utilizeaz, dac este necesar, de exemplu de a reprezenta toate gratiile unei
colivii.
Wire regim de plas.
Face Map suprapunerea texturii pline pe fiecare segment al obiectului.
SuperSample cel mai neted calcul al materialului (cu ajutorul Antialiasing).
Suprapunerea texturilor cu parametri diferii:
Masive i Copii

78

Masive i copii
Exerciiul Insul
Masive i copii
n procesul lucrului deseori apare necesitatea de a crea una, dou, sau chiar mai multe copii ale
obiectului (dublicate).
nchipuii-v cerul nstelat cu un numr mare de stele, firioare de nisip pe fundul malului etc. n
toate aceste cazuri apare necesitatea n crearea copiilor.
Ce pot aceste copii-dublicate?
Noile obiecte-dublicate le putem transforma, adic transla, roti, i scala.
Se pot schimba coordonatele sistemului i transformarea centrului.
Se pot crea copii de cteva tipuri Copy, Instance i Reference.
Copy absolut independent de obiectul iniial. La diferite transformri, transformrile
originalului nu vor influena nicidecum asupra obiectului copie a acestuia.
Instance acest tip de copie, este copia la modificarea creia se modific i originalul i
viceversa.
De exemplu, dac dorim s desenm un stol de peti, atunci pe ei se poate de-i creat iniial ca
Instance copii, i apoi de-l animat, aplicnd modificatorul Ripple la unul din petiori. Ca rezultat tot
stolul va pluti, efectund fiecare n parte aceleai micri.
Reference copii. La astfel de copii orice modificator, aplicat originalului, va afecta asupra
Reference copiei, dar n nici un caz invers.
n program exist cteva metode de creare a dublicatelor:
Crearea copiilor innd apsat tasta Shift, selectm obiectul, care trebuie copiat; apoi selectm
butonul de micare, rotaie sau scalare, i meninnd apsat tasata shift i butonul stng al mouse-ului,
crem un obiect dublicat nou. n aa mod putem crea circumferine (utiliznd butonul rotirii de pe
panoul de instrumente) i linii (utiliznd butonul de translare de pe panoul de instrumente) ct i crearea
mulimilor de obiecte.
Crearea masivelor
Folosirea tastei de mulime ne permite crearea unui, sau a dou masive tridimensionale. Astfel ca
n timpul crerii, s le putem scala, roti, ntoarce i translarea la o distan anumit.
n fereastra de dialog Array n regiunea Incremental se poate de selectat parametrii pentru
translare, rotire, scalare a copiilor.
Move determin distana dintre fiecare obiect din viitoarea mulime pe axele X, Y, Z n
uniti.
Rotate determin gradul de rotire relativ de oricare din cele trei axe pentru fiecare obiect din
masiv (n grade).
Scale determin procentajul din scar (micorare sau mrire) dup orice ax pentru fiecare
obiect al masivului (n procente).
Totals (mulimi comune)
Move determin distana total pe fiecare din cele trei axe ntre punctele de centru a dou
obiecte mrginae a mulimii. De exemplu dac ordonm zece obiecte pe axa X cu valoarea de 100,
atunci 10 obiecte vor fi aliniate ntr-un rnd de lungimea de 100 uniti ntre dou obiecte mrginae.

79

Rotate determin gradele ntregi de rotire dup oricare dintre cele trei axe.
Opiunea Re-Orient permite de a roti obiectele relativ de axele lor locale la rotirea lor n jurul
sistemului mondial de coordonate (vezi sistemele de coordonate).
Scale determin scara plin a obiectelor pe fiecare din cele trei axe.
Opiunea Uniform deconecteaz spinii Y, Z i aplic modificarea X dup toate axele,
terminnd cu scara.
n regiunea Type of Object se permite crearea masivelor de tip Copy, Instance i Reference.
n regiunea Array Dimensions se poate se ales numrul necesar de copii (Count), ct i setarea
densitii mulimii.
1D unidimensional, 2D bidimensional, 3D tridimensional.
Reflecia obiectelor
Reflecia se utilizeaz n cazurile cnd avem nevoie de a obine copia obiectului, care ar fi
oglindirea originalului.
Dup tipul oglindirii obiectele pot fi Copy, Instance i Reference.
n fereastra de dialog, care apare dup selectarea butonului Mirror pe panoul de instrumente,
permite reflectarea obiectelor pe axele X, Y, Z, XY, YZ, ZX.
Comanda Mirror deasemenea poate fi selectat din meniul Edit, lucru care duce la apariia
ferestrei de dialog Mirror, n care deasemenea pot fi ndeplinite reglrile necesare.
Utilizarea butonului de reflectare permite crearea copiilor oglindite a obiectelor dup toate trei
axe, sau pur i simplu reflexia a nsi originalului.
Teorie. Lumina i culoarea
Sistemul vizual al omului percepe radierile electromagnetice cu lungimea de und de la 400 pn
la 700 nm.(nanometri, 1nm egal cu 10 9m) ca lumina vizibil. Lumina se primete direct de la surs, sau
indirect, prin reflectarea ei de la obiect sau refracia prin el.
Sursa sau obiectul se numete acromatic, dac lumina conine toate lungimile de und vizibile n
proporii aproximativ egale. Sursa acromatic pare a fi alb, iar lumina acromatic reflectat sau
refractat alb, sur sau neagr. Albe arat obiectele, care reflect mai mult de 80% lumina sursei albe,
iar negre mai puin de 3%. Valorile intermediare dau obiectelor nuane sure.
Diferena dintre luminozitate i strlucire const ntr-aceea, c luminozitatea este o proprietate a
obiectelor reflectoare care nu lumineaz i se msoar de la negru pn la alb, iar strlucirea este
proprietatea obiectelor care lumineaz i se msoar de la mic la mare.
Dac lumina conine lungimi de und n proporii diferite, atunci ea se numete cromatic (cu
alte cuvinte, colorat). La lungimea de und, care se gsete la 400 nm lumina pare violet, iar la 700
nm roie. La mijloc se gsete albastru deschis, albastru, verde, galben i oranj.
Din sine radierea electromagnetic nu are nici o culoare acest sim apare, ca o reacie a
sistemului nervos a omului la undele electromagnetice.
Obiectul pare colorat, dac el eman lumina ntr-un diapazon ngust de lungimi de und i le
absoarbe pe celelalte. Prin interaciunea culorilor care cad pe obiect i culorile care se reflect pot s
apar efecte interesante. De exemplu, la reflectarea culorii verzi de la un obiect alb i lumina, i obiectul
par verzi, iar dac cu o lumin verde se lumineaz un obiect rou, atunci el va fi negru, deoarece de le el
lumina aproape c nu se reflect.
Reprezentarea psihofiziologic a luminii se determin prin nuana culorii, saturaia i
luminozitatea. Nuana culorii permite deosebirea culorilor, iar saturaia determin gradul de slbire
(amestecare) a culorii date cu alb. La culoarea pur ea este egal cu 100 % i se micoreaz pe msur

80

ce se adaug alb. La culoarea acromatic saturaia este egal cu 0%, iar luminozitatea este egal cu
luminozitatea acestei culori.
Deoarece ochiul reacioneaz numai la culorile roie, verde i albastr, ele se numesc culori de
baz.
n grafica pe calculator se folosesc dou sisteme de amestecare a culorilor: RGB roie, verde,
albastr (red, green, blue) i CMY albastru deschis, magent, galben (cyan, magenta, yellow).
Albastru deschis, magenta i galbenul sunt culori adugtoare a celor trei culori de baz: rou,
verde, albastru. Noiunea de adugtoare nseamn n cazul dat aceea c aceste culori se combin una pe
alta pn la alb: albastru deschis i rou sunt egale cu culoarea alb etc. este interesant c culoarea
magent, nu exist n spectrul luminii solare (el trebuie s se gseasc ntre violet i rou), el subiectiv se
creeaz de sistemul vizual a omului.
Modelul RGB este comod de-l folosit pentru artarea culorii obiectelor luminoase, de exemplu,
pixelilor monitorului sau becurilor colorate. Dac becul lumineaz n spectrul rou i verde, atunci ea
pare galben (rou plus verde egal cu galben). Amestecarea tuturor culorilor din acest model formeaz
culoarea alb.
Modelul CMY se folosete pentru obiectele care reflect i refract lumina, de exemplu, n
filtrele de lumin i poligrafie. Dac culoarea se reflect de la o foaie de hrtie, pe care este imprimat
culoarea galben i magenta, atunci culoarea galben va absorbi culoarea albastr care se conine n
lumina care cade pe aceast foaie, iar magenta culoarea verde; rmne culoarea roie. n aa caz,
galben plus magenta egal cu rou, amestecarea tuturor acestor culori a acestui model formeaz culoarea
neagr.
Aadar, pe lng modelul de culoare HSV (hue, saturation, value: nuana, saturaia,
luminozitatea) pot fi folosite i modelele RGB i CMY, bazate pe proprietile vederii psihofiziologice.
n aceste modele culoare este format, din amestecul celor trei culori de baz care formeaz modelul dat.
Ultimul model, despre care vom vorbi, se folosete de pictori, cnd ei aleg culoare. La nceput se
alege nuana convenabil (culoarea pur), apoi la ea se adaug negru (nuane), iar apoi alb. n aa
mod, fiecare culoare poate fi dat prin nuan, cantitatea de culoare neagr i culoare alb, aa model de
culoare poart denumirea de HBW (hue, blackness, whiteness: nuan, cantitate de culoare neagr,
cantitatea de culoare alb).
Sistemul vizual al omului poate percepe aproximativ 350 000 de culori. Clar percepute
aproximativ 128 de nuane, 16 nivele de saturaie a culorii galbene i 23 de nivele de saturaie a culorii
ruu-violet.
Teorie. Sistemul de coordonate
n grafica pe calculator universal foarte important este nelegerea sistemului de coordonate.
Sistemele de coordonate n geometrie nu s-au folosit pn la Decart, care a elaborat i a introdus
sistemul de coordonate cartezian.
Pentru ce ele se folosesc? ntr-adevr, sistemele de coordonate sunt foarte confortabile, deoarece
ele ajut reprezentarea obiectelor geometrice n form de numere i egaliti; aceasta nseamn c multe
probleme geometrice pot fi rezolvate cu ajutorul algebrei. Exist o cantitate enorm de probleme, care
nu se pot rezolva cu ajutorul geometriei tradiionale, dar care se rezolv n geometria analitic (cu
aplicarea metodelor algebrice).
Sistemul de coordonate, este practic, regula care permite prezentarea obiectelor n form
numeric.
Sistemul de coordonate care se folosete n 3D Studio MAX, se numete sistemul de coordonate
dreptunghiular i se construiete n felul urmtor: Alegem n spaiu un punct. O vom numi originea
sistemului de coordonate i l vom nota cu punctul O.

81

Trasm prin acest punct trei linii perpendiculare una fa de alta, pentru fiecare din aceste linii
alegem direcia pozitiv (se nseamn cu o sgeat). Vom numi aceste linii axele de coordonate i le vom
numerota prin x, y, z.
n sfrit, alegem pentru fiecare ax segmentul unitar, adic segmentul, lungimea cruia o vom
socoti unitate (segmentele unitare pe desen sunt artate prin gradaii).
Coordonatele oricrui punct di spaiu n sistemul de coordonate dreptunghic se gsesc n felul
urmtor: Din punctul dat pe axa Ox coborm o perpendicular.
Lungimea segmentului, care unete originea sistemului de coordonate i punctul de intersecie a
perpendicularei cu axa i este coordonata punctului. Dac ea se afl n jumtatea pozitiv a axei, o lum
cu semnul plus, dac-i n cea negativ cu semnul minus.
Repetm acelai lucru pentru celelalte dou axe; n rezultat primim trei numere coordonatele
punctului. n acest sistem de coordonate noi putem descrie oricare punct al spaiului prin trei numere
reale (de exemplu, punctul O are coordonatele (0, 0, 0)). Pentru obiecte diferite se folosesc diferite
metode de descriere, de exemplu, sfera se d coordonatele centrului ei i razei.
Toate obiectele n spaiu au trei msuri (i anume, lungime, limea i nlimea), de aceea spaiul
se numete tridimensional.
n 3DSMAX se folosete numai sistemul de coordonate dreptunghiular, ns n limitele unei
scene noi putem folosi sisteme de coordonate diferite. La diferite sisteme de coordonate, dup cum
nelegei, pot fi origini diferite, direciile axelor diferite i diferite segmente unitare. Detailat despre
sistemele de coordonate, utilizate n 3DS MAX, este dat n documentaia de baz.
Teorie. Modelul de iluminare
n grafica tridimensional a calculatorului, de asemenea n 3D Studio MAX n particular, pentru
sintetizarea imaginilor reale se folosesc cteva modele matematice, despre care vom vorbi n continuare.
Unele din aceste modele sunt bazate pe teorii, unele pe observri neuristice, altele pe
speculaii . S ncepem cu cel mai simplu model de iluminare.
Modelul de iluminare simplu
Orice obiect, care se afl n scen poate fi vzut numai n unul din trei cazuri:
Obiectul eman lumin (este surs de lumin).
Obiectul reflect lumin.
Obiectul transparent permite trecerea luminii.
Dac obiectul absoarbe toat lumina ce cade pe el, atunci el arat absolut negru (i se numete
corp absolut negru). Dac obiectul practic nu absoarbe lumina ce cade pe el, el art alb, dac el absoarbe
parial spectrul color colorat (vezi Lumina i Culoarea).
Lumina reflectat de la obiect poate fi difuz i oglindit, adic putem vorbi despre reflectarea
difuz i oglindit:
Proprietile reflectrii difuze
Proprietile reflectrii oglindite.
Reflectarea difuz este caracteristic pentru suprafeele mate, anume culoarea difuz determin
culoarea obiectului.
Reflectarea oglindit este caracteristic pentru obiectele strlucitoare (metale, sticl), anume
cantitatea de lumin oglindit determin puterea de strlucire a obiectului.
Lumina difuz are aceeai culoare ca i obiectul.
Lumina oglindit are aceeai culoare, ca i lumina incident (dac o bil de metal este luminat
de o surs de lumin roie, atunci i strlucirea va fi roie).
Lumina difuz se reflect n toate prile proporional.

82

Lumina oglindit se reflect dup legea de reflectare oglindit, unghiul incident este egal cu
unghiul de reflectare.
Intensitatea luminii difuze reflectate este proporional cu cosinusul unghiului, sub care lumina
sursei cade pe suprafa.
Intensitatea luminii oglindite reflectate depinde de unghiul, sub care lumina cade pe suprafa.
n realitate, majoritatea obiectelor reflect att lumin difuz, ct i lumin oglindit, dar n
proporii diferite. n 3DS MAX caracteristicile luminii reflectate difuze i oglindite sunt date n
redactorul de materiale.
Pe lng aceti factori, asupra intensitii luminii difuze acioneaz distana dintre surs pn la
suprafa (intensitatea este invers proporional cu distana de la surs). n realitate obiectele sunt
iluminate nu numai de lumina direct, dar i de lumina mprtiat. n 3DS MAX lumina mprtiat
poate fi modelat de sursa de lumin real Ambient (uite Lumina).
Legea reflectrii oglindite e strict valabil pentru oglinzile ideale, pentru alte materiale unghiul
de reflectare poate s difere de unghiul incident.
Deoarece lumina oglindit este focalizat de-a lungul vectorului de reflecie, strlucirea nu este
vizibil din orice punct al scenei. La micarea observatorului iepuraii tot se mic.
Oglindirea luminii reflectate pentru diferite obiecte este dat de coeficientul N, care se
folosete n ecuaia, de determinare a intensitii luminii reflectate. Intensitatea este proporional cu
mrimea cosN , unde unghiul dintre raza reflectat i vectorul, ndreptat din punctul de reflectare
n ochiul observatorului. Luai n vedere c lumina oglindit i reflectarea sunt dou procese diferite.
Lumina oglindit permite de redat corect strlucirile la suprafaa obiectului, ns el nu ajut de
realizat efectul de reflectare n oglind. Reflectarea se consider n modelul global ca luminarea cu
trasarea razei.
Transparena
La precutarea transparenei noi ne ciocnim cu apariia refraciei. La trecerea dintr-un mediu n
altul, de exemplu din aer n ap raza luminoas se refract, adic i schimb direcia micrii.
Refracia se calculeaz dup legea lui Snellius: 1 sin = 2 sin , aici 1 i 2
coeficienii de refracie a mediilor, unghiul incident, unghiul de refracie. n realitate nici un
material nu permite trecerea la toat lumina incident, o parte tot timpul se reflect.
Trecerea luminii, la fel ca i reflectarea, pot fi oglindite i difuze. Trecerea oglindit este
caracteristic obiectelor transparente (sticl), iar difuz semitransparente i mate (ceaa, sticla mat).
Dac s ne uitm la obiect prin suprafaa semitransparent, atunci el pare neclar i splcit.
Efectul transparenei poate fi efectuat total numai n modelul total al iluminrii cu trasarea razei.
Umbra
Umbra este compus din 2 pri penumbre i umbre pure. Umbra pur este umbra central,
dens, are un contur bine delimitat, iar penumbra nconjoar de obicei umbra pur i primete o parte
de lumin de la sursa respectiv.
Penumbra apare, dac scena este iluminat de mai multe surse punctiforme sau de o surs real.
n grafica calculatorului se deosebesc umbre proprii i umbre purtate.
Umbrele proprii se formeaz de obiectul respectiv.
Umbrele purtate se formeaz de alte obiecte.
Texturi

83

n grafica calculatorului textur (factur) este numit detalizarea construirii suprafeelor.


Aplicarea texturilor asupra obiectelor permit redarea acestor obiecte forma real. Detalizarea de obicei
se folosete de dou tipuri. n primul caz pe o suprafa neted se pune uzorul pregtit din timp
(desenul), de exemplu, dac scanm fotografia unei suprafee de lemn i o redm unei bile, atunci noi
primi o bil din lemn.
Nectnd la ceea, c cu ajutorul acestei metode se poate de redat suprafeei o form neregulate,
ea tot rmne neted. A doua metod conine interaciunea local n ecuaia suprafeei, i n acest caz ea
devine ntr-adevr neregulat. Unele greuti cu texturile primei metode apar, dac le plasm pe
suprafee neplane. De obicei n aceste cazuri n imagine se introduc deformri, aa c la plasarea lor s
arate ca reale. Aa arat harta globului pmntesc dup introducerea deformrilor.
Alt problem legat de texturi este efectul scalar. La o mrire mare a imaginii se observ
structura ei granular (ca i n jocul Doom, cnd v apropiai foarte aproape de perei). Pentru a
prentmpina aceste apariii ale efectului scalar, se folosesc texturi de mrimi mari.
O posibilitate interesant pentru sintetizarea imaginilor reale sunt fracturile. Fracturile sunt
figurile uni-, bi- i tridimensionale, mici fragmente care sunt copii ale fragmentelor mari. Pentru
suprafeele i obiectele fractale este caracteristic, c noi putem s mrim gradul de detalizare la
apropierea de astfel de suprafa, pe ea apar noi i noi detalii mici.
Mai detailat despre reglarea texturilor n 3D Studio MAX, putei afla din compartimentul
Redactorul materialelor.
Modelul global de iluminare cu trasarea razei
Modelul universal de iluminare trebuie s duc cont de urmtoarele efecte: reflectarea,
transparena, umbra i textura; toate acestea sunt posibile cu ajutorul algoritmului de trasare a razei. Pe
lng efectele sus menionate, n desenul primit pot fi introduse i adugri i deformri adugtoare
(vezi Filtre). De exemplu noi putem introduce deformarea, care de obicei apare la imaginile video i
foto.
Pentru sintetizarea imaginilor reale este necesar de luat seama, c lumina slbete, trecnd prin
obiectele transparente, i chiar poate s-i schimbe nuana. Algoritmul de trasare a razei (Ray Tracing),
despre care s-a vorbit mai sus, este unul din metodele de nlturare din scen a suprafeelor invizibile. n
acest algoritm se traseaz razele, care ies din camer, i care trec prin fiecare pixel al desenului
sintetizat. Un caz simplu, dac raz trece de exemplu printr-un cub rou, atunci pixelul prin care ea trece
se coloreaz n ro. n realitate, este clar, c razele nu ies din camer, dar nimeresc n ea, ns direcia
razei n acest algoritm nu conteaz. Dac socotim, c razele ies din camer, atunci algoritmului i trebuie
mai puine resurse a calculatorului.
ntr-un caz mai complicat la colorarea pixelului se ia n consideraie nivelul reflectrii difuze i
oglindite, de asemenea i umbrele. Dac punctul este astupat de alte obiecte de sursa de lumin, atunci,
punctul se afl n umbr total i strlucirea ei este egal cu strlucirea luminii mprtiate n scen.
Algoritmul, folosit n 3DS MAX, traseaz raze printr-un mod mult mai complicat. Fiecare raz,
care cade pe obiect, se desface n dou raze reflectat i refractat (dac obiectul este transparent), iar
apoi se traseaz aceste raze. Trasarea se ntrerupe, cnd raza prsete scena, sau cnd intensitatea ei
cade mai jos de domeniul dat. Dup ce toate razele trasate au fost urmrite, se capt culoarea sumar a
pixelului.
Efectul scalar (aliasing) i eliminarea lui (anti-aliasing)
Efectul scalar apare din structura granular a imaginilor i dispozitivelor raster (printere, ecranul
monitorului). Deoarece imaginea la aceste dispozitive const din puncte foarte mici, atunci n unele
cazuri valorile lor discrete pot fi foarte bine observate. Cu alte cuvinte efectul scalar apare atunci, cnd
imaginea este constituit din puncte.

84

Efectul scalar este foarte bine vizibil la dreptele, apropiate de verticale i orizontale, ca i la
hotarele a dou regiuni.
n grafica calculatorului pentru a elimina efectul scalar n diferite cazuri se folosete numai o
singur metod. De obicei se consider c pixelii nu au mrime, nectnd la aceea, c n realitate,
fiecare din el ocup o oarecare suprafa foarte mic.
Dac considerm c pixelii au suprafa, atunci o parte a pixelului poate fi albastr iar alt parte
alb iar n rezultat pixelul va fi colorat ntr-o culoare de amestec al albastrului cu albul, astfel crend o
trecere lent.
Iat cum poate fi rezolvat problema desenrii unei drepte, apropiat de vertical sau orizontal
cu ajutorul algoritmului de eliminare a efectului scalar. Noi vedem c strlucirea pixelului este direct
proporional cu suprafaa, ocupat de dreapt n pixelul dat. A doua linie de la o distan mai mare pare
mai neted ca prima.
Realizarea acestui model de eliminare a efectului scalar n algoritmul trasrii razelor este bazat
pe acelai principiu. La prima etap razele se trimit n scen, dar nu prin centrul pixelilor, dar prin
vrfurile lor. Dac culorile prin vrfurile pixelilor aproximativ coincid (pixelul nu se gsete la hotarul a
dou regiuni), atunci el va fi reflectat cu o lumin intermediar.
Dac culorile se deosebesc foarte tare, atunci pixelul se mparte n patru subpixeli i procesul
continu. mprirea pixelilor se petrece pn cnd ei nu devin foarte mici, iar culoarea lor intermediar
se combin i se primete pixelul de baz. Parametrii algoritmului de baz se regleaz pentru materiale
Ray-Traced n redactorul de materiale.
Tonarea (umplerea)
Multe suprafee curbilinii n 3DS MAX n realitate sunt aproximate cu ajutorul unor poligoane
mici, la fel, ca i linia curb pe plan poate fi aproximat cu mici segmente.
Aceast aproximare permite semnificativ reducerea resurselor de calcul, care trebuiesc la
vizualizarea obiectului, ns ea introduce i efecte secundare: ct de mici nu vor fi poligoanele, pe desen
se observ structura frnt a suprafeei.
Pentru a elimina acest efect, se folosesc algoritmi speciali de umplere a suprafeelor curbilinii,
purtnd numele fondatorilor si, metoda Fong (Phong) i metoda Blinn (Blinn) (de asemenea este
cunoscut metoda Guro (Gouraund), ns n 3D Studio el nu se folosete).
Desigur exist umplerea monoton simpl (Constant), care nu netezete suprafaa poligonal.
Pe lng aceste metode de tonare, n 3D Studio MAX se folosete i umplerea metalic, bazat
pe proprietile suprafeelor metalice. Mai detailat vedei n redactorul de materiale.

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