Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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
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).
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.
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
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
11
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
grNoLoadMem
grNoScanMem
grNoFloodMem
grFontNotFound
grNoFontMem
grInvalidMode
grError
grIOError
grInvalidFont
grInvalidFontNum
12
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.
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.
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
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
Valoare
0
1
2
0
1
2
20
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
23
Nume
operator
COPY_PUT
XOR_PUT
OR_PUT
AND_PUT
NOT_PUT
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.
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
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.
p u Pi * Bi , n u 0 u 1
i 0
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
unde B0,3, B1,3, B2,3, B3,3 sunt funciile de amestec pentru curbele Bezier cubice.
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.
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.
1...... 2......1 P 1i
1 i n 1
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.
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.
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.
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
-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)
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 )
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.
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
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
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
tiind ca
i
rezulta:
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:
1<=i<=m
Modelul LAMBERT
Pentru fiecare faeta se calculeaz o singura intensitate, cu formula:
I d k * (N u Lu )
unde
37
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
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*
- 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.
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
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
R 0 Q3
Q1 (P0 P1 ) / 2
R 1 ((P1 P2 ) / 2 R 2 ) / 2
40
unde
..1.....0.....0....0
1 2 ..1 2 .....0....0
H1
1 4.. 2 4 ..1 4....0
..0.....0.....0.....1
41
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
v (y - y 0 ) / (y 3 - y 0 )
P3
P2
P0
P1
43
v (y - y1 ) / (y 2 - y1 )
P3
P2
P0
P1
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
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
50
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
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.
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
59
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).
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.
63
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
69
70
71
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
75
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
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.