Documente Academic
Documente Profesional
Documente Cultură
Graf Prelegeri
Graf Prelegeri
/0SISTEME &RAFICE
/0/0 S$!te1a )relucrarea ,$ a!al$1a $#a*$!$lor
(rin sistem grafic se -nelege un ansam'lu din echipamente i programe, specializate -n
sintez", prelucrarea i analiz" a informaiei grafice, prezentate -n forma de imagini. !chipamentele
pot fi calculatoare, staii grafice, imprimante, plotter2e .a.
<n sistem grafic care permite interaciunea cu utilizatorul prin echipamente specializate
/mouse, ta'leta grafic", 6oA2sticB .a.0 se numete sistem grafic interactiv.
Sistemele grafice pot fi clasificate dup" scopul prelucr"rilor pe care le efectueaz".
Din acest punct de vedere se face distincie -ntreC
2sisteme de sintez" a imaginilor, sisteme de prelucrare a imaginilor i sisteme de analiz" a imaginilor.
Secvena de prelucr"ri efectuate -ntr2un sistem de sintez" a imaginilor poate fi reprezentat"
schematic ca -n figura 1.1.
%odelul imaginii este o list" de primitive grafice /linia, cercul, poligonul, te*tul i altele0,
-nsoite de atri'ute cum ar fiC culoarea, tipul i l"imea liniei, etc. Dntr2
un sistem grafic 3D primitive pot fi i diferite tipuri de suprafee i o'iecte. Algoritmii de
sintez" codific" fiecare primitiv" grafic" -ntr2o form" special". %odelul imaginii poate rezulta din
calcule specifice aplicaiei /de e*emplu, reprezentarea grafic" a unei funcii0 sau poate fi editat de
utilizator prin intermediul programului de aplicaie /de e*emplu, schia unei piese, a unei case,
etc.0. <tilizatorul poate solicita diferite transform"ri asupra o'iectelor redate Dn imagine sau
asupra imaginii -n ansam'lu.
(rogramele de aplicaie sunt specializate pe diferite domenii, de e*emplu, proiectarea
asistat" de calculator -n electronic", -n mecanic", -n arhitectur", cartografie, 'irotic", gestiune
economic", tipografie electronic", producia de filme, etc.
Dn sistemele de prelucrare i de analiz" a imaginilor datele de intrare se e*trag din imagini.
&maginea poate fi o fotografie sau o imagine din lumea real".
Sistemele de preluare a imaginilor au ca scop ameliorarea imaginilor su' aspectul perceperii lor
de c"tre om /figura 1.2.0 prinC modificarea culorilor, Dm'un"t"irea contrastului, redarea selectiv" a
diferitelor p"ri din imagine i altele.
Analiza imaginilor are ca scop identificarea o'iectelor reprezentate Dn imaginile codificate
numeric /figura 1.3.0. Sistemele de analiz" a imaginilor se folosesc -n aplicaii de recunoatere a
formelor, de e*emplu pentru identificarea o'iectelor, pentru analiza reliefului i a resurselor
naturale etc.
/0-0 A)l$ca2$$ *ra"$ce
Din categoria aplicaiilor grafice fac parteC
2 (rogramele de desenare /paint programs0C permit crearea desenelor su' form" de h"ri de 'iiE
2 (rograme pentru desen tehnic i artistic /dra= programs0C furnizeaz" funcii avansate de desenare,
'azate -n special pe prelucrarea liniilor cur'e. &maginile sunt reprezentate -n formate vectorialeE
2 (rograme grafice de prelucrare a datelor ta'elare /graphic =orBsheet0C sunt destinate aplicaiilor -n
domeniul financiar2conta'il. +u a6utorul lor se editeaz" ta'ele de profituri, analize de ta'ele etc.
Datele sunt introduse -n celule /o celul" reprezint" intersecia dintre o linie i o coloan" -ntr2un
ta'el0. <nele celule pot fi definite ca relaii -ntre dou" sau mai multe celule introduse anterior. Aceste
produse folosesc grafica pentru prezentarea datelor din ta'ele -n forme atractive sau sintetice.
2 (rograme grafice de prezentare /slide sho=0C permit crearea diagramelor /dreptunghiulare sau
circulare0, graficelor, a altor tipuri de imagini pentru prezent"ri i rapoarte, pun la dispoziia
utilizatorului colecii de diverse scenarii de reclam". Diagramele pot fi rezultatul prelucr"rii i
reprezent"rii datelor din aplicaii pentru foi de calculE
#
2 (rograme pentru animaieC permit -nl"nuirea i secvenierea seriilor de imagini pentru a simula
micarea. .iecare imagine este considerat" un cadru -ntr2un film. (ropun facilit"i din domeniul
filmului /mi*a6e, selecie de secvene, modific"ri de o'iecte pentru o'inerea efectelor de animaie0E
2 (rograme +ADC aplicaii dedicate proiect"rii, destinate arhitecilor i inginerilor. (rintre funciile
cele mai cunoscute, permitC trasare -n 2D i 3D, numeroase sisteme de coordonate i tipuri de
proieciiE selectarea dintre numeroase sisteme de m"sur" a dimensiunilor paginii de desen,
localizarea o'iectului prin referina la alte o'iecte, m"rirea sau micorarea desenelor /zoom0, edit"ri
de sim'oluriE tipuri de linii de trasare i culori, scal"ri i rotaii de o'iecte selectate, compati'ilitatea
formatelor fiierelor, ce pot fi importate sau e*portate i de alte aplicaii, umplerea poligoanelor -n
diverse stiluri /fill0, numeroase tipuri de caractere te*t -n alfa'ete latin, chirilic, grec, sim'oluri
matematice, meteorologice, astronomice, muzicale, facilitatea de dispunere pe masa de desen, cot"ri
automate a o'iectelor selectate, atri'ute de vizi'ilitate, prioritate, culoare, stil, ataate o'iectelor i
posi'ilitatea edit"rii facile a acestor atri'ute, introducerea posi'ilit"ii desen"rii de mFn" cu
dispozitivul de intrareC mouse, ta'let" grafic", tras"ri de cur'e, suprafee, polilinii, facilit"i de trasare
-n 3D /crearea o'iectelor 3D din 2D, eliminarea liniilor ascunse, simularea fotografierii cu lentile de
distan" focal" varia'il", teleo'iectiv, cu specificarea uneia sau mai multor surse de lumin", realism
vizual, ilumin"ri, um'riri, crearea unor macroinstrunciuni cu A<,);&S( sau +E
2 !ditoare grafice /desBtop pu'lishing0C sunt colecii de funcii de procesare a te*tului, care permit
controlul poziion"rii te*tului i imaginilor, astfel -ncFt pot fi create reviste, ziare, reclame, c"ri. (un
la dispoziia utilizatorului module pentruC scrierea documentului cu procesorul de te*te,
editareaGrevizuirea te*tului pFn" la a6ungerea -n forma final" -n modul @HS&@H9 /@hat Hou See &s
@hat Hou 9et0, inserarea te*tului -n pagin", inFnd cont de dimensiunea literelor, tipul de te*t,
num"rul de coloane pe pagin", lungimea coloanelor, ilustrarea prin crearea diagramelor, graficelor,
diverselor desene sau preluarea fotografiilor /histograme, imagini scanate0, revizuirea aspectului
paginii, machetarea, tip"rirea -n tira6ul doritE
2 Aplicaii dedicate e*ploat"rii suportului de informaie multimedia /hFrtie, film, 'and" magnetic"0,
respectiv dispozitivelor multimedia /microfon, magnetoscop, sintetizator0. Sunt aplicaii care ofer"
utilitare de conversie, de comprimare, funcii de arhivarea imaginilor, filmelor, retuarea imaginilor
video, recunoaterea caracterelor documentelor imprimate, recunoaterea, procesarea i arhivarea
datelor sonore.
/030 Ar+$tectur$ ale '$'te#elor *ra"$ce
&n calculatoarele personale grafica este susinut" de c"tre procesorul unic al sistemului.
+alculatoarele conin un modul denumit plac" grafic" care conine memoria grafic",
dispozitivele de semnalizare i conversie video i controller2ul video, care are rolul de a genera
semnalele de sincronizare a monitorului i de a e*trage sincron informaia din memoria video.
) staie grafic" este -n general dotat" cu dou" module de prelucrare i anume unitatea
central" de prelucrare /<+(0 i procesorul grafic /(90.
(rocesorul grafic al unei staii grafice performante este un procesor specializat, dotat cu un
modul de memorie proprie, i cu un set de module care implementeaz" -n hard=are algoritmi
specifici prelucr"rilor grafice. Astfel de procesoare pot fi dedicate funciilor de generare de
segmente sau cur'e, operaiilor de decupare, operaiilor de eliminare a suprafeelor ascunse,
procesoare de formare a ilumin"rii i altele.
/040 D$')o1$t$5e (e $!trare ale '$'te#elor *ra"$ce
Dispozitivele de intrare au funcia de realizare a interaciunii dintre utilizator la sistemul
grafic.
$
,astaturaC este cel mai comun dispozitiv de intrare. (rin intermediul acesteia pot fi
implementate toate funciile de intrare -ntr2un sistem, prin alocarea corespunz"toare, prin program,
a fiec"rei taste sau grupuri de taste.
%ouseC este actualmente cel mai utilizat dispozitiv pentru implementarea funciei de intrare
de tip locator2punctator la nivelul ecranului. %ouse2ul posed" dou" sau trei 'utoane a c"ror
ap"sare determin" transferul la calculator a unui cod special. Aciunea pe care programul o
efectueaz" ca urmare a ap"s"rii unui 'uton este specific" programului care utilizeaz" acest
dispozitiv.
,racBing2'allC principiul constructiv i funcional al acestui dispozitiv este cel al mouse2
ului, cu deose'irea c" dispozitivul st" fi*, iar micarea de rotaie a sferei este produs" de c"tre
palma operatorului.
IoA2sticBC este un dispozitiv utilizat ca locator2punctator. !ste alc"tuit dintr2o manet" care
are dou" grade de li'ertate de rotaie pe dou" a*e perpendiculare. .iecare micare de rotaie se
transfer" -ntr un num"r de impulsuri care se transmit la calculator.
;ight penC este un dispozitiv punctator direct pe ecran, al c"rui principiu se 'azeaz" pe
elementul fotosensi'il din v-rful creionului optic impresionat de lumina emis" de c"tre punctul
de pe ecran atins de creion.
Digitizorul i ta'leta grafic". +onstrucia este de forma unei pl"ci plane dreptunghiulare, cu
dimensiune de la formatul A3 p-n" la o mas" cu laturi de doi metri. Su' aceast" plac" se g"sesc
reele de fire paralele amplasate la distane foarte mici /sutimi de milimetru0. !*ist" dou" reele,
c-te una pentru fiecare a*". (e masa de desen se poate amplasa desenul care tre'uie digitizat.
)peraia de introducere a punctelor se poate face cu un dispozitiv special ;a selecia unui punct
de pe desen se apas" un 'uton, sistemul depisteaz" linia i coloana deasupra c"ruia este amplasat
punctatorul i transmite la calculator indicii liniei i coloanei astfel determinate.
ScannerC acest dispozitiv utilizeaz" tehnici de fotografiere a imaginii prezentate pe o foaie
de h-rtie, pelicul" etc. Scanner2ul descompune imaginea -n rastru de puncte i o transfer" pi*el
cu pi*el la calculator. (entru diminuarea volumului de date transferate scanner realizeaz" o
compresie de date, anterioar" transferului.
/060 Ec+$)a#e!tele (e $e,$re *ra"$c%
!chipamentele de ieire grafic" sunt acele echipamente care prezint" imaginea sintetizat" de
c"tre sistemul de calcul, pe un suport cu caracter permanent /h-rtie, film ,etc.0, sau pe ecranul unui
monitor. &n aceast" clas" de echipamente se -ncadreaz"C imprimantele cu ace, -nregistratoarele
/plotter0 cu peni" sau electrostatic, imprimantele laser, cu 6et de cerneal", cu transfer termic i
foto-nregistratoare pe pelicul" /photo2plotter0.
Se vor defini noiunile care caracterizeaz" calitatea imaginii o'inute pe suportul de ieire.
Dimensiunea punctului reprezint" diametrul unui punct singular generat de echipamentul de
ieire. .orma punctului este -n general circular", dei anumite echipamente pot fi astfel
construite -nc-t forma punctului este dreptunghiular".
Adresa'ilitatea reprezint" num"rul de puncte individuale pe care le poate crea echipamentul
pe unitatea de lungime. Adresa'ilitatea a*ei ? este inversa distanei dintre centrele a dou"
puncte vecine /adiacente0 aflate pe aceeai linie orizontal". &n mod similar se definete
adresa'ilitatea a*ei H. Ju -ntotdeauna adresa'ilitatea are aceeai valoare pe am'ele a*e.
4ezoluia este o noiune corelat" cu dimensiunea punctului, iar valoarea ei ma*im" este egal"
cu valoarea adresa'ilit"ii. 4ezoluia se definete ca spaierea minim" -ntre iruri de linii negre
alternate cu linii al'e, care pot fi decelate de o'servator. De e*emplu dac" pe un centimetru
3
pot fi decelate 27 de perechi intercalate de linii al'e i negre, spunem c" rezoluia este de
47 linii pe centimetru.
Dispozitivele grafice de afisare e*ist" de doua tipuriC video displaA si displaA cu cristale
lichide.
/a0
/'0
.igura 121. +onfiguratia unui sistem de afisare a imaginiiC /a0 arhitectura standardE /'0 arhitectura cu
accelerator grafic.
V$(eo ($')la7 e'te u! ecra! cu o )el$cula "oto8lu#$!$'ce!ta )e 9a1a (e "o'"or care permite
fiecarui pi*el al sau sa fie luminos doar cand este lovit de un fascicol de electroni. Deoarece pelicula
fosforescenta isi pierde luminozitatea, imaginea tre'uie rescanata repetat, cu o frecventa de cel putin
#7 ori pe secunda.
A"$'a:ul cu cr$'tale l$c+$(e ;L$<u$( Cr7'tal D$')la7 LCD= e'te u! ($')o1$t$5 care foloseste
un camp electric pentru a modifica polarizarea celulelor cristaline la nivelul fiecarui pi*el. .iecare
astfel de celula este caracterizata de stralucireC prin schim'area polarizarii pe pi*el, se modifica
nivelul stralucirii, deci intensitatea afisarii pi*elului.
Afisarea la ecran poate fi facuta in doua moduriC in regim te*t si in regim grafic.
&n regim grafic, ecranul este considerat format din pi*eli. (i*elii ecranului sunt pusi in
corespondenta 'iunivoca cu 'itii din memoria video /video 'uffer0.
5
Re1olut$a ($')o1$t$5ulu$ *ra"$c re)re1$!ta )ro(u'ul ($!tre !u#arul (e )$>el$ )e linie si
coloana. 4ezolutia defineste dimensiunea /e*primata in pi*eli0 a dreptunghiului in care imaginea este
reprezentata.
&n regimul te*t, ecranul este considerat -mp"rit in 2 linii de 37 coloane fiecareE in fiecare zona
fiind afiate diferite caractere grafice /litere, cifre, sim'oluri etc.0. Si in aceasta regiune, ecranul este
pus in corespondenta 'iunivoca cu o parte a memoriei, de data aceasta zonele de ecran fiind asociate
cu octetii ce definesc caracterele te*t.
&ndiferent de tipul dispozitivului de afiare, pentru ca imaginea sa fie afiata, memoria video
/frame 'uffer0 este citita de un dispozitiv hard=are, numit placa video /video controller sau adaptor
grafic0. &n cazul in care se doreste o crestere a calit"ii si vitezei de afiare in mod grafic, adaptorul
grafic este KinzestratL cu memorie video suplimentara si cu dispozitive de procesare grafica
/coprocesor grafic0, care preiau o mare parte din sarcina de procesare grafica realizata prin soft=are
de unitatea centrala de prelucrare /+entral (rocessing <nit, +(<0. Acestea se numesc acceleratoare
;)lac$= *ra"$ce0
&n figura 1217 este descrisa arhitectura unui accelerator grafic. Astfel de arhitecturi devin din ce in ce
mai comple*e, pe m"sura ce cresc cerinele de procesare a imaginilor si elementelor de grafica.
Figura 1-3. Arhitectura acceleratorului grafic.
Acceleratorul grafic preia, practic, realizarea urm"toarelor operaiiC
17
2 transformari /rotatii si scalari0, ap"rute in reprezentarea o'iectelor in micare sau a modificarii
pozitiei o'servatoruluiE
2 decupa6e, ce provin din deplasarea o'iectelor in afara ferestrei de vizualizareE
2 proiectii, pentru redarea imaginilor folosind transformarile prospectiveE
2 te*ture mappingC colorarea o'iectelor si umplerea suprafetelorE
2 eliminarea suprafetelor ascunse, prin determinarea acelor o'iecte care se proiecteaza in acelasi
pi*el si sunt mai apropiate de o'servator, pentru a putea fi afisate.
D$')o1$t$5e (e tra'are
I#)r$#a!tele sunt dispozitive de imprimare a unor informaii transmise de la calculator pe hFrtie
/sau alte suporturiC folii transparente, plicuri etc.0. Sunt orientate pentru imprimare te*tGgrafic. +onin
componente electronice /4A%, controler, microprocesoare, plac" de reea0. Din punctul de vedere al
modului de imprimare, pot fiC imprimante te*t, respectiv imprimante grafice. Din punctul de vedere
al metodei de imprimare, putem identifica imprimantele cu ace, imprimantele laser i imprimantele
cu cerneal".
+aracteristic pentru $#)r$#a!tele te>t ;#atr$ceale= sunt seturile de caractere /litere, cifre i
sim'oluri pe care imprimanta este capa'il" s" le imprime0. &mprimantele matriceale /dot matri*0 au
setul de caractere standard -nc"rcat -n 4)%.
+ele mai folosite sunt imprimante cu 5 ace /o imprimare pe vertical" a 5 puncte0 sau cu 24 ace
/imprimare pe vertical" a unei matrice 3*30. Sunt prezente -n formate dependente de dimensiunea
ma*im" a colii de hFrtie utilizateC A3, A4.
&mprimantele matriceale sunt definite de viteza de imprimare, e*primat" -n caractere )e 'ecu!(%
;c)'=. Aceasta poate varia -ntre 7 i 77 cps. %ulte tipuri de imprimante matriceale ofer" practic
viteze diferite de imprimare, -n funcie de calitatea cerut" a imprim"rii.
<n dezavanta6 ma6or al acestui tip de imprimante este zgomotul, care crete odat" cu num"rul de ace
i cu calitatea imprim"rii.
I#)r$#a!tele *ra"$ce0 +ele mai interesante i performante tehnologii de imprimare sunt folosite de
imprimante laser i ;!D /;ight !mitting Diode0. Deose'irea dintre imprimantele laser i ;!D const"
-n modul de impresionare a cilindrului fotosensi'il /figura 12130. ;a imprimantele laser o'inuite, o
singur" diod" laser special" realizeaz" raza laser i o diri6eaz" spre oglind". Aceasta se rotete cu cca
$#77 rotaiiGmin. )glinda diri6eaz" raza pe o in" de refle*ie care face ca raza laser s" a6ung" pe
cilindrul fotosensi'il -nc"rcat negativ. 4aza neutralizeaz" cilindrul -nc"rcat electric -n punctele de
inciden".
,ehnologia 'azat" pe laser i deviere se -nlocuiete pentru categoria imprimantelor ;!D cu un rFnd
complet de diode luminiscente /;!Duri0C 277 dispuse pe dou" linii deasupra cilindrului fotosensi'il
/figura 12130. Diodele sunt comandate s" se aprind"Gsting" individual i conduc la o rezoluie de pFn"
la #77 dpi, rezultFnd mai puine piese mo'ile, compactitate.
,ehnologiile laser i ;!D folosesc # etape -n procesul de imprimareC cilindrul fotosensi'il se -ncarc"
electric /negativ0E raza laser transfer" imaginea de tip"rit -n puncte pe cilindru /-n punctele -n care
raza de lumin" -ntFlnete cilindrul, -nc"rcarea electric" este neutralizat"0E tonerul inc"rcat negativ
r"mFne ag"at numai -n zonele neutralizate ale cilindruluiE cilindrul transfer" tonerul pe hFrtie su'
11
presiune /17gGcm0 i temperatur" /177+0E deoarece, dup" transfer, pe cilindru r"mFn resturi de
toner, o lam" le r"zuie, resturile fiind plasate -ntr2un recipient de evacuare /@aste'o*0.
&mprimantele laserG;!D sunt caracterizate de calitatea imprim"rii, e*primat" -n dpi /dots per inch0.
4ezoluiile imprimantelor actuale variaz" -n intervalul 377 dpi 2 1277 dpi, valorile uzuale fiind 377
dpi i #77 dpi /prin comparaie, imprimarea offset are valori ale rezoluiei -ntre 1277 dpi i 2477
dpi0. <nele imprimante din aceast" categorie pot s" permit" o rezoluie m"rit" prin folosirea unor
tehnici speciale /resolution enhancement0 care se 'azeaz" pe dispozitive de recunoatere a imaginilor
/spre e*emplu a liniilor cur'e0 ce folosesc algoritmi inteligeni i pe modificarea dimensiunii
punctului de imprimare /dot0. Acesta este motivul pentru care produc"torii de imprimante grafice
laserG;!D propun -n documentaia tehnic" dou" valori caracteristice ale rezoluieiC rezoluia
dispozitivului de imprimare /engine resolution0 i rezoluia efectiv" /effective resolution0.
&mprimantele laserG;!D pot fi monocrome /imprimare negruGnuane de gri0 sau color. Dn ultimul caz
folosesc patru tonere pentru a imprima full color, ceea ce m"rete proporional preul pe pagina
tip"rit". (entru a m"ri viteza de imprimare /e*primat" -n pagini per minut, ppm0, dispun de seturi de
caractere /internalGresident fonts0. 8iteza imprimantelor variaz" practic -ntre 4 i 27 ppm, dac"
pagina este -n general te*t. ) valoare tipic" # ppm este echivalent" cu 47 cps.
&mprimantele laserG;!D sunt cunoscute ca imprimante grafice. Dn acest scop, sunt dotate cu memorie
intern", necesar" -n procesul de imprimare la o rezoluie accepta'il" a unei imagini de dimensiune
A4 sau A3. Spre e*emplu, pentru imprimarea unei pagini A4 la rezoluie 377 dpi este necesar minim
1 %1 de memorie printer4A%. !vident, pentru o rezoluie #77 dpi, necesarul de memorie printer
4A% este de cel puin 4 %1.
&mprimantele laserG;!D sunt controlate prin intermediul unor lim'a6e de descriere (D; /(age
Description ;anguage0. Standardele (D; actuale sunt (+; /(rinter +ontrol ;anguage0, propus de
>e=lett2(acBard />(0 i (ostScript /propus de Apple %acintosh0.
I#)r$#a!tele cu cer!eal% propun cFteva tehnologii de transfer a informaiei c"tre suportul de
hFrtie. &mprimantele termice cu cerneal" /tehnologia 1u''leIetG&nBIet0 se 'azeaz" pe prezena -n
capul de imprimare a unui element de -nc"lzire /figura 1214'0. Din momentul aliment"rii cu energie
electric", acesta se -nc"lzete -n 42$
s la 477
7
+, determinFnd apariia unei 'ule de gaz care se
destinde, produce o suprapresiune i preseaz" o pic"tur" minuscul" de cerneal" prin duz" spre
e*terior. 1ula de gaz se formeaz" din nouC -n capul de imprimare apare o depresiune care asigur"
transferul cernelei din cartu. +erneala care intr" -n cap r"cete elementul de -nc"lzire. Aceste faze se
repet" pentru fiecare punct de tip"rit. Aceast" tehnologie prezint" ca dezavanta6 faptul c", dup" o
utilizare -ndelungat", pe elementul de -nc"lzire se formeaz" un strat su'ire de resturi de cerneal"
care -mpiedic" lucrul la parametri normali. 1ulele de gaz devin mai mici i pic"turile de cerneal" mai
sla'e. (entru evitarea acestui comportament tre'uie -nlocuit nu numai cartuul ci i capul de
imprimare /aceasta se -ntFmpl" -n medie dup" 17 reumpleri cu cerneal"0.
&mprimarea piezoelectric" cu cerneal" /!pson0 -nlocuiete 'ula de gaz cu un element format din
cristale piezoelectrice /figura 1214a0. +Fnd elementul se -ncarc" electric, cristalele se lungesc -n
s. Dup"
u u n 2 & u p
n
i
i i
unde (i sunt punctele de control iar
( )
( ) i n u u
i n i
n
n 2
i i i
1 Q Q
Z Z
Z
,
41
cu 7ZT1.
(entru nT3 /patru puncte de control0 o'inem ecuaia segmentului de cur'a 1ezier cu'icaC
3 3 2 2 1 7
1 3 2 1 3 3 1 & u -u0& / u & -u0 u/ & -u0 / p/u0 + + +
sau
3 3 3 2 3 2 1 3 1 7 3 7
/u03& 2 /u03& 2 /u03& 2 /u03& 2 p/u0
" " " "
+ + +
unde 1
7,3
, 1
1,3
, 1
2,3
, 1
3,3
sunt funciile de amestec pentru cur'ele 1ezier cu'ice.
Pro)r$et%2$ ale cur9elor Be1$er
+ur'a -i are e*tremit"ile -n primul i -n ultimul punct de control.
1. ,angentele -n punctele e*treme ale cur'ei sunt chiar primul i ultimul segment al poligonului de
control /)'sC se numete poligon de control polilinia care unete punctele de control0.
2. +ur'a este cuprinsa -n -ntregime -n figura conve*a formata de punctele de control /Nconve*
hullN0.
Dezavanta6e
4. 9radul polinomului prin care se reprezint" cur'a creste odat" cu num"rul punctelor de control.
. Ju poseda proprietatea de control localC deplasarea unui punct de control afecteaz" toate punctele
de pe cur'a.
Tra'area cur9elor (e"$!$te )ara#etr$c
(entru trasarea unui segment de cur'a definit prin ecuaii parametrice se calculeaz" diferite
puncte de pe cur'a folosind ecuaiile parametrice */u0, A/u0, z/u0, specifice fiec"rui tip de cur'a,
pentru u
min
_T u _Tu
ma*
. .uncia cur'a prezentata -n continuare poate fi folosita pentru trasarea mai
multor tipuri de cur'e plane. Astfel, pentru calculul punctului de pe cur'a corespunz"tor unei valori
particulare a varia'ilei u, -n funcia cur'a se apeleaz" o funcie specificata -n lista de parametri.
Aceasta difer" de la un tip de cur'a la altul.
Tra'area cur9elor Be1$er
(entru trasarea unei cur'e 1ezier am definit funcia 1ezier. !a calculeaz" punctul de pe cur'a
corespunz"tor unei valori u a varia'ilei parametrice, folosind ecuaiile parametrice */u0, A/u0, care
pentru o cur'a 1ezier definita prin 4 puncte de control /nT30 suntC
3 3 3 2 3 2 1 3 1 7 3 7
3 3 3 2 3 2 1 3 1 7 3 7
3 3 3 2 3 2 1 3 1 7 3 7
/u03z 2 /u03z 2 /u03z 2 /u03z 2 z/u0
/u03. 2 /u03. 2 /u03. 2 /u03. 2 ./u0
/u031 2 /u031 2 /u031 2 /u031 2 1/u0
" " " "
" " " "
" " " "
+ + +
+ + +
+ + +
(entru reducerea timpului de calcul al punctelor de pe cur'a, mai ales atunci cFnd n este
mare, se poate folosi relaia de recurentaC
( )
u
u
i
i n
u n 2 n 2
i i i
1
Q
1
Q , ,
1
.uncia 1ezier prezentata mai 6os poate fi folosita pentru calculul punctelor de pe o cur'a
1ezier, oricare ar fi num"rul de puncte de control /n`T30. (unctele de control sunt memorate -n
vectorul ( /deci, datorita declaraiei sale, n_T270. ]tiind ca p/70T(t7s i p/10T(tns, pentru a evita
calculele inutile am tratat separat aceste cazuri. (unctele de control se considera a fi definite -n
spaiul ecran.
@0-0 Cur9e B8')l$!e
42
Acestea sunt, ca i cur'ele 1ezier, cur'e de apro*imare definite prin puncte de control, dar spre
deose'ire de cur'ele 1ezier, ele sunt descrise prin funcii polinomiale definite pe poriuni, ceea ce le
confer" proprietatea de control local. Segmentele de cur'a 12spline sunt descrise prin polinoame de
grad doi sau trei, gradul fiind independent de num"rul punctelor de control.
) cur'a 12spline uniforma periodica de grad 2, data prin nO1 puncte de control este descrisa de
urm"toarea ecuaie matricialaC
( ) 1 1
1
1
7 ....... 1 ........ 1
7 ........ 2 .... 2
1 ...... 2 ...... 1
1 . 7
2
,
_
,
_
n i
&
&
&
s u tu u p
i
i
i
i
.orma similara pentru cur'ele 12spline uniforme periodice de grad 3 esteC
( ) 1 7 , 2 1
2
1
1
7 ... 1 ....... 4 ...... 1
7 ... 3 ...... 7 ... 3
7 ... 3 ...... # ... 3
1 ... 3 ... 3 .... 1
1
#
1
2 3
<
,
_
,
_
u n i
&
&
&
&
s u u tu u p
i
i
i
i
i
Pro)r$et%2$ ale cur9elor B8')l$!e
4. (uncte de control multiple. ) cur'a 12spline de grad m trece -ntotdeauna printr2un punct de
control de multiplicitate m. Deci, se poate fora trecerea unei cur'e 12spline printr2un punct de
control introducFnd punctul respectiv -n vectorul punctelor de control pe mai multe poziii
succesive.
. (uncte de control coliniare. Daca mO1 puncte de control succesive sunt situate pe o dreapta,
atunci cur'a 12spline de grad m este situata parial pe dreapta respectiva. Astfel, daca punctele
(i21, (i, (iO1 sunt coliniare, segmentul pi de cur'a 12spline de grad 2 se confunda parial cu
segmentul (i212(i.
#. +ur'e -nchise. (entru a o'ine o cur'a 12spline de grad m -nchis" este suficient ca primele m
puncte de control sa fie identice cu ultimele m.
$. (roprietatea de N-nchidereN conve*a /conve* hull0 )rice cur'a 12spline este complet inclusa -n
poligonul conve* format prin unirea punctelor de control.
3. &nvarianta afina (entru a transforma o cur'a 12spline este suficient sa se aplice transformarea
/afina0 punctelor de control i apoi sa se regenereze cur'a. Aceasta proprietate o au i cur'ele
1ezier.
Tra'area cur9elor B8')l$!e
Se poate trasa o cur'a 12spline apelFnd funcia cur'a pentru fiecare segment de cur'a. Dn acest scop
tre'uie sa definim o funcie care -ntoarce punctul de pe cur'a corespunz"tor num"rului segmentului
de cur'a /reprezentat -n programul de mai 6os prin varia'ila glo'ala i0 i valorii varia'ilei u.
43
B0 TRANSFORMRI &EOMETRICE -D
I!tro(ucere
)peraiuni de transform"ri geometrice s-nt frecvent utilizate -n sinteza imaginilor pentru
reprezentarea lor -n forma necesar" /scar", poziie .a.0. ,ransformarea geometric" a imaginii /,9&0
const" -n transformarea coordonatelor ale fiec"rui pi*el al imaginii iniiale. Dn mod general, ,9& se
descrie ca:
(/*,A0 (/*a,Aa0,
unde *a.
1
/*,A0, Aa.
2
/*,A0.
B0/0 Tra!'"or#%r$ *eo#etr$ce ele#e!tare
B0/0/0 Tra!'la2$a
,ranslaia este transformarea prin care un o'iect este deplasat din poziia sa, cu o distan" dat",
dup" o direcie dat". %atematic, translaia este descris" -n modul urm"tor:
*T*Ot
*
ATAOt
A
unde t
*
, t
A
parametrii de translaie.
B0/0-0 Scalare
Scalare este transformarea prin care un o'iect este m"rit sau micorat. ,ransformarea dat" este
specificat" prin dou" numere, numite factorul de scalare pe a*a * i factorul de scalare pe a*a A. <n
factor de scalare supraunitar specific" o m"rire, iar unul su'unitar o micorare.
8or fi e*aminate dou" tipuri de operaiuni de scalare: scalare fa" de origine i scalare fa" de un
punct oarecare din plan.
Scalare fa de origine
Scalare imaginii (/*,A0 fa" de origine se descrie -n mod urm"tor:
*T*Qs
*
ATAQs
A
unde s
*
, s
A
sunt factori de scalare.
44
Dac" s
*
Ts
A
scalare este uniform"E ea nu produce deformarea o'iectului transformat. Dn caz contrar
scalare este numit" neuniform".
Scalare fa de un punct oarecare din plan
.ie ./*
f
,A
f
0 este un punct din plan fa" de care este scalat" imaginea (/*,A0. (unctul . este numit
punctul fi* al transform"rii deoarece nu se modific" prin aplicarea transform"rii. Scalarea funciei
((*,A) fa" de ./*
f
,A
f
0 cu factorii s
*
, s
A
se descrie ca:
* T /*2 *
f
0s
*
O *
f
A T /A A
f
0s
A
O A
f
Dn caz dac" *
f
T7 i A
f
T7 se o'ine formula scal"rii fa" de origine.
B0/030 Rota2$a
Rotaia fa de origine
Aceast" transformare este specificat" printr2un unghiE dac" unghiul este pozitiv, atunci rotaia este
efectuat" -n sensul trigonometric, altfel -n sensul mic"rii acelor de ceas. .ie (/*,A0 un punct i
u unghiul de rotaie. +alculul punctului (/*,A0, o'inut prin rotaia punctului ((*,A) se
efectueaz" -n mod urm"tor:
*T*Qcos/u02AQsin/u0
AT*Qsin/u0OAQcos/u0
Rotaia fa de un punct oarecare din plan
.ie (/*,A0 este un punct din plan care se rotete -n 6urul unui punct ./*
f
,A
f
0. +oordonatele
punctului (/*,A0, rezultat din rotaia punctului (/*,A0 -n 6urul punctului ./*
f
,A
f
0 cu un unghi u
vor fi urm"toarele:
* T /*2*
f
0cos/u02/AA
f
0sin/u0O*
f
A T /*2*
f
0sin/u02/AA
f
0cos/u0OA
f
B0-0 Co#)u!erea tra!'"or#%r$lor
Dn cele mai multe cazuri, transformarea care tre'uie s" fie aplicat" unui o'iect la un moment dat este
compus" din mai multe transform"ri elementare. Se poate o'ine formula oric"rei transform"ri
compuse pe 'aza e*presiilor matriciale ale transform"rilor elementare. Astfel, rotaia fa" de
origine a unui punct (/*,A0 se poate e*prima matricial astfelC
| cos/u0 sin/u0|
4
[* A] T [* A] |2sin/u0 cos/u0|
) scalare fa" de origine se e*prim" astfelC
|s
*
7 |
[* A] T [* A] |7 s
A
|
) scalare fa" de origine urmat" de o rotaie fa" de origine se e*prim" astfelC
|s* 7 | | cos/u0 sin/u0|
[* A] T [* A] |7 sA| |sin/u0 cos/u0|
Din -nmulirea celor dou" matrici rezult"C
| s
*
Qcos/u0 s
*
Qsin/u0|
[S4]T|s
A
Qsin/u0 s
A
Qcos/u0|
Deci, formula transform"rii compuse esteC
*T*Qs
*
Qcos/u02AQs
A
Qsin/u0
AT*Qs
*
Qsin/u0OAQs
A
Qcos/u0
B030 Tra'!'"or#%r$ C! coor(o!ate o#o*e!e
,ransform"rile 2D analizate se e*prim" matricial, -n coordonate carteziene, prin matrici de
dou" linii i dou" coloane. Ju e*ist" o asemenea matrice pentru translaie. Din acest motiv,
transform"rile grafice se e*prim" -n coordonate omogene. <n punct din plan, /* A0, se reprezint" -n
coordonate omogene printr2un vector [*
a
A
a
a], unde *
a
T*Qa i A
a
TAQa, iar a este un num"r real
oarecare.
+ele trei transform"ri elementare e*aminate mai -nainte se e*prim" -n coordonate omogene astfelC
Translaia
|1 7 7 |
[* A 1] T [* A 1] |7 1 7 |
|t
*
t
A
1 |
Scalarea fa de origine
|s
*
7 7 |
[* A 1] T [* A 1] |7 s
A
7 |
|7 7 1 |
Rotaia fa de origine
4#
| cos/u0 sin/u0 7 |
[* A 1] T [* A 1] |2sin/u0 cos/u0 7 |
| 7 7 1|
B040 Tra!'"or#%r$ *eo#etr$ce $!5er'e
.iecare dintre transform"rile geometrice elementare are o invers", adic" o transformare care
e*prim" operaia opus" aceleia corespunz"toare transform"rii.
.ieC [,/t
*
,t
A
0] matricea translaiei, [4/u0] matricea rotaiei fa" de origine cu unghiul u i [S/s
*
,s
A
0]
matricea scalarii fa" de origine cu factorii de scalare s
*
, s
A
.
,ransform"ri geometrice inverse s-nt:
[,/t
*
,t
A
0]
1
T [,/2t
*
,2t
A
0]
[S/s
*
,s
A
0]
1
T [S/1Gs
*
,1Gs
A
0]
[4/u0]
1
T [4/2u0].
B060 Tra!'"or#%r$ *eo#etr$ce "a2% (e u! )u!ct oarecare ($! )la!
!*presiile matematice ale scal"rii i rotaiei fa" de un punct oarecare din plan se pot o'ine prin
compunerea urm"toarelor transform"riC
10 ,ranslaia prin care punctul fi* al transform"rii a6unge -n origineE
20 ScalareaGrotaia fa" de origineE
30 ,ranslaia invers" celei de la punctul 1.
.ie ./*
f
,A
f
0 este un punct fi* al transform"rii, u unghiul de rotaie i s
*
, s
A
factorii de scalare.
+ompunerea celor trei transform"ri conform etapiz"rii de mai sus se e*prim" astfelC
Scalarea fa de punctul F
[* A 1] T [* A 1] W, XW SXW ,
1
X
| 1 7 7||s
*
7 7||1 7 7|
T [* A 1] | 7 1 7||7 s
A
7||7 1 7|
|2*
f
2A
f
1||7 7 1||*
f
A
f
1|
Rotaia fa de punctul F
[* A 1] T [* A 1] W, XW4XW,
1
X
| 1 7 7||cos/u0 sin/u0 7||1 7 7|
T [* A 1] | 7 1 7||2sin/u0 cos/u0 7||7 1 7|
|2*
f
2A
f
1|| 7 7 1||*
f
A
f
1|
4$
B0?0 Tra!'"or#are (e o*l$!($re
Transformarea dat fa de aa se descrie !n mod urmtor"
*T *
AT2A
sau
|1 7 7|
[* A 1] T [* A 1]|7 21 7|
|7 7 1|
Fa de aa #"
*T2*
AT A
sau
|21 7 7|
[* A 1] T [* A 1]| 7 1 7|
| 7 7 1|
Fa de origine"
*T2*
AT2A
sau
|21 7 7|
[* A 1] T [* A 1]| 7 21 7|
| 7 7 1|
Fa de dreapta $#"
*TA
AT*
sau
| 7 1 7|
[* A 1] T [* A 1]| 1 7 7|
| 7 7 1|
43
%glindirea fa de o dreapt oarecare
Se poate e*prima ca o transformare compus" din urm"toarele transform"ri elementareC
10 ) translaie, astfel -nc-t dreapta s" treac" prin origineE
20 ) rotaie fa" de origine astfel -nc-t dreapta s" se suprapun" peste una dintre a*ele principaleE
30 )glindirea fa" de a*a principal" peste care a fost suprapus" dreaptaE
40 4otaia invers" celei de la punctul 2E
0 ,ranslaia invers" celei de la punctul 1.
Dn notaie matricial", secvena de mai sus se e*prim" astfelC
[%] T [,][4][)][4]
1
[,]
1
unde [,] este matricea de translaieE
[4] este matricea de rotaie fa" de origineE
[)] este matricea de oglindire fa" de a*a principal".
B0@0 Tra!'"or#are (e "or"ecare a $#a*$!$lor
,ransformare de tipul dat reprezint" o transformare care produce distorsionarea o'iectului
transformat. De e*emplu, un p"trat se transform" -ntrun paralelogram. ,ransformarea se
specific" prin dou" numere .
*
, .
A
reale, numite factorii de forfecare pe a*a *, respectiv factorul de
forfecare pe a*a A.
.orfecarea pe a*a *C
* T * O .
*
QA
A T A
sau
|1 7 7|
[* A 1] T [* A 1]|.
*
1 7|
|7 7 1|
.orfecarea pe a*a A:
* T *
A T A O .
A
Q*
sau
|1 .
A
7|
[* A 1] T [* A 1]|7 1 7|
45
|7 7 1|
+azul generalC
* T * O .
*
QA
A T A O .
A
Q*
sau
|1 .
A
7|
[* A 1] T [* A 1]|.
*
1 7|
|7 7 1|
B0B0 Tra!'"or#%r$ ale '$'te#ulu$ (e coor(o!ate
+onsider"m dou" sisteme de coordonate -n plan. <nul cu originea -n ) i a*ele *,A, cel"lalt cu originea
-n ) i a*ele *,A. .iec"rui punct din plan, (, -i corespund dou" reprezent"riC /*,A0 2 -n sistemul *)A i
/*,A0 2 -n sistemul *)A. Sistemul *)A se poate o'ine prin transformarea sistemului *)AE
transformarea se poate defini prin relaia dintre cele dou" reprezent"ri ale aceluiai punct (, /*,A0 i
/*,A0.
Translaia
Dac" sistemul *)A s2a o'inut prin translaia sistemului *)A, atunci relaia dintre coordonatele lui ( -n
cele dou" sisteme de coordonate este C
* T * 2 t
*
A T A 2 t
A
Rotaia fa de origine
.ie sistemul de coordonate *)A, o'inut prin rotaia a*elor sistemului *)A cu unghiul u.
(unctul (, va avea -n sistemul *)A coordonateleC
*T *Qcos/u0 O AQsin/u0
AT 2*Qsin/u0 O AQcos/u0
Scalare fa de origine
(resupunem c" form"m un nou sistem de coordonate cu aceeai origine i orientare a a*elor, dar
caracterizat printr2o alt" unitate de m"sur" de2a lungul a*elor * si A. Dac" noile unit"i de m"sur" se o'in
prin scalarea vechilor unit"i cu factorii s*, respectiv sA, atunci relaia dintre coordonatele /*,A0 i /*a,Aa0 ale
aceluiai punct -n cele dou" sisteme esteC
*T*Gs
*
7
ATAGs
A
%glindire fa de o a
Dac" sistemul *)A s2a o'inut prin oglindirea sistemului *)A fa" de a*a )* sau a*a )A, atunci
relaia dintre coordonatele aceluiai punct -n cele dou" sisteme de coordonate esteC
*T *
AT2A, -n cazul oglindirii fa" de a*a *,
*T2*
AT A, -n cazul oglindirii fa" de a*a A *
Se o'serv" c" aceast" transformare schim'" orientarea a*elor sistemului de coordonate.
5. ,ransform"ri grafice tridimensionale
I!tro(ucere
,ransformarea geometric" 3D a imaginii se descrie ca:
(/*,A,z0 (/*a,Aa,za0,
unde *a.
1
/*,A,z0, Aa.
2
/*,A,z0, za .
3
/*,A,z0
,ransform"rile geometrice tridimensionale cuprind translaia, scalare, rotaia, oglindirea forfecarea
i proiecia o'iectelor 3D.
Dn coordonate omogene, un punct din spaiu /*, A, z0 se reprezint" prin vectorul W *
=
A
=
z
=
= X,
unde = este parametru real, iar * T *
=
G=, A T A
=
G=, z
T z
=
G=, =b7.
N0 /0 Matr$c$ (e tra!'"or#are
%atricea de transformare generalizat" 4*4 pentru coordonate omogene 3D are urm"toarea form"C
a ' c p
% d e f c
l m n s
Aceast" matrice poate fi -mp"rit" -n patru, astfelC
1
3
3*3 *
1
1*3 1*1
undeC
- matricea 3*3 include transform"ri de scalare local", forfecare, oglindire i rotaieE
- matricea 1*3 reprezint" transformarea de translaieE
- matricea 3*1 reprezint" transformarea de proiectare perspectiv"E
- matricea 1*1 reprezint" transformarea de scalare general"
.
,ransformarea geometric" 3D a imaginii -n forma matricial" se descrie -n mod urm"tor:
W*aAaza1X W* A z 1XW %X
N0 -0 Tra!'la2$a
Dac" /*, A, z0 sunt coordonatele unui punct ( din spaiu, prin translaie el este dus -n punctul de coordonate /*d, Ad,
zd0, undeC
*d T * O t
*
Aa A O t
A
zd T z O t
z
sau, -n form" matriceal"C
W*aAa za 1X W* A z 1X W,X
%atricea de translaie 3D esteC
1 7 7 7
, 7 1 7 7
7 7 1 7
t
*
t
A
t
z
1
N0 30 Scalare
Dac" /*, A, z0 sunt coordonatele unui punct ( din spaiu, prin scalare fa" de origine, el este transformat
-n punctul de coordonate /*
a
, Ad, zd0, undeC
*d s
*
Q *
Aa s
.
3
A
za s
z
Q z
sau, -n form" matriceal"C
W * A z 1X T W* A z 1XWSX
2
%atricea de 'calare local% este dat" de relaiaC
s
*
7 7 7
S 7 s
.
7 7
7 7 s
z
7
7 7 7 1
Scalare *lo9al% se o'ine folosind urm"toarea matriceC
1 7 7 7
S
g
7 1 7 7
7 7 1 7
7 7 7 s
3
N0 40 Rota2$a C! :urul u!e$ a>e a '$'te#ulu$ (e coor(o!ate
Dn cazul rotaiei -n 6urul a*ei * cu unghiul a matricea de transformare se descrie -n mod urm"torC
[ ]
1
1
1
1
]
1
1 7 7 7
7 cos sin 7
7 sin cos 7
7 7 7 1
1
R
Dntr2o manier" asem"n"toare matricea de rotaie -n 6urul a*ei A cu unghiul e esteC
[ ]
1
1
1
1
]
1
1 7 7 7
7 cos 7 sin
7 7 1 7
7 sin 7 cos
.
R
%atricea de rotaie -n 6urul a*ei z cu unghiul esteC
[ ]
1
1
1
1
]
1
1 7 7 7
7 1 7 7
7 7 cos sin
7 7 sin cos
z
R
N0 60 Tra!'"or#%r$ $!5er'e
,oate matricele de transformare au inverse:
W,/t
*
,
t
A
,
t
z
0 X
21
T W,/2t
*
, 2t
A
, 2t
z
0X
WS/s
*
, s
A
, s
z
0 X
21
T WS/ 1Gs
*
, 1Gs
A
, 1Gs
z
0X
W4
*
/0 X
21
T W4
*
/20 X
W4
A
/0 X
21
T W4
A
/20X
W4
z
/0 X
21
T W4
z
/20 X
?0 For"ecarea
Dac" /*, A, z0 sunt coordonatele unui punct ( din spaiu, prin forfecare el este transformat -n punctul
de coordonate /*d, Ad, zd0, undeC
*a T * O AQd O zQg
AT *Q' O A O z Q i
z T * Q c O A Q f O z
sau, -n form" matriceal"C
W *a Ad z 1dX T W * A z 1X W.X
%atricea (e "or"ecare esteC
[ ]
1
1
1
1
]
1
1 7 7 7
7 1
7 1
7 1
i g
f d
c #
F
N0 @0 O*l$!($rea "a2% (e u! )$a! al '$'te#ulu$ (e coor(o!ate
Dn cazul oglindirii faa de pianul *A, se inverseaz" doar coordonata z, coordonatele * i A
r"mFnFnd neschim'ate. Astfel, matricea transform"rii de oglindire fa" de planul *A esteC
%atricea oglindirii fa" de planul Az esteC
%atricea oglindirii fa" de planul *z esteC
N0 B0 Co#)u!erea tra!'"or#%r$lor tr$($#e!'$o!ale
%atricea corespunz"toare transform"rii compuse se o'ine prin -nmulirea matricelor transform"rilor
elementare. Deoarece -nmulirea matricelor nu este comutativ", este important" ordinea -n care se aplic" aceste
transform"ri. %atricea de transformare cea mai apropiat" vectorului linie corespunde primei transform"ri care
se aplic" -n timp ce matricea de transformare cea mai dep"rtat" este ultima care se aplic". %atematic aceasta
se e*prim" prinC
W8X W%X TW8X W%1X W%2X W%3X....W%nX
unde W %i X poate -i orice matrice de transformare elementar"C scalare, forfecare, translaie, rotire, oglindire,
proiecie.
[ ]
1
1
1
1
]
1
1 7 7 7
7 1 7 7
7 7 1 7
7 7 7 1
1.
4
[ ]
1
1
1
]
1
1 7 7 7
7 1 7 7
7 7 21 7
7 7 7 1
.z
4
[ ]
1
1
1
1
]
1
1 7 7 7
7 1 7 7
7 7 1 7
7 7 7 1
.z
4
N0 N0 Rota2$a C! :urul u!e$ a>e oarecare
A*a oarecare de rotaie /d0 se specific" printr2un punct A/*
o
,A
o
,z
o
0 i un vector direcie CTc
*
iOc
A
6Oc
z
B,
unde c
*
, c
A
, c
z
sunt cosinuii directori. ,ransformarea de rotaie cu un unghi -n 6urul a*ei /d0 se
compune dinC
1. ,ranslaie, altfel -ncFt punctul A s" a6ung" -n originea sistemului de coordonate.
2. Alinierea vectorului C cu una din a*ele sistemului de coordonate.
3. 4otaia cu unghiul -n 6urul a*ei la care s2a f"cut alinierea.
4. &nversa transform"rii de la pasul /20
. ,ranslaia invers" -n punctul 1.
N0 /.0 O*l$!($rea "a2% (e u! )la! oarecare
+onsider"m planul de oglindire specificat prin-r2un punct, (/?
7
,H
7
,:
7
0 i vectorul normal" la plan, N. )
procedura de o'inere a transform"rii de oglindire fa" de planul dat este urm"toareaC
1.,ranslaie astfel -ncFt punctul (/?
7
,H
7
,:
7
0 din plan s" a6ung" -n originea sistemului de coordonate.
2.Alinierea vectorului normal" la plan, N, la a*a z pozitiv". (lanul de oglindire devine astfel planul z57.
3.)glindirea fa" de planul zT7.
4.,ransformarea invers" alinierii de la pasul /20.
.,ranslaia invers" celei de la pasul /10.
%atricea transform"rii de oglindire fa" de un plan oarecare se compune din produsul urm"toarelor
matriceC
W%X T W,X WA
J,:
X W)
z
X WA
J,
zX
21
W,X
21
unde
W , X 2 reprezint" matricea de translaieE
W A
J, z
X 2 reprezint" matricea de aliniere a vectorului normal" J cu a*a z pozitiv"E
W )
z
X 2 reprezint" matricea de oglindire fa" de planul zT7E
W A
J, :
X
1
2 reprezint" matricea de aliniere invers"E
W,X
21
2 reprezint" translaia invers".
/.0 V$1ual$1area 'ce!elor
/.0/0Tra!'"or#area (e 5$1ual$1are -D
Adesea, desenele produse cu a6utorul calculatorului sunt descrise -ntr2un sistem de coordonate
diferit de acela la care sunt raportate pe suprafaa de afiare. De e*emplu, graficul unei funcii, planul
unei case, desenul unei piese, etc. 8om numi '$'te#ul (e coor(o!ate lo*$ce / sau '$'te#ul (e
coor(o!ate u!$5er'ale sau '$'te#ul (e coor(o!ate ut$l$1ator0, sistemul -n care sunt descrise desenele
i '$'te#ul (e coor(o!ate "$1$ce,
/sau '$'te#ul (e coor(o!ate ($')o1$t$50 sistemul ataat suprafeei de afiare. <nit"ile de m"sur" ale
sistemului de coordonate logice difer" de acelea ale sistemului de coordonate fizice. !le pot reprezenta
timpul, temperatura, distana, etc.
#
S" consider"m graficul funciei sinus. (entru * cuprins -ntre 7 i #.23 A ia valori -ntre 21 i O1.
Aadar, coordonatele /*,A0 ale punctelor de pe grafic nu pot fi transmise direct funciilor de afiare ale
sistemului grafic utilizat, care opereaz" -n spaiul dispozitiv, cum ar fi #o5eto l$!eto i altele din
'i'liotecile ,ur'o +, 1orland+ sau ,ur'o (ascal . Asupra lor tre'uie s" fie efectuat" tra!'or#area (e
5$1ual$1are
-D. %ulte sisteme grafice permit definirea desenelor -ntr2un sistem de coordonate logice, deci asigur"
efectuarea transform"rii de vizualizare 2D asupra coordonatelor. Astfel, funciile de afiare ale unui
sistem grafic 9PS sau (>&9S opereaz" -n sistemul coordonatelor logice /numit Gorl( coor($!ate
'7'te# -n terminologia standardelor respective0. Deasemenea,
funciile modulului 9D& /9raphical Device &nterface0 al sistemului @indo=s, permit definirea desenelor
-n mai multe tipuri de sisteme de coordonate logice, asigur-nd transformarea automat" a coordonatelor
-n sistemul coordonatelor fizice. +hiar i lucr-nd cu astfel de sisteme, este necesar pentru programator s"
-neleag" -n ce const" transformarea de vizualizare 2D.
,ransformarea de vizualizare 2D este deci o aplicaie dintr2un sistem de coordonate -n altul, care
tre'uie s" pun" n coresponden" fiec"rui punct din descrierea unui desen un punct al suprafeei de
afiare. %ulimea punctelor adresa'ile ale suprafeei de afiare este finit", -n timp ce mulimea punctelor
spaiului 2D -n care este definit desenul este infinit". (entru a fi posi'il" formularea matematic" a
transform"rii de vizualizare
2D este necesar s" se limiteze mulimea punctelor spaiului logic, care se pun -n coresponden"
punctelor suprafeei de afiare. -n acest scop se specific" un dreptunghi cu laturile paralele cu a*ele
sistemului de coordonate logice, numit "erea'tr%. .iec"rui punct din fereastr" i se pune -n coresponden"
prin transformarea de vizualizare 2D un punct al suprafeei de afiare sau al unei zone dreptunghiulare
din suprafaa de afiare, numit" )oart% (e a"$,are sau pe scurt poart". Deaceea, transformarea de
vizualizare 2D se mai numete i tra!'"or#area "erea'tr%8)oart%. +onsider"m pentru -nceput o
aceeai7 orientare a a*elor celor dou" sisteme de coordonate. .ie ./*f,Af0 un punct din fereastr" i
(/*p,Ap0 punctul corespunz"tor lui -n poart". ,ransformarea fereastr"2 poart" este definit" astfel -ncDt
poziia relativ" a punctului ( -n poart" s" fie aceeai cu poziia relativ" a punctului . -n fereastr".
+ondiia se formuleaz" matematic astfelC
*p2*pmin *f2*fmin
22222222222 T 222222222222 /2.13.0
*pma*2*pmin *fma*2*fmin
Ap2Apmin Af2Afmin
22222222222 T 222222222222 /2.15.0
Apma*2Apmin Afma*2Afmin
unde /*fmin,Afmin0, /*fma*,Afma*0, /*pmin,Apmin0 i /*pma*,Apma*0 reprezint" colurile de *minim2
Aminim i *ma*im2Ama*im ale ferestrei, respectiv ale porii /figura 2.11.0.
.igura 2.11.
Jot"m cuC
*pma*2*pmin Apma*2Apmin
s* T 22222222222 sA T 22222222222
*fma*2*fmin Afma*2Afmin
$
i t* T *pmin 2 s*Q*fmin tA T Apmin 2 sAQAfmin
Din /2.13. i 2.15.0 rezult"C
*p T *fQs* O t*
Ap T AfQsA O tA /2.27.0
care reprezint" formularea matematic" a transform"rii fereastr"2poart". Jumerele s* i sA constituie
factorii de scalare ai transform"rii iar t* i tA componentele vectorului de translaie. Aceast" formulare a
transform"rii fereastr"2poart" corespunde unei transform"ri geometrice compuse ce se aplic" punctului .
pentru a o'ine punctul (. ,ransformarea poate fi formulat" i ca o transformare a sistemului de
coordonate logice prin care se o'ine sistemul de coordonate fizice. ,ransformarea fereastr"2poart"
poate fi definit" i ca transformarea care aplic" dreptunghiul fereastr" -n dreptunghiul poart". .olosindu2
ne de aceast" ultim" interpretare s" e*amin"m c-teva cazuri particulare, din care vom desprinde unele
caracteristici i utiliz"ri ale transform"rii de vizualizare 2D.
.ie fereastra din figura 2.12.a., cu *fmimT7, AfminT7, *fma*T1, Afma*T1 i poarta av-nd
*pminT7, ApminT7, *pma*T477, Apma*T277. 4ezult"C s*T477G1T477E sAT277G1T277E t*T72s*Q7T7E
tAT72sAQ7T7. Scalarea pe a*a o* fiind de dou" ori mai mare dec-t aceea pe a*a oA, orice desen definit -n
fereastr" va fi deformat /l"it0. Dac" acest efect este nedorit, atunci tre'uie ales ca factor de scalare al
transform"rii sTs*TsATmin/s*,sA0. (roced-nd -n acest fel -n e*emplul ales, vom constata c" desenul din
fereastr" este afiat -n 6um"tatea st-ng" a porii /figura 2.12.'0. (entru ca desenul s" apar" centrat -n
poart" este necesar s" se efectueze o translaie suplimentar", egal" cu 177 -n cazul de fa" /figura
2.12.c.0.
2222222222222222222222222222222222222222
22222222222222222222222222222222222222222
.igura 2.12.
Dn general, translaia suplimentar" se calculeaz" astfelC
ts* T /*pma*2*pmin2s*Q/*fma*2*fmin00G2
tsA T /Apma*2Apmin2sAQ/Afma*2Afmin00G2
adic", diferena dintre latura porii i latura ferestrei scalat", -mp"rit" la doi. Dac" *fmin f 7 sau Afim f
7 i *pminT7, ApminT7, atunci t*T2s*Q*fmin, tAT2sAQAfmin. &nvers, dac" *fminTAfminT7, iar *pmin f
7 sau Apmin f 7 atunci t*T*pmin, tATApmin.
.ie funcia "erea'tra, pe care o putem apela pentru a specifica coordonatele ferestrei i funcia
poarta, pe care o vom apela pentru a specifica coordonatele porii de afiare. Atunci, o secven" de
formaC
fereastra/.10E
poarta/(10E
e*ecut"UdesenE
tergeUecran E
poarta/(20E
e*ecut"UdesenE
tergeUecranE
poarta/(30E
e*ecut"UdesenE
...............
3
va avea ca efect afiarea unui desen din ce -n ce mai mare dac"
(1 _ (2 _ (3 , respectiv din ce -n ce mai mic dac" (1 ` (2 ` (3.
/.0-0 Decu)area -D
!fectul de m"rire sau de micorare se poate o'ine i prin modificarea ferestrei. Dac" fereastra
este mai mic" dec-t desenul, atunci elementele desenului care ies din fereastr" nu tre'uie s" apar" -n
poart". )peraia de -ndep"rtare a elementelor unui desen, care nu sunt coninute -n fereastr" se numete
(ecu)are. !a este efectuat", -n general, de sistemele grafice care permit definirea desenelor -ntr2un
sistem de coordonate
logice.
S" vedem acum, concret, ce transformare tre'uie s" aplic"m punctelor dintr2un desen definit
-ntr2un sistem de coordonate logice, -nainte de a le transmite funciilor de afiare din 'i'lioteca grafic" a
sistemului 1orland +OO pentru D)S. Dup" cum se tie, ecranul este adresat -ntr2un sistem de
coordonate cu originea -n colul st-nga2sus, sensul cresc"tor al a*ei * fiind spre dreapta, iar al a*ei A -n
6os. AplicDnd asupra coordonatelor formulele /2.27.0, desenul definit -n fereastr" va fi afiat
r"sturnat. Deaceea, calculul coordonatei A se modific" astfelC
Ap T ApminOApma*2/AfQsAOtA0
(entru aceia care au utilizat 'i'lioteca grafic" a unuia dintre ,ur'o (ascal, ,ur'o + sau 1orland +OO,
este cunoscut" funcia 'et5$eG)ort, apelat" astfelC
setvie=port/*pmin,Apmin,*pma*,Apma*,dec0E
unde primii patru parametri sunt unui dreptunghi din spaiul ecran iar ultimul parametru poate avea
valoarea 1 sau zero, indic-ndu2se c" se dorete /10 nu se dorete /70 decuparea elementelor grafice
definite -n continuare -n program, la marginile dreptunghiului respectiv. (utem s" ne folosim de aceast"
funcie pentru a ad"uga la transformarea fereastr"2poart" operaia de decupare. Aceasta impune -ns" o
modificare a formulelor transform"rii, deoarece dup" apelul funciei 'et5$eG)ort originea sistemului de
coordonate al ecranului este considerat" a fi punctul /*pmin,Apmin0. -n consecin", pentru transformarea
fereastr"2poart" -nsoit" de decupare la marginile porii se va apela funcia 'et5$eG)ort ca mai sus, apoi
se vor calcula coordonatele -n spaiul ecran astfelC
*p T *fQs* O t* 2 *pmin
Ap T Apma* O Apmin2 /AfQsA O tA0 2 Apmin
unde
t* T *pmin 2 s*Q*fmin O ts*
tA T Apmin 2 sAQAfmin O tsA
sau,
*p T *fQs* O t*d
Ap T Apma* 2 /AfQsA OtAd0
unde
t*d T 2s*Q*fmin O ts*
tAd T Apmin 2 s*QAfmin O tsA
Se pot defini c-teva su'programe utiliza'ile -n orice program scris -n lim'a6ul + sau -n lim'a6ul
(ascal, pentru efectuarea tansform"rii fereastr"2poart". (entru evitarea recompil"rii lor odat" cu
5
programul + -n care sunt apelate, su'programele vor fi grupate -ntr2un fiier separat ce se va include -n
fisierul proiect/.(4I0 al programuluiE astfel, ele vor
fi compilate o singur" dat". Dn cazul implement"rii -n lim'a6ul (ascal, ele vor constitui o unitate /unit0E
este suficient apoi s" se declare utilizarea unit"ii /u'e' numeUunitate0 -n programul care le apeleaz".
(achetul ar tre'ui s" conin" cel puin urm"toarele su'programeC
2"erea'tra, prin care se transmit coordonatele ferestreiE
2)oarta, prin care se transmit coordonatele poriiE
2t$)tra!, prin care programatorul va specifica dac" dorete ca transformarea s" nu produc" deformarea
desenului definit -n fereastr" /scalare uniform"0E
2M($') i D($') care efectueaz" transformarea fereastr"2poart" asupra punctelor din descrierea
desenuluiE
2VectE($'), care primete coordonatele logice ale capetelor unui vector i calculeaz" lungimea
vectorului pe suprafaa de afiareE
2(ecu)are, prin care programatorul poate specifica dac" dorete ca transformarea s" fie -nsoit" de
decupare.
(rezent"m -n ontinuare pachetul de su'programe implementat -n lim'a6ul +. !l conine trei
funcii suplimentareC
2$!$tE#o(E*ra"$c, care iniializeaz" modul grafic i sta'ilete ca poart" de afiare curent" -ntregul ecran.
Aceast" funcie este necesar" pentru definirea valorilor iniiale ale varia'ilor folosite -n fiierul
8izual.+. De aceea, apelul s"u -n programul care folosete funciile din acest fiier este o'ligatorieE
2ca(ruE"er, care traseaz" marginea ferestreiE
2ca(ruE)oarta, care traseaz" cadrul poriiE
!*emplific"m utilizarea funciilor din fiierul N8izual.+N -n programul urm"tor, care afieaz" graficele
mai multor funcii, -n patru zone distincte ale ecranului. (entru fiecare grafic este afiat" su' form" de
te*t e*presia matematic" a funciei /figura 2.13.0. ,e*tul este centrat pe a*a * ,su' dreptunghiul de
-ncadrare al graficului. Dn acest scop s2a folosit funcia sette*t6ustfA.
22222222222222222222222222222222222222
22222222222222222222222222222222222222
.igura 2.13.
&mpunDnd scalare uniform", factorii de scalare pe am'ele a*e vor fi egali cu 1 i deaceea, toate cercurile
fiind incluse -n fereastr" vor fi incluse i -n poart" /figura 2.14.'.0.
222222222222222222222222222222222
222222222222222222222222222222222
.igura 2.14.
/.040 Pro$ec2$$
#7
(roieciile sunt aplicaii care transforma puncte dintr2un sistem de coordonate n2dimensional
intr2un sistem B2dimensional, unde B_n. (roiecia unui o'iect 3D intr2un plan de proiecie 2D este
determinata de mulimea punctelor de intersecie ale planului cu dreptele care pornesc dintr2un punct,
numit centru de proiecie, fiecare trecFnd printr2un punct ale o'iectului. Aceste drepte se numesc
proiectori.
Dn funcie de poziia centrului de proiecie, proieciile se clasifica -nC
2 proiecii perspectiva 2 centrul de proiecie este la distanta finita de planul de proiecie.
2 proiecii paralele 2 centrul de proiecie este la infinit.
(roiectorii sunt linii paralele care trec prin punctele ce definesc o'iectul 3D. Direcia
proiectorilor se numete direcia de proiecie.
(roiecia perspectiva ofer" o imagine plana a scenei 3D asem"n"toare cu imaginea o'inut" cu
a6utorul unui aparat de fotografiat. Se caracterizeaz" prinC
- efectul de micorare a o'iectului proiectat, proporional" cu distanta de la o'iect la centrul de
proiecie. %"rimea proieciei unui o'iect este invers proporional" cu distanta de la o'iect la
centrul de proiecie.
- nu p"streaz" proprietatea de paralelism pentru liniile care nu sunt paralele cu planul de
proiecie.
(roiecia unui set de linii paralele care nu sunt paralele cu planul de proiecie este un set de linii
convergente c"tre un punct din planul de proiecie, numit punct de convergenta.
(roiecia paralela conserva proprietatea de paralelism. De asemenea, fetele o'iectului care sunt
paralele cu planul de proiecie -i p"streaz" forma i dimensiunea -n urma proieciei. Dup" direcia
proiectorilor fata de planul de proiecie, proieciile paralele se clasifica -nC
2 proiecii ortografice 2 proiectorii sunt perpendiculari pe planul de proiecieE
2 proiecii o'lice 2 proiectorii nu sunt perpendiculari pe planul de proiecie.
Pro$ec2$$ C! )la!ul MOD
.ie ( un punct din spaiu, de coordonate /*,A,z0, care se proiecteaz" -n punctul (d/*d,Ad0 din planul
de proiecie. +oordonatele punctului (d se determina cu urm"toarele relaiiC
/a0 (entru proiecie paralela, dup" direcia de proiecie Dta ' cs
c 0 3 z . - / # 6 .7
c 0 3 z 1 - / a 6 17
(entru o proiecie ortografica -n planul ?)H, direcia de proiecie este Dt7 7 1s.
/'0 (entru proiecie perspectiva, din centrul de proiecie +(/a,',c0
/ z - c 0 c 3 . 0 6 / # 3 z - .7
/ z - c 0 c 3 1 0 6 / a 3 z - 17
Pro$ec2$$ a>o!o#etr$ce
) proiecie a*onometrica este o proiecie ortografica intr2un plan care nu este paralel cu nici
unul dintre planele principale. &maginea o'inuta printr2o proiecie a*onometrica este echivalenta cu una
o'inuta printr2o proiecie ortografica -n planul ?)H, efectuata dup" ce o'iectului proiectat i s2a aplicat
o transformare geometricaC
0 /u 03R /u R &A
1 1 . .
unde 4
A
/u
A
0 i 4
*
/u
*
0 sunt matricile de rotaie -n 6urul a*ei A, cu un unghi u
A
, respectiv -n 6urul a*ei *, cu
un unghi u
*
.
AlegFnd corespunz"tor unghiurile u
A
i u
*
, o'inem cele dou" cazuri particulare de proiecie
a*onometricaC
#1
2 (roiecia izometric", pentru
grade 4
grade 2# 3
6- u
. 6- u
.
1
+
+
2 (roiecia simetric", pentru
grade 273 22
grade $7 27
. 6- u
. 6- u
.
1
+
+
//0 Deter#$!area 5$1$9$l$t%2$$ o9$ectelor la a"$,area 'ce!elor 3D
//0/0 Cla'$"$carea al*or$t#$lor (e (eter#$!are a latur$lor ,$ a "e2elor 5$1$9$le ale o9$ectulu$.
8izualizarea unei scene 3D presupune determinarea feelor i laturilor vizi'ile ale o'iectelor ce
compun scena. (rocesul de determinare a feelor i laturilor vizi'ile dintr2un centru de proiecie sau
dup" o direcie de proie2cie /corespunz"tor proieciei perspectiv", respectiv paralel"0 are ca efect
eliminarea total" sau parial" a laturilor i feelor o'turate. Dn general, implementarea unor astfel de
algoritmi necesit" multe prelucr"ri i deci implicit, mult timp de calcul. (entru rezolvarea eficient" a
pro'lemei elimin"rii laturilor i feelor nevizi'ile au fost dezvoltai diferii algoritmi, precum i
arhitecturi speciale de procesoare.
Al*or$t#$$ (e (eter#$!are a "e2elor 5$1$9$le 'e C#)art C! (ou% cate*or$$O
a0 al*or$t#$ C! ')a2$ul $#a*$!e 2 care determin" o'iectul scenei vizi'il -n fiecare pi*el ecran.
'0 al*or$t#$ C! ')a2$ul o9$ect 2 care compar" o'iectele -ntre ele, eliminDnd parial sau total acele o'iecte
care nu sunt vizi'ile.
Algoritmii -n spaiul imagine determin" o'iectul cel mai apropiat de o'servator de2a lungul
proiectorului ce trece prin fiecare pi*el. Afiarea unei scene 3D pe 'aza acestor algoritmi poate fi
descris" astfelC
)e!tru "$ecare )$>el ecra! P
e>ecut%
P (eter#$!% o9$ectul O cel #a$ a)ro)$at (e o9'er5ator
(e8a lu!*ul )ro$ectorulu$ ce trece )r$! )$>elul PQ
P a"$,ea1a )$>elul P C! culoarea o9$ectulu$ OQ
!fortul de calcul este proporional cu /!P)0, unde ! este numarul de o'iecte ale scenei, iar p
reprezinta rezoluia ecranului.
Algoritmii -n spaiul o'iect au urm"toare form"C
)e!tru "$ecare o9$ect O al 'ce!e$
e>ecut%
P (eter#$!% )%r2$le 5$1$9$le ale o9$ectulu$ O ;)%r2$le
care !u 'u!t o9turate (e alte )%r2$ ale 'ale 'au (e
alte o9$ecte=Q
a"$,ea1% )%r2$le 5$1$9$le ale o9$ectulu$ OQ
#2
!fortul de calcul -n acest caz este proporional cu /!P!0, ! fiind num"rul de o'iecte ale scenei
3D. Algoritmii -n spaiul o'iect sunt mai leni /cu toate c", de regul", !R)0 i mai dificil de implementat,
fiecare pas al algoritmului fiind mai comple*.
Algoritmii -n spaiul imagine determin" vizi'ilitatea -n fiecare pi*el ecran. %odificarea rezoluiei
sau a ferestrei ecran implic" reluarea calculelor -n -ntregime. Algoritmii -n spaiul o'iect determin"
vizi'ilitatea fiec"rui o'iect al scenei, calculele efectu-ndu2se independent de rezoluia ecranului. De
aceea este necesar" o operaie suplimentar" de afiare a o'iectelor vizi'ile, la dimensiunea ecran dorit".
Dn cazul -n care se schim'" rezoluia ecranului sau dimensiunea ferestrei ecran, este suficient s" se
e*ecute doar aceast" operaie, deoarece geometria proieciilor o'iectelor vizi'ile nu se modific" -n 'aza
de date.
(recizia algoritmilor -n spaiul imagine este determinat" de rezoluia ecranului. (entru algoritmii
-n spaiul o'iect, precizia imaginii este determinat" de precizia definirii o'iectelor.
(rimii algoritmi care s2au dezvoltat au fost algoritmii -n spaiul o'iect, acetia fiind adecvai
echipamentelor grafice vectoriale. Astfel sunt algoritmii de eliminare a muchiilor ascunse ;S+$((e! l$!e
re#o5alI0, care consider" o'iectele descrise prin laturi. (ornind de la aceste date de intrare, se elimin"
muchiile total o'turate, iar cele parial o'turate sunt -nlocuite cu unul sau mau multe segmente vizi'ile.
)dat" cu r"sp-ndirea echipamentelor de tip raster au fost dezvoltai diferii algoritmi -n spaiul imagine,
calculele de vizi'ilitate efectu-ndu2se iniial pentru un num"r relativ mic de pi*eli. <lterior s2au
dezvoltat algoritmi care com'in" cele dou" metode, urm"rindu2se o'inerea unei precizii 'une a imaginii
i o vitez" sporit" de e*ecuie.
Tra!'"or#area (e )ro$ec2$e
Determinarea feelor vizi'ile pentru o scen" compus" din mai multe o'iecte se realizeaz" -n
spaiul 3D, -nainte de proiecia -n plan, care distruge informaia de ad-ncime. (e 'aza acestei informaii
se face testul de vizi'ilitate, ideea de 'az" fiind de a determina dac" un punct A;>/7/1/= o'tureaz" sau
nu un punct B;>-7-1-=0 (unctul A poate o'tura punctul 1 numai dac" cele dou" puncte sunt pe acelai
proiector, indiferent de tipul de
proiecie /paralel" sau perspectiv"0.
B
K Dac% A ,$ B 'u!t )e acela,$
K )ro$ector atu!c$ 'e co#)ar%
K coor(o!atele 1/ ,$ 1- )e!tru a
A )ro$ector (eter#$!a )u!ctul ($! "a2% ;#a$
a)ro)$at (e o9'er5ator=0
+omparaia -n ad-ncime se efectueaz" de regul" dup" transformarea de normalizare, N)ar sau
N)er /vezi paragraful 3.2.2.30. ,estul de adDncime pentru a determina dac" punctele A i 1 sunt pe
acelai proiector, se reduce la comparaiileC
>/ T >- ,$ 7/ T 7- 8 )e!tru )ro$ec2$a )aralel%
>/K1/T>-K1- ,$ 7/K1/ T 7-K1- 8 )e!tru )ro$ec2$a )er')ect$5%0
+ele patru operaii de -mp"rire necesare -n cazul proieciei perspectiv" se efectueaz" ori de cDte
ori se compar" dou" puncte care pot fi sau nu pe acelai proiector. Aceste calcule se elimin" dac" se
#3
aplic" o transformare de proiecie asupra o'iectului astfel -nc-t proiecia paralel" a o'iectului
transformat s" fie acceai cu proiecia perspectiv" a o'iectului netransformat. Tra!'"or#area (e
)ro$ec2$e distorsioneaz" o'iectul i deplaseaz" centrul de proiecie din origine la infinit, de2a lungul a*ei
z pozitive. !a are ca efect transformarea volumului de vizualizare canonic corespunz"tor proieciei
perspective -n volumul canonic corespunz"tor proieciei paralele /figura 3.10.
.igura 3.1
.orma matriceal" a transform"rii de proiecie este dat" de relaia /3.10.
% T
1
1
1
1
]
1
+ +
7 1 7 7
0 1 G/ 0 1 G/ 1 7 7
7 7 1 7
7 7 7 1
min min min
z z z
/3.10
unde 1
#$!
reprezint" coordonata planului din fa" al volumului de vizualizare trunchi de piramid".
,ransformarea de proiecie se aplic" numai -n cazul proieciei perspectiv", tuturor punctelor care
definesc o'iectele scenei 3D.
Dn continuare, testul de comparaie n adDncime se efectueaz" ca pentru proiecia paralel".
Aceast" transformare conserv" informaia de adDncime relativ". !a se poate aplica -nainte sau dup"
operaia de decupare 3D la limitele volumului de vizualizare canonic. Dac" se aplic" -nainte de
decupare, matricea de transformare % poate fi inclus" -n matricea de transformare de normalizare N)er.
<rmeaz" decuparea -n coordonate omogene la limitele volumului definit prinC
8L M L 8L D L 8L U . )e!tru LV.
Dup" decupare se efectueaz" operaia de -mp"rire la @ pentru a o'ine coordonate carteziene
/*T?G@, ATHG@, zT:G@0 -n volumul de vizualizare canonic corespunz"tor proieciei paraleleC
8/ > / 8/ 7 / 8/ 1 .
Acest paralelipiped este situat -n semispaiul z negativ, iar o'servatorul este considerat de2a
lungul a*ei z pozitive. )rdonarea descresc"toare a valorilor z negative indic" de fapt, creterea distanei
fa" de o'servator. Sistemele grafice transform", -n general, sistemul de coordonate 3D utilizator
KdreaptaL -n sistem de coordonate de vizualizare Kst-ngaL. Dn acest caz, cu c-t valorile z pozitive sunt mai
mari, crete distana fa" de o'servator. Dn prezentarea algoritmilor de vizi'ilitate consider"m
urm"toarea convenieC ordonarea descresc"toare a valorilor z pozitive indic" o cretere a distanei fa" de
o'servator.
!ca(rarea o9$ectelor
#4
) metod" de a micora num"rul de operaii -ntre diferitele o'iecte ale scenei sau -ntre proieciile
lor, este de a le include -n e*tensii care s" le -ncadreze. Aceste e>te!'$$ (e C!ca(rare sunt volume 2
pentru o'iecte, respectiv dreptunghiuri cu laturile paralele cu a*ele sistemului de coordonate 2 pentru
proieciile lor.
+onsider-nd determinate dreptunghiurile e*tensie a dou" o'iecte proiectate, testul de intersecie
al o'iectelor se face doar dac" e*tensiile lor se suprapun. Dn acest caz este posi'il ca proieciile celor
dou" o'iecte s" se suprapun" sau nu /vezi figura 3.20.
.igura 3.2.
8olumele e*tensie pot fi paralelipipede dreptunghice, sfere sau volume infinite ce -ncadreaz" o
singur" dimensiune a o'iectului. Dn figura 3.3 sunt prezentate volume infinite care -ncadreaz" o'iectele
pe a*a z. Se determin" astfel, dac" o'iectele se suprapun sau nu -n ad-ncime.
.igura 3.3.
+ele dou" o'iecte nu se suprapun pe z dac" C
z
ma*
1 _ z
min
2 sau z
ma*
2 _ z
min
1
(entru a efectua testul de suprapunere este necesar s" se determine valorile z e*treme ale
o'iectelor. ,re'uie deci iterate toate punctele ce definesc o'iectele, ceea ce implic" de regul", consum
mare de timp.
+ostul total al testului de intersecie pentru un o'iect, utiliz-nd e*tensiile de -ncadrare, poate fi
e*primat astfel C
, T nQ,1 O mQ,2
unde n T num"rul de teste de suprapunere pentru e*tensia o'iectuluiE
,1 T costul unui test de suprapunereE
m T num"rul de teste de intersecie dac" e*tensiile se
suprapunE
,2 T costul unui test de intersecie a o'iectului cu alt
o'iect.
Se o'serv" c" n i ,2 sunt constante pentru un o'iect, iar mn. +omponentele ,1 i m sunt
determinate de forma i m"rimea e*tensiei de -ncadrare. (entru un volum de -ncadrare c-t mai str-ns de
o'iect, valoarea lui m scade dar crete -n schim' valoarea lui ,1. .orma volumului de -ncadrare poate fi
diferit" pentru dou" o'iecte identice, -n funcie de orientarea lor.
Part$2$o!area ')a2$ulu$
#
(artiionarea spaiului sau su'divizarea spaial" reprezint" o tehnic" ce permite divizarea unei
pro'leme -n pro'leme mai simple. &deea de 'az" este de a atri'ui o'iectele scenei sau proieciile lor,
unor grupuri coerente spaial.
(lanul de proiecie poate fi divizat -n dreptunghiuri egale, sta'ilindu2se -n faza de preprocesare
-n ce dreptunghiuri se afl" proiecia fiec"rui o'iect -n parte. ,estul de intersecie se face numai pentru
acele o'iecte pentru care proieciile lor se afl" -n acelai dreptunghi.
&n spaiul 3D partiionarea se face -n cu'uri de aceeai dimensiune. ,estul de intersecie a unui
proiector cu o'iectele din scen" se simplific" mult deoarece se determin" mai -nt-i cu'urile ce pot fi
intersectate de proiectorE -n continuare se testeaz" doar o'iectele care sunt -n aceste cu'uri. Dn general,
o'iectele scenei nu sunt disti'uite uniform -n spaiu. De aceea este mult mai eficient ca partiionarea s"
se efectueze adaptiv, partiiile av-nd dimensiuni diferite. Su'divizarea spaiului se face -n acest caz
recursiv. +riteriul de terminare a recursivit"ii poate fi, de e*emplu, num"rul de o'iecte dintr2o partiie.
Ierar+$1area o9$ectelor
Jum"rul de teste de intersecie necesare -ntr2un algoritm de eliminare a feelor nevizi'ile poate fi
redus construind o ierarhie de o'iecte, pe 'aza propriet"ilor de structur" ale acestora. <n o'iect de pe
un anumit nivel poate constitui o e*tensie pentru o'iectele de pe nivelele inferioare /descendenii s"i0,
dac" acestea sunt incluse -n el. Dac" dou" o'iecte de pe un nivel ierarhic nu se intersecteaz", atunci nici
descendenii lor nu se intersecteaz". Similar, pentru un proiector care intersecteaz" un o'iect al ierarhiei,
tre'uie f"cut testul de intersecie cu toate o'iectele descendente ale sale.
//0-0 Deter#$!area latur$lor 5$1$9$le ale u!u$ )ol$e(ru
Algoritmii de eliminare a laturilor nevizi'ile sunt algoritmi -n spaiul o'iect, care furnizeaz" o
list" de segmente vizi'ile ce pot fi apoi afiate. !i se folosesc atunci c-nd o'iectele /poliedre conve*e
sau concave, cu sau f"r" treceri0 se afieaz" prin contur.
(entru sta'ilirea laturilor vizi'ile ale unui poliedru conve* sau concav sunt prezentate dou"
metode simple, dar care necesit" calcule pentru a determina intersecia dintre dou" segmente, intersecia
-ntre o dreapt" i un plan, dac" un punct este sau nu interior unui poligon. +ele dou" metode furnizeaz"
laturile vizi'ile 2 pentru poliedrele conve*e, respectiv laturile i segmentele vizi'ile 2 pentru poliedrele
concave, ce pot fi apoi afiate. )'iectul este asftel reprezentat prin contur i nu pot fi efectuate operaii
de umplere sau um'rire.
a= %etoda prezentat" -n continuare, consider" poliedrul reprezentat printr2o ta'el" a feelor sale.
.eele sunt poligoane descrise prin v-rfuri i nu sunt orientate.
;aturile vizi'ile ale unui )ol$*o! co!5e> se determin" pe 'aza vizi'ilit"ii v-rfurilor sale astfelC
1. Se proiecteaz" feele poliedrului -n planul de proiecie /de regul" planul /*A00.
2. Se determin" ecuaia planului fiec"rei fee a poliedrului.
3. Se determin" v-rfurile vizi'ile ale poliedrului. (entru fiecare v-rf 8 se calculeaz" punctul de
intersecie &, -ntre proiectorul )8 i planul fiec"rei fee, e*cept-nd feele c"rora le aparine 8. Dac"
punctul de intersecie & aparine segmentului )8 i proiecia sa este -n interiorul proieciei feei /Dn
planul de proiecie0, atunci 8 este nevizi'il. Altfel 8 este vizi'il. Dn figura 3.$, v-rful A este nevizi'il.
##
4. Dac" v-rful 8 este nevizi'il, atunci toate laturile care pleac" din 8 sun nevizi'ile. Astfel, laturile A1,
AD, AA din figura 3.$ sunt nevizi'ile. ;aturile nevizi'ile se elimin" din lista muchiilor poliedrului.
4estul laturilor sunt vizi'ile i se afieaz".
Dac" )ol$e(rul e'te co!ca5, atunci sunt necesare calcule suplimentare pentru a determina
laturile sau segmentele de laturi vizi'ile. (aii algoritmului sunt C
1. Se determin" v-rfurile nevizi'ile ale poliedrului ca pentru poliedre conve*e. ;aturile care pleac" dintr2
un v-rf nevizi'il sunt potenial nevizi'ile. Astfel, de e*emplu, -n figura 3.3 v-rfurile 3, 5 i 17 sunt
nevizi'ile, iar laturile 32$, 325, 322, 5217, 523, 1724, 17211 sunt potenial nevizi'ile. +elelalte laturi
sunt vizi'ile.
2. Se proiecteaz" poliedrul i pentru fiecare latur" potenial nevizi'il" se calculeaz" punctele de
intersecie cu celelalte laturi. ;aturile potenialnevizi'ile care nu se intersecteaz" cu alte laturi sunt
eliminate, fiind nevizi'ile. (entru poliedrul din figura 3.3, punctul de intersecie al laturilor potenial
nevizi'ile cu celelalte laturi sunt A, 1, +, D, !, .. ;aturile 32$, 17211, 1725 se elimin". +elelalte laturi
potenial nevizi'ile conin puncte de intersecie cu alte laturi.
3. Se determin" segmentele vizi'ile ale laturilor potenial nevizi'ile r"mase. Se o'serv" c" vizi'ilitatea
unei laturi se poate schim'a doar la intersecia cu alt" latur". (entru a determina un segment vizi'il
dintr2o latur" se poate testa
vizi'ilitatea mi6locului segmentului, la fel ca pentru v-rfurile poliedrului. (entru e*emplul considerat,
latura 325 conine punctele de intersecie D i !. Segmentul 3! este vizi'il,iar segmentele D! i !5 sunt
nevizi'ile.
;a= Pu!ct $!ter$or u!u$ )ol$*o!
(entru a determina dac" un punct este -n interiorul unui poligon se pot folosi mai multe metode.
) metod" se 'azeaz" pe testul ca punctul considerat i unul din v-rfurile poligonului s" fie de
aceeai parte a oric"rei laturi a poligonului. !cuaia dreptei ce trece prin dou" puncte date
;>/7/= ;>-7-= esteC
;> 8 >/=;7- 87/= 8 ;>- 8 >/=;7 8 7/= T . ;B03=
(entru punctele care nu aparin dreptei, mem'rul st-ng al ecuaiei /3.30 este pozitiv sau negativ
dup" cum punctul este situat de2o parte sau de alta a dreptei. (unctul ( este interior unui poligon dac"
pentru fiecare latur" l, ( este de aceeai parte ca i unul din v-rfurile poligonului ce nu aparine acelei
laturi. Dn pseudocodul urm"tor este definit" funcia I!Pol$*o! ce -ntoarce valoarea 1 dac" punctul A este
-n interiorul poligonului ( i 7 altfel. .uncia Calcul apelat" -ntoarce valoarea mem'rului st-ng al
ecuaiei /3.30, pentru un punct dat ca argument.
"u!c2$a I!Pol$*o! ; Pol$*o! P Pct A =
l T .Q
re)et%
"$e V u! 5Cr" al )ol$*o!ulu$ P ce !u a)ar2$!e latur$$ l
(ac% ; Calcul;A= P Calcul;V= R . = atu!c$
#$
retur! ; . =Q
l T l W /Q
cCt t$#) l R !rLatur$Q
retur! ;/=
) alt" metod" de a determina dac" un punct este sau nu interior unui poligon se 'azeaz" pe
calculul num"rului de intersecii al semidreptei ce pleac" din acel punct, cu laturile poligonului. Dac"
num"rul de intersecii este impar, atunci punctul este -n interiorul poligonului, altfel este -n e*terior. Dn
figura 3.5 s2a considerat semidreapta /d0 ca fiind paralel" cu semia*a * pozitiv".
%etoda este eficient" deoarece testul de intersecie nu se face pentru toate laturile poligonului.
Se e*clud laturile care sunt deasupra sau su' semidreapta /d0, precum i cele care sunt la st-nga
punctului considerat. Astfel, -n figura 3.5 laturile care se e*clud sunt A1, !., .9 i 9A. .ie ( un
poligonul cu n v-rfuri, de coordonate /*
i
, A
i
,z
i
0, 7i _ n i un punct Y/*,A,z0
care se testeaz".
(aii algoritmului sunt C
1. Se proiecteaz" poligonul -n planul de coordonate corespunz"tor coordonatelor celor mai mari. 4ezult"
v-rfurile proiectate /ui,vi0, cu 7gi_n.
2. Se translateaz" poligonul proiectat astfel -nc-t punctul testat Y s" fie -n origine. 4ezult" v-rfurile /u
i
,
v
i
0.
3. Se sta'ilete valoarea semn -n funcie de valoarea v
7
, astfelC
semn/v
7
0 T 21 , dac" v
7
_ 7
1 , dac" v
7
Q 7
4. Se iniializeaz" contorul nr&ntersecii la 7.
. pentru fiecare latur" delimitat" de /u
a
,v
a
0 i /u
'
,v
'
0 e*ecut"
Q determin" semn/v
'
0E
dac" semn/v
7
0 _` semn/v
'
0 atunci
dac" /u
a
` 70 i / u
'
` 7 0 atunci
GG linia tre'uie s" intersecteze a*a u
O
nr&ntersecii T nr&ntersecii O 1E
altfel dac" /u
a
` 70 sau / u
'
` 7 0 atunci
GG linia intersecteaz" a*a u
O
dac" /u
a
2 v
a
/u
'
2 u
a
0G/v
'
M v
a
0 ` 70 atunci
nr&ntersecii T nr&ntersecii O 1E
dac" /nr&ntersecii este impar0atunci Y este interior
altfel Y este e*terior.
#3
(unctele testate aflate pe o latur" sunt ar'itrar determinate ca fiind interioare sau e*terioare
poligonului.
;9= I!ter'ec2$a u!u$ )ro$ector cu u! )la!
(entru a determina dac" un proiector )8 intersecteaz" planul feei . se pot folosi dou" metode.
) metod" pornete de la ecuaiile parametrice ale proiectorului )8C
* T *
)
O t/*
8
2 *
)
0
A T A
)
O t/A
8
2 A
)
0
* T z
)
O t/z
8
2 z
)
0
t /7,10 pentru /*,A,z0 aparin-nd segmentului )8.
Dac" proiectorul intersecteaz" planul feei, punctul de intersecie /*
i
,A
i
,z
i
0 verific" ecuaia
planului, deci
A*
)
O 1A
)
O +z
)
O D
t
i
T 22222222222222222222222222222222222222 /3.40
A/*
8
2 *
)
0 O 1/A
8
2 A
)
0 O +/z
8
2 z
)
0
Dac" t
i
/7,10, atunci proiectorul )8 intersecteaz" planul feei -n puncul & de coordonate
/*
i
,A
i
,z
i
0, unde
*
i
T *
)
O t
i
/*
8
2 *
)
0
A
i
T A
)
O t
i
/A
8
2 A
)
0
*
i
T z
)
O t
i
/z
8
2 z
)
0
) alt" metod" de a sta'ili dac" un proiector )8 intersecteaz" planul feei . folosete ecuaia
planului feeiC
A* O 1A O +z O D T 7
.ie f/*,A,z0T A*O1AO+zOD. (unctele )/*
)
,A
)
,z
)
0 i 8/*
8
,A
8
,z
8
0 sunt de acceai parte a planului feei .
dac" C
f/*
)
,A
)
,z
)
0 * f/*
8
,A
8
,z
8
0 ` 7
Dn continuare se poate aplica una din metodele prezentate anterior pentru a sta'ili dac" punctul
de intersecie este sau nu interior poligonului.
//030 Deter#$!area "e2elor 5$1$9$le ale o9$ectulu$0
#5
//030/0 Al*or$t#ul &al$#9ert$8Mo!ta!ar$
Algoritmul presupune orientarea feelor poliedrului. .iecare fa" este astfel definit" -nc-t normala
sa s" fie orientat" spre e*teriorul o'iectului. Aceasta implic" o parcurgere a v-rfurilor feelor -n sens
trigonometric, ca -n figura 3.17. .iecare latur" aparine la dou" fee ale poiedrului , fiind parcurs" -n
sensuri diferite pentru cele dou" fee.
Jormala la o fa" se calculeaz" ca produs vectorial a dou" laturi adiacente.
.igura 3.17.
(aii algoritmului suntC
1. Se proiecteaz" poliedrul -n planul de proiecie, consider-nd o proiecie perspectiv". (entru fiecare fa"
proiectat" se determin" vizi'ilitatea sa, calcul-nd componenta z a produsului vectorial a dou" laturi
adiacente. Astfel, dac" 8
7
/*7,A70, 8
1
/*1,A10 i 8
2
/*2,A20 sunt proieciile a trei v-rfuri ce definesc dou"
laturi adiacente, atunci produsul vectorial al lor se definete ca fiindC
.igura 3.17 4rientarea feelor unui poliedru
i 6 B
8
7
8
1
* 8
1
8
2
T *12*7 A12A7 7
*22*1 A22A1 7
iar componenta z a normalei esteC
Jz T /*12*70/A22A10 2 /*22*10/A12A70 /3.0
.aa este potenial vizi'il" dac" valoarea calculat" Jz este pozitiv" i este nevizi'il" dac" Jz
este negativ. Dac" Jz este 7, atunci cele dou" laturi sunt colineare i se recalculeaz" pentru alt" pereche
de laturi adiacente ale feei.
Dac" poliedrul este conve*, atunci se afieaz" feele potenial vizi'ile i algoritmul s2a terminat. Dac"
poliedrul este concav sau cu treceri, atunci se elimin" din lista laturilor, muchiile nevizi'ile.
;aturile invizi'ile sunt laturile care aparin la dou" fee invizi'ile.
.ie de e*emplu, poliedrul din figura 3.11 /a0. .eele potenial vizi'ile ale sale sunt reprezentate
-n figura 3.11 /'0, dup" ce s2au eliminat laturile nevizi'ile.
a0 '0
.igura 3.11
2. Se studiaz" vizi'ilitatea fiec"rei laturi -n raport cu feele potenial vizi'ile. (oziiile unei laturi A1 -n
raport cu o faa . sunt reprezentate -n figura 3.12 /a0. Se disting urm"toarele cazuriC
/a0 Am'ii proiectori nu intersecteaz" planul feei. ;atura A1 este de aceeai parte a planului feei ca i
o'servatorul. Dn acest caz, latura A1 este vizi'il" -n raport cu faa ..
/'0 <nul din cei doi proiectori intersecteaz" planul feei iar cel"lalt nu.
$7
/'10 Dac" punctul de intersecie aparine feei /proiectorul intersecteaz" faa0, atunci un v-rf al laturii
este vizi'il iar cel"lalt este o'turat de faa .. Segmentul vizi'il este cuprins -ntre v-rful vizi'il i punctul
de intersecie al laturii cu faa.
/'20 Dac" punctul de intersecie nu aparine feei /proiectorul nu intersecteaz" faa0, atunci segmentul
sau segmentele vizi'ile ale laturii -n raport cu faa . se determin" ca -n cazul /c0.
/c0 Am'ii proiectori intersecteaz" planul feei. Dn acest caz se studiaz" vizi'ilitatea laturii folosind
proiecia perspectiv" a feei i a laturii -n planul de proiecie. +onsiderDnd faa poligon conve*, se disting
patru cazuri, reprezentate -n figura 3.12 /'0C
/c10 Am'ele v-rfuri ale laturii sunt -n interiorul feei, deci latura este nevizi'il".
.igura 3.12
/c20 <n v-rf al laturii este -n interiorul feei iar cel"lalt -n e*terior. Segmentul vizi'il este
determinat de v-rful e*terior i punctul de intersecie al laturii cu una din laturile feei.
/c30 Am'ele v-rfuri ale laturii sunt -n e*teriorul feei i latura intersecteaz" faa. Se o'in dou"
segmente vizi'ile determinate de v-rfurile laturii i punctele de intersecie ale laturii cu laturile feei.
/c40 Am'ele v-rfuri ale laturii sunt -n e*teriorul feei i latura nu intersecteaz" faa. ;atura este
vizi'il" -n raport cu faa.
//030-0 Al*or$t#ul U89u""er
Algoritmul :2'uffer este considerat cel mai simplu algoritm de afiare a scenelor 3D numai prin
p"rile vizi'ile. Acest algoritm nu necesita comparaii intre o'iecte sau calcule de intersecie i de aceea
este simplu de implementat. Jecesita insa ca structura de date un 'uffer /ta'lou 'idimensional0, avFnd
un num"r de elemente egal cu rezoluia ecranului. .iecare element din 'uffer memoreaz" informaia de
adFncime /coordonata z0 corespunz"toare unui pi*el /*,A0. De aceea, structura de date folosita i
algoritmul se numesc :2'uffer.
Algoritmul, pe care2l schi"m -n continuare, se e*ecuta asupra unei scene 3D, dup" ce asupra
scenei s2a efectuat transformarea de proiecie. De asemenea, pentru reducerea
num"rului de poligoane tratate -n cadrul algoritmului, se recomanda ca mai -ntFi sa se determine fetele
auto2o'turate ale fiec"rui o'iect. %etoda N'acBface cullingN reduce, -n medie, la
6um"tate num"rul fetelor care urmeaz" sa fie procesate -n continuare de algoritmul folosit pentru
vizualizarea scenei 3D.
(aii algoritmului suntC
1. Se iniializeaz" memoria ecran -n culoarea fondului i :2'uffer2ul cu valoarea ce corespunde
planului din spate al volumului de vizualizare canonic /unu0. 8aloarea minima din :2 'uffer /zero0
corespunde coordonatei z a planului din fata al volumului /se considera sistemul de coordonate
carteziene 3D stFnga, o'servatorul fiind situat la infinit 0.
2. Se proceseaz" poligoanele prin care sunt reprezentate o'iectele scenei 3D, intr2o ordine ar'itrara.
(entru fiecare pi*el /*,A0 ce aparine proieciei unui poligon, se calculeaz" coordonata z a punctului
poligonului care se proiecteaz" -n acel pi*el. .ie /*,A,z10 punctul poligonului care se proiecteaz" -n
pi*elul /*,A0. .ie z7 valoarea din :2'uffer corespunz"toare pi*elului /*,A0. Daca z1_z7 atunci
punctul /*,A,z10 este mai apropiat de o'servator decFt punctul pentru care e*ista memorata
$1
informaia de adFncime -n :2'uffer. .iind mai aproape de o'servator, este vizi'il i deci se -nscrie
culoarea sa -n memoria ecran iar informaia de adFncime -n :2'uffer.
Algoritmul presupune calculul coordonatei z pentru puncte aparinFnd proieciei unui poligon.
(entru generarea punct cu punct a poligonului -n memoria ecran, este necesara o funcie de haurare
/dfilld0 poligon -n spaiul ecran t1s.
+oordonata z a fiec"rui punct se poate o'ine printr2o metoda incrementala. .ie
7 8 9z 2. A1 + + +
ecuaia planului poligonului care se proceseaz", din care rezulta coordonata zC
9
-A1 -2. -8
z
.ie z/*,A
h
0 coordonata z a punctului /*,A
h
0 ce aparine liniei de haurare A
h
. +onform relaiei /10,
coordonata z a punctului /*O1,Ah0 esteC
9 z/1".h0-A6
9
A
:
-A1-2.h-8
9
0-2.h-8 -A/1
".h0 z/1
+
+
1
1
+um AG+ este o constanta pentru un poligon, rezultaC
1 1 ct z/1".h0 - ".h0 z/1 +
/20
Deci, coordonata z a unui punct /*,A
h
0 aparinFnd liniei de haurare A
h
se o'ine sc"zFnd din
coordonata z a punctului anterior o constanta.
) relaie similara se deduce i pentru coordonata z a primului punct de pe fiecare linie de
haurareC
0-269 z/1".
9
2
:
-8 -A1-2.
9
-8 . -A1-2
0 z/1".
h
h h
h
+
+
0 1 /
1
2
1 0 - ct z/1". 0 z/1".
h h
+
/30
4elaiile /20 i /30 pot fi utilizate pentru poligoane plane, atunci cFnd se cunoate ecuaia
planului.
) alta soluie de a calcula coordonata z este interpolarea lineara. +unoscFnd coordonatele z ale
vFrfurilor poligonului se calculeaz" z/*,A0 de2a lungul laturilor poligonului i apoi de2a lungul liniei de
haurare astfelC
2 1
1
2 1 1
-. .
-. .
0 -z -/z z z
h
a
4 1
1
4 1 1
-. .
-. .
0 -z -/z z z
h
#
a #
c #
a # # c
-1 1
-1 1
0 -z -/z z z
+a i -n cazul anterior, se pot determina relaii incrementale atFt pentru punctele de pe linia de
haurare cFt i pentru linii de haurare consecutive. Astfel, pentru doua puncte consecutive /*,A
h
0 i
/*O1,Ah0 ale liniei A
h
avemC
a #
#
a # # h
-1 1
-1 1
0 -z -/z z . 1 z 0 , /
a #
a #
h
a #
#
a # # h
1 1
z z
. 1 z
-1 1
1 - 1
0 -z -/z z . 1 z
+
+
+ 0 , /
0 1 /
0 , 1 /
.ie /z'2za0G/*'2*a0Tinc> 2 valoare constanta pentru o linie de haurare A
h
. 4ezultaC
inc; 0 z/1". 0 ". z/1
s s
+ +1
/40
Analog, pentru doua linii de hasurare consecutive avemC
$2
2 1
h 1
2 1 1 h
A 2 A
A 2 A
0 z 2 /z 2 z 0 A z/*,
2 1
2 1
2 1
1
2 1 1
0 , /
0 1 /
0 1 , /
. .
z z
. 1 z
-. .
. - .
0 -z -/z z . 1 z
h
s
h
+
+
+
.ie /z1 2 z20G/A12A20Tinc8 2 valoare constanta de2a lungul unei laturi a poligonului, delimitata de
vFrfurile /*1,A1,z10 i /*2,A2,z20. 4ezultaC
inc< 0 z/1". 0 z/1".
s s
+ +1
/0
O )o'$9$la $#)le#e!tare a al*or$t#ulu$ U89u""er e'te re(ata C! ur#%torul )'eu(oco(O
pentru fiecare pi*el /*,A0 e*ecut"
Scrie(i*el/ *, A, culoareUfond0E
z1uffert*,As T 1E
pentru fiecare poligon ( /fata a unui o'iect0 e*ecuta
Q calculeaz" constantele ct1TAG+ i ct2T1G+, necesare -n calculul coordonatelor z prin interpolareE
Q construiete lista laturilor poligonului, ordonata cresc"tor dup" A
min
laturaE
pentru A
h
de la A
min
2poligon la A
ma*
2poligon e*ecuta
Q determina setul laturilor active /laturile intersectate de linia ATA
h
0E
Q calculeaz" incremental punctele de intersecie /*
i
,A
h
,z
i
0, dintre linia ATA
h
i laturile activeE
Q ordoneaz" cresc"tor dup" a'scisa punctele de intersecieE
pentru fiecare segment delimitat de doua puncte de intersecie consecutive,
/*
iB
, A
h
, z
iB
02/*
iBO1
, A
h
, z
iBO1
0 e*ecuta pentru * de la *
iB
la *
iBO1
e*ecuta
Q calculeaz" incremental z/*, A
h
0E
daca / z _ :21uffert*,A
hs
0 atunci
:21uffert*,A
hs
T zE
Scrie(i*el/ *, A
h
, culoareUpoligonU(0E
Dn cazul -n care se specifica un model de iluminare /vezi tema 30 i se cunosc intensit"ile
luminoase, &, -n vFrfurile reelei poligonale prin care este reprezentat un o'iect, calculul intensit"ii
fiec"rui pi*el se face prin interpolare liniara, odat" cu calculul valorilor z. (rincipalul dezavanta6 al
algoritmului -l constituie calculul intensit"ii luminoase &, pentru pi*eli care sunt apoi o'turai de alte
poligoane mai apropiate de o'servator i care se proceseaz" ulterior. De aceea algoritmul se poate
e*tinde cu o funcie care sa sorteze poligoanele dup" e*tensia pe z, determinFnd astfel o ordine de
procesare a lor. (oligoanele vor fi procesate -ncepFnd cu cel mai apropiat de o'servator.
Dimensiunea 'uffer2ului pentru memorarea valorilor z este determinata de dimensiunea porii de
afiare -n spaiul ecran. Aceasta dimensiune este insa limitata de memoria disponi'ila. Din considerente
de eficienta privind memoria utilizata precum i viteza de e*ecuie, valorile z memorate pot fi -ntregi
reprezentai pe 3 sau 1# 'ii, -n funcie de comple*itatea scenei i de detaliile de reprezentare.
&mplement"rile hard=are ale acestui algoritm folosesc valori z -ntregi reprezentate pe 27232 'ii i o
memorie speciala pentru p"strarea valorilor z. Scena 3D se scaleaz" astfel incit valorile z sa aparin"
acestui domeniu fi*. Daca num"rul de 'ii este mai mic, din cauza erorilor de reprezentare poate apare
efectul de NaliasingN de2a lungul muchiilor comune a doua fete sau pentru o'iecte dep"rtate care se
suprapun.
$3
8iteza de e*ecuie poate fi -m'un"t"ita daca scrierea pi*elilor -n memoria ecran se face prin
acces direct la aceasta i nu prin apel de funcii 1&)S sau din 'i'lioteca grafica /vezi tema 5, adaptorul
89A0.
//03030 Al*or$t#ul A))el
Algoritmul Appel determin" vizi'ilitatea laturilor unor poligoane ce descriu o scen" format" din
poliedre care se pot suprapune dar nu intersecta. Deci, ca restricie, nu sunt admise intersecii ale
laturilor unui poligon cu feele altor poliedre. (oliedrele pot fi conve*e, concave sau cu treceri, deci
corespunz"tor poligoanele sunt conve*e, concave sau cu goluri interioare. Algoritmul consider" ca date
de intrare feele vizi'ile /feele Kdin fa"L0 ale poliedrelor, care se pot determina pe 'aza componentei z
a normalei la faa proiectat". De asemenea este necesar ca aceste fee s" fie orientate -n acelai sens.
.olosind convenia ca normala la o fa" vizi'il" s" fie -ndreptat" spre o'servator, atunci sensul de
parcurgere al conturului este sensul trigonometric. 9olurile interioare unei fee vor fi parcurse -n sens
antitrigonometric.
Se definesc urm"toarele concepteC
2 gradul de nevizi'ilitate al unui punct sau segment indic" num"rul de poligoane ce o'tureaz" /acoper"0
punctul, respectiv segmentul. <n segment este vizi'il doar dac" gradul s"u de nevizi'ilitate este 7.
9radul de nevizi'ilitate al unei laturi ce trece prin spatele unei fee se incrementeaz", respectiv se
decrementeaz" atunci c-nd latura iese din spatele unei fee vizi'ile.
2 linia contur este o latur" comun" unei fee vizi'ile i unei fee nevizi'ile, sau o latur" a unei fee
vizi'ile care nu aparine unui poliedru -nchis. 9radul de nevizi'ilitate al unei laturi se modific" doar
c-nd trece prin spatele unei linii contur. Dn figura 3.13 laturile A1, +D, D. sunt linii contur. (e latura
A1 s2a marcat gradul de nevizi'iliate al fiec"rui segment.
.igura 3.13
Algoritmul calculeaz" gradul de nevizi'ilitate al fiec"rei laturi -n raport cu toate liniile contur
care nu aparin poligonului din care face parte acea latur".
) linie contur trece prin faa unei laturi, modific-ndu2i gradul de nevizi'ilitate doar dac" linia
contur intersecteaz" triunghiul format din v-rfurile laturii i o'servator. Dn figura 3.14 sunt reprezentate
liniile contur care modific" gradul de nevizi'ilitate al laturii A1.
222222222222222222222222222222222222222222
.igura 3.14
222222222222222222222222222222222222222222
(roiecia unei astfel de linii contur pe latur" determin" un punct de intersecie -n care se modific"
gradul de nevizi'ilitate al laturii cu O1 sau 21. Semnul incrementului /O sau 20 este determinat de sensul
produsului vectorial al laturii cu linia contur. De aceea este necesar ca toate poligoanele s" respecte
aceeai convenie de parcurgere a contururilor. Dn figura 3.14 s2a marcat prin sim'olurile /*0, /Q0
vectorul care intr", respectiv care iese din planul determinat de latur" i linia contur. +onsidernd
poligoanele parcurse -n sens trigonometric, atunci gardul de nevizi'ilitate al unei laturi se modific" cu
O1 dac" semnul componentei z a produsului vectorial este pozitivE altfel se modific" cu 21. Dn e*emplul
considerat, proieciile liniilor contur pe latura A1 dau punctele de intersecie 4, ,, S, <, 8 i ?. 9radul
$4
de nevizi'ilitate al segmentelor determinate de aceste puncte pe latura A1 sunt 7, 1, 2, 1, 7, 1, respectiv
7.
Algoritmul -ncepe prin a calcula gradul de nevizi'ilitate al unui v-rf oarecare 8
1
, determinDnd
num"rul de fee vizi'ile care -l o'tureaz". (entru aceasta, se calculeaz" intersecia proiectorului )81 cu
toate poligoanele scenei 3D. (oligoanele care -l o'tureaz" intersecteaz" proiectorul-Dn puncte ce aparin
segmentului )8
1
. .ie B gradul de nevizi'ilitate al v-rfului 8
1
. in-nd cont de coerena laturii, algoritmul
propag" aceast" valoare de2a lungul unei laturi ce pleac" din 8
1
. 9radul de nevizi'ilitate al laturii 8
1
8
2
se incrementeaz" cu O1 sau 21 -n punctul -n care latura trece prin spatele unei linii contur. Segmentele
vizi'ile ale laturii sunt segmentele pentru care gradul de nevizi'ilitate este 7. 9radul de nevizi'ilitate al
ultimului segment al laturii devine valoare iniial" pentru urm"toarea latur". Similar se proceseaz"
fiecare latur", determin-nd segmentele vizi'ile -n raport cu toate feele vizi'ile ale scenei.
9radul de nevizi'ilitate nu se propag" -ntotdeauna corect de2a lungul laturilor contur care pleac"
dintr2un v-rf. De e*emplu -n figura 3.13, prin v-rful 9 trec laturile 9>, 9& i 9J, care au grade de
nevizi'ilitate diferite. Dac" se proceseaz" laturile poligonului J9>( -ncep-nd cu latura J9, atunci
gradul de nevizi'ilitate al v-rfului 9 este 7. Aceast" valoare nu se propag" corect pentru latura 9> /care
este o linie contur i are gradul de nevizi'ilitate 10. 8aloarea iniial" a gradului de nevizi'ilitate a unei
linii contur ce pleac" din v-rful 8 se calculeaz" test-nd vizi'ilitatea ei fa" de poligoanele c"rora
aparine acel v-rf.
/-0 Re(area lu#$!$$ '$ a u#9relor C! $#a*$!$
&maginile sintetizate cu a6utorul calculatorului tre'uie s" fie c-t mai apropiate de acelea care ar fi
percepute de ochiul uman dac" scenele reprezentate -n imagini ar e*ista -n realitate. Deaceea, eliminarea
p"rilor nevizi'ile este doar primul pas -n sinteza imaginilor realiste. <rm"torul pas const" -n redarea
luminii i a um'relor, lu-nd -n considerare sursele de lumin", caracteristicile suprafeelor o'iectelor,
poziia i orientarealor.
Dn acest capitol vom prezenta modelele de iluminare folosite frecvent -n sinteza imaginilor. !le
permit calculul intensit"ii luminii reflectate spre ochiul unui o'servator de diferite puncte ale suprafeei
unui o'iect. Sunt dou" clase de modele de iluminareC modele locale i modele glo'ale. Dn modelele
locale, intensitatea luminii se determin" in-nd cont numai de lumina incident" care provine de la una
sau mai multe surse de lumin", de orientarea i caracteristicele fizice ale suprafeei. Dntr2un model glo'al
se ine cont -n plus de lumina reflectat" i transmis" de celelalte o'iecte ale scenei sintetizate. Dintre
modelele glo'ale, cel mai cunoscut este cel folosit -n metoda raA2tracing, pe care o prezent"m -n
paragraful 5.$. Dn paragrafele 5.2 i 5.3 sunt prezentate modele locale pentru calculul intensit"ii luminii
-ntr2un punct al unei suprafee iar -n 5.4, modelele utilizate -n practic" pentru redarea suprafeelor
iluminate. <nele aspecte legate de modelarea transmisiei luminii sunt referite -n paragraful 5.. 4edarea
-n imagine a um'relor produse de o'iectele dintr2o scen" 3D luminat" de una sau mai multe surse
confer" un grad inalt de realism imaginii. Dn paragraful 5.# sunt prezentate mai multe metode de
generare a um'relor, corelate cu diferii algoritmi de eliminare a p"rilor nevizi'ile -n care iluminarea
este determinat" prin modele locale.
Dn primul paragraf al acestui capitol reamintim pe scurt propriet"ile luminii apoi prezent"m
c-teva dintre modelele folosite pentru reprezentarea culorilor -n sistemele de sintez" a imaginilor.
$
/-0/0 Pro)r$et%2$le lu#$!$$0
;umina este energie electromagnetic". !a reprezint" zona din spectrul electromagnetic cuprins"
-ntre lungimile de und" de 337 i $37 nanometrii. ;imita inferioar" a zonei corespunde culorii violet iar
cea superioar" culorii rou. Dntre cele dou" limite ochiul poate distinge circa 37777 de culori.
Atunci c-nd energia luminoas" cade pe suprafaa unui o'iect, ea poate fi a'sor'it", reflectat" sau
transmis". Deci, lumina perceput" de ochi provine fie direct de la o surs", fie indirect, datorit" refle*iei
i a transmisiei sale de c"tre o'iectele din mediul -ncon6ur"tor.
;umina care conine toate lungimile de und" din spectrul vizi'il -n proporii apro*imativ egale se
numete acromatic". ;umina acromatic" provenit" de la o surs" este perceput" ca al'". ;umina
acromatic" provenit" de la un o'iect este perceput" ca al'", neagr" sau ca o nuan" de gri -n funcie de
propriet"ile fizice ale suprafeei o'iectului. )'iectele care reflect" acromatic mai mult de 37V din
lumina incident" al'" apar ca al'e. +ele care reflect" acromatic mai puin de 3V din lumina incident"
apar ca negre.
;umina care conine mai multe lungimi de und" -n proporii inegale se numete cromatic".
Astfel, dac" predomin" lungimile de und" de la limita superioar" a spectrului vizi'il, lumina perceput"
este roie sau rocat". +uloarea unui o'iect depinde at-t de distri'uia lungimilor de und" -n lumina care
cade pe o'iect c-t i de caracteristicile fizice ale o'iectului. Dac" o'iectul reflect" sau transmite numai o
'and" -ngust" de lungimi de und", celelalte fiind a'sor'ite, o'iectul apare colorat. ;ungimile de und"
din lumina reflectat" sau transmis" determin" culoarea o'iectului. De fapt, energia electromagnetic" nu
are culoare. +uloarea este rezultatul unui proces psiho2fiziologic. Dn particular, este posi'il ca o aceeai
culoare s" nu fie perceput" la fel de doi indivizi.
Definiia psiho2fiziologic" a unei culori cuprindeC
2Juana, care caracterizeaz" culoarea /rou, gal'en, verde, etc0E ea este determinat" de lungimea de und"
dominant" a distri'uiei spectrale a culorii.
2Saturaia sau puritatea, care este o m"sur" a amestecului de al' -ntr2o culoare pur"E aceast" noiune
permite s" se fac" distincie -ntre rou i roz, -ntre al'astru i 'leu, etc. ) culoare pur" are saturaia
177V. ;umina acromatic" are saturaia 7V.
2;uminozitatea sau str"lucirea, care reprezint" intensitatea luminii. ;uminozitatea este o caracteristic" a
unui o'iect emi"tor de lumin" -n timp ce str"lucirea caracterizeaz" un o'iect neemi"tor, care reflect"
lumina.
Dn figura 5.1.a este redat" distri'uia energiei luminii al'e iar -n figura 5.1.' distri'uia energiei
cu o lungime de und" dominant", care este perceput" de ochi ca o culoare. +u c-t diferena !d2!= este
mai mare cu at-t culoarea este mai pur". Dac" != T7 , culoarea are puritatea 177V iar lumina cu un
astfel de spectru este numit" monocromatic". (rin definiie, lumina monocromatic" are un spectru cu o
l"rgime de 'and" de un nanometru.
.igura 5.1.
+ulorile percepute de ochi sunt -n general amestecuri de culori pure. +ea mai cunoscut" dintre
teoriile privind formarea culorilor -n sistemul ochi2creier este aceea conform c"reia -n retina ochiului
$#
uman e*ist" trei tipuri de conuri, fiecare tip fiind sensi'il la una dintre culorile rou, verde i al'astru. Dn
figura 5.2 sunt redate rezultatele o'inute pe cale e*perimental"
.igura 5.2. .igura 5.3.
De e*emplu, la lumina corespunz"toare lungimii de und" de 7 nanometrii, receptorii de
al'astru au o senzitivitate de 7V, cei de verde de circa V iar cei de rou de circa 4V. +ur'ele arat"
c" receptorii de al'astru sunt mult mai puin sensi'ili dec-t cei de rou i de verde. Suma celor trei cur'e
de r"spuns, redat" -n figura 5.3, este numit" cur'a de luminozitate. !a ilustreaz" r"spunsul ochiului la
lumin" de luminozitate constant" atunci c-nd variaz" lungimea de und" dominant"E senzitivitatea
ma*im" corespunde luminii cu lungimea de und" -n 6ur de 7 nm, perceput" ca gal'en2verde. +ulorile
rou, verde i al'astru se numesc culori primare. (rin amestecul lor -n proporii egale se o'ine al'.
Dou" culori care prin amestec produc lumin" al'" se numesc complementare. Amestec-nd dou" culori
primare se o'ine culoarea complementar" celei de a treia. De e*emplu, al'astruOverdeTcian,
rouOverdeTgal'en, rouOal'astruTmagenta. +ulorile rou, verde i al'astru se numesc i primitive
aditive deoarece ele permit formarea de nuane prin adunarea lor -n diferite proporii. Acest mod de
definire a culorilor corespunde echipamentelor emi"toare de lumin" /dispozitive de vizualizare cu
ecran0. +ulorile complementare primitivelor aditive sunt cian, magenta i gal'en. Astfel, al'2rouTcian,
al'2verdeTmagenta, al'2 al'astruTgal'en. !le permit specificarea de nuane prin e*tragerea lor -n
diferite proporii din al'. Deaceea, se numesc primitive e*tractive. Sc"z-ndu2le -n proporii egale din al'
se o'in diferite nuane de gri. (rimitivele e*tractive se folosesc pentru a defini culorile reflectate de un
document imprimat.(igmenii e*isteni -n cernelurile tipografice a'sor' culorile complementare acelora
ale pigmenilor. De e*emplu, pigmentul de culoare magenta a'soar'e din lumina incident"
componentele corespunz"toare luminii verde, iar cel de culoare gal'en, componentele corespunz"toare
luminii al'astre. Deaceea, o suprafa" care conine pigmeni magenta i gal'en va reflecta /sau
transmite0 lumin" roie. Dac" lumina roie este incident" pe o suprafa" de culoare cian suprafaa va fi
v"zut" neagr", deoarece toate componentele luminii incidente au fost e*trase.
/-0-0 Mo(ele (e culoare
!*ist" mai multe modele folosite pentru reprezentarea culorilor -n sistemele de sintez" i de
analiz" a imaginilor. <nele dintre ele sunt orientate c"tre echipamente, adic" se 'azeaz" pe culorile
primare folosite de echipamente pentru redarea culorilorE -n aceast" categorie suntC 491, +%H i H&Y.
Alte modele se 'azeaz" pe propriet"ile psiho2fiziologice ale culorilor. Deaceea se spune c" sunt
orientate c"tre utilizatorE astfel sunt modelele >S8 i >;S.
<n model de culoare specific" un sistem de coordonate 3D i un su'spaiu al culorilor -n
sistemul de coordonate respectiv. .iecare culoare se reprezint" printr2un punct -n su'spaiul culorilor.
Mo(elul R&B ;Re( &ree! Blue=
A fost propus de J,S+ /Jational ,elevision Standards +ommitee0 ca model de reprezentare a
culorilor pentru echipamentele de afiare cu tu' catodic.
Su'spaiul culorilor este cu'ul unitate, definit -n sistemul de coordonate carteziene 3D /figura
5.40. .iecare a*" corespunde unei culori primareC rou, verde i al'astru. ) culoare se specific" prin trei
$$
valori reale cuprinse -ntre 7 i 1, reprezent-nd contri'uiile celor trei culori primare la formarea culorii.
Juanele de gri sunt reprezentate prin punctele diagonalei principale. !le corespund amestecului -n
proporii egale a celor trei culori primare.
.igura 5.4.
Mo(elul CMD ;C7a! Ma*e!ta DelloG=
!ste utilizat pentru specificarea culorilor la dispozitivele de imprimare. .olosete acelai sistem
de coordonate i acelai su'spaiu al culorilor ca i modelul 491 cu deose'irea c" originea corespunde
culorii al', v-rful /1,1,10 culorii negru iar culorile primare sunt cian, magenta i gal'en /figura 5..0. Dn
acest model o culoare se specific" prin trei valori cuprinse -ntre 7 i 1, reprezent-nd proporiile -n care
tre'uie s" fie amestecai cei trei pigmeni ce e*trag componentele luminii al'e. +uloarea negru se o'ine
amestec-nd -n proporii ma*ime culorile primare. Dn general -ns", datorit" imperfeciunilor cernelurilor,
prin amestecul -n proporii ma*ime al celor trei pigmeni nu se o'ine negru. De aceea, -n loc de +%H
se utilizeaz" sistemul +%HPC
P T min/+,%,H0
+ T + 2 P
% T % 2 P
H T H 2 P .igura 5..
+onversia unei culori din modelul 491 -n modelul +%H i invers este foarte simpl". !a poate
fi e*primat" astfelC
W+ % HX T W1 1 1X M W4 9 1X
respectiv
W4 9 1X T W1 1 1X M W+ % HX
Mo(elul DIX
Acest model este o recodificare a modelului 491, sta'ilit" -n 153 de c"tre J,S+, prin care s2a
urm"rit compati'ilizarea transmisiei imaginilor color cu a celor al'2negru.
Su'spaiul culorilor -n acest model este un poliedru conve* raportat la sistemul cartezian 3D,
care se aplic" -n cu'ul 491 prin inversa transform"riiC
1
1
1
]
1
1
1
1
]
1
1
1
1
]
1
2
*
R
=
I
>
312 . 7 23 . 7 211 . 7
322 . 7 2$4 . 7 5# . 7
114 . 7 3$ . 7 225 . 7
(rin specificarea culorilor -n modelul H&Y se evit" o pro'lem" ,8 important"C dou" culori
diferite -n modelul 491 se pot afia la fel pe un ecran al'2negru. (ro'lema este evitat" asigur-ndu2se c"
dou" culori -ntre care ochiul face distincie vor avea valori distincte ale luminozit"ii, reprezentat" prin
$3
componenta H, i deci pe un ecran al'2negru vor fi afiate cu intensit"i diferite. %odelul se 'azeaz" pe
faptul c" sistemul vizual este mai sensi'il la schim'"ri ale luminozit"ii dec-t la schim'"ri ale nuanei
sau ale saturaiei / care sunt reprezentate -n acest model prin componentele & i Y0. Deaceea, semnalului
H i s2a alocat cea mai mare parte a l"rgimii de 'and" disponi'ile. (roporiile culorilor primare -n
sistemul J,S+ au fost determinate astfel inc-t s" se o'in" cur'a standard de luminozitate. Deoarece
informaia de luminozitate este coninut" -n componenta H, televizoarele al'2negru folosesc numai acest
semnal.
Mo(elul HSV ;Hue Saturat$o! Value=
Specificarea culorilor -n modelele 491 i +%H poate fi dificil" pentru utilizatorii unui sistem
grafic. Artitii specific" culorile prin tente, nuane i tonuri. (ornind de la un pigment pur, un artist
adaug" al' pentru a o'ine o tent", negru pentru a o'ine o nuan", al' i negru pentru a o'ine o
tonalitate a culorii. Aceasta corespunde reprezent"rii triunghiulare din figura 5.#.
.igura 5.#.
Aez-nd triunghiurile corespunz"toare culorilor pure -n 6urul unei a*e centrale al'2negru, se
o'ine reprezentarea tri2 dimensional" de forma unui he*acon, redat" -n figura 5.$.
.igura 5.$.
%odelul >S8, creat de Smith WS%&,$3X, folosete noiunile de nuan" /hue0, saturaie
/saturation0 i luminozitate /value0. 1aza he*aconului corespunde culorilor de intensitate ma*im"
/8T10. Juana este definit" prin unghiul de rotaie -n 6urul a*ei verticale, unghiul zero corespunz-nd
culorii rou. +ulorile complementare sunt situate la 137 de grade una fa" de alta pe 'aza he*aconului.
Saturaia este definit" prin distana de la a*a he*aconului la marginile he*aconului, pentru toate valorile
lui 8. !a variaz" de la zero, pe a*", la 1, pe feele laterale ale he*aconului. ) com'inaie de numai dou"
culori primare d" o culoare cu saturaie ma*im", dar un amestec -n care toate cele trei culori primare
sunt diferite de zero nu poate produce o culoare cu saturaia ma*im". +om'inaia /ST7,8T10 corespunde
culorii al' iar prin /ST7, 7_T8_T10 se reprezint" nivelele de gri. (entru ST7 valoarea lui > este
nesemnificativ". +ulorile pure sunt reprezentate prin 8T1 i ST1. >, S, i 8 corespund elementelor din
sistemul de culori al unui arist. Astfel, selectarea pigmentului pur cu care se -ncepe -nseamn" alegerea
lui >. Ad"ugarea de al' -nseamn" micorarea lui S. Ad"ugarea de negru -nseamn" micorarea lui 8. Se
o'in diferite tonuri micorDnd atDt pe 8 cDt i pe S. 1aza he*aconului corespunde suprafeei v"zute
atunci cDnd se privete cu'ul 491 dinspre vDrful /1,1,10 de2a lungul diagonalei principale /figura 5.30.
.igura 5.3.
.iecare plan de 8 constant din spaiul >S8 corespunde vederii unui su'cu' din cu'ul 491. Diagonala
principal" a cu'ului 491 devine a*a principal" -n spaiul >S8. Aceast" interpretare conduce la
urm"torii doi algoritmi de conversie -ntre modelele 491 i >S8C
$5
Mo(elul HLS ;Hue L$*+t!e'' Saturat$o!=
%odelul este utilizat de firma ,eBtroni*. Su'spaiul culorilor are forma unui du'lu he*acon
/figura 5.5.0. +omponentele > i S sunt definite la fel ca -n modelul >S8. Dn acest model culorile
primare cu saturaie ma*im" i complementarele lor sunt reprezentate prin ST1, ;T7.. +onversia 4912
>;S i invers este efectuat" pe 'aza unor algoritmi asem"n"tori acelora de conversie 4912>S8 i
>S82491.
I!ter)olarea $! ')a2$ul culor$lor
!*ist" mai multe metode folosite -n iluminarea scenelor 3D care se 'azeaz" pe interpolarea
culorilor. De e*emplu, calculul intensit"ii -n modelul 9ouraud, calculul ilumin"rii -ntr2un punct al unei
suprafee transparente i altele. 4ezultatul interpol"rii a dou" culori depinde de modelul de culoare -n
care sunt specificate. Astfel, rezultatul interpol"rii -n oricare dintre modelele 491, +%H i H&Y va fi
acelai, deoarece conversiile -ntre aceste modele sunt transform"ri afine. Dn schim' rezultatul interpol"rii
-n >S8 sau -n >;S va fi diferit de acela al interpol"rii -n 491.
.ie dou" culori specificate -n modelul 491, +1T/1,7,70 i +2T/7,1,70. ;e interpol"m cu ponderi
egale -n modelele 491 i >S8C
/a0 -n modelul 491C
+TtQ+2 O /12t0Q+1 unde tT7., se o'ine
+T/7., 7., 70, care convertit" -n >S8 ne d" /#7, 1, 7.0
/'0 in modelul >S8C
+1 se reprezint" -n >S8 prin /7, 1, 10 iar
+2 prin /127, 1, 10
+T 7.Q/7,1,10O 7.Q/127,1,10 T /#7, 1, 10
Deci, culorile o'inute -n cele dou" cazuri sunt diferite.
Alegerea modelului -n care se efectueaz" interpolarea depinde de rezultatul dorit. De e*emplu,
dac" se dorete interpolarea a dou" culori cu o anumit" nuan" /sau saturaie0, menin-ndu2se aceei
nuan" /saturaie0 pentru toate culorile interpolate, se va alege modelul >S8 sau >;S.
/-030 Mo(ele (e re"le>$e a lu#$!$$
+aracteristicile luminii reflectate de suprafaa unui o'iect depind de lungimile de und" coninute
-n lumina incident", direcia i geometria sursei luminoase, de orientarea suprafeei i de propriet"ile
materialului din care este construit" suprafaa. ;umina reflectat" de o suprafa" real" /care nu este
difuzor perfect sau reflector perfect0 este considerat" ca av-nd o component" difuz" i una specular".
!*presia care modeleaz" intensitatea luminii reflectate intr2un punct al unei suprafee este
definit" pentru o suprafaa necolorat" i o lumin" incident" monocromatic", deci caracterizat" printr2o
anumit" lungime de und" . Dn cazul general, lumina reflectat" nu este monocromatic", deaceea pentru
calculul s"u e*presia ar tre'ui s" fie evaluat" continuu pe intregul domeniu al spectrului de modelat. Dn
practic", e*presia se evalueaz" pentru cele trei componente ale modelului de culoare folosit. Aceast"
simplificare, dei nu corespunde realit"ii, este uor de implementat i conduce la rezultate accepta'ile.
37
/-030/0 Re"le>$a ($"u1%
;umina reflectat" difuz de o suprafa" este dispersat" regulat -n toate direciile. Deci, intensitatea
sa este considerat" a fi aceeai, din oricare poziie ar privi o'servatorul. ;egea lui ;am'ert definete
refle*ia luminii provenite de la o surs" punctiform", de c"tre un difuzor perfect. +onform acestei legi,
intensitatea luminii reflectate de un difuzor perfect, -ntr2un punct (, este proporional" cu cosinusul
unghiului dintre direcia luminii incidente i normala la suprafa" -n punctul ( /figura 5.17.0C
&
d
T&
l
Q P
d
Q cos/i0 7 i G2 /5.1.0
unde
&
l
este intensitatea luminii incidente iar
P
d
este coeficientul de difuzie a luminii incidente, 7 B
d
1.
.igura 5.17.
Dac" i este mai mare ca G2, suprafaa nu primete lumin" de la surs" /sursa de lumin" se afl" -n
spatele suprafeei0. +oeficientul de difuzie depinde de materialul din care este construit" suprafaa
o'iectului i de lungimea de und" a luminii incidente. Dn modelele elementare de iluminare el este
considerat constant pentru o suprafa" dat".
)'iectele dintr2o scen" real" primesc nu numai lumina emis" de sursele de lumin" ci i lumina
reflectat" sau transmis" de celelalte o'iecte ale scenei. Dn modelele de iluminare local", lumina reflectat"
sau transmis" de celelalte o'iecte ale scenei este numit" lumin" am'iant" i se reprezint" ca o surs" de
lumin" distri'uit" uniform -n spaiu. Ad"ug-nd termenul de difuzie a luminii am'iante, modelul de
iluminare devineC
&
d
T &
a
Q P
a
O &
l
Q P
d
Q cos/i0 7 i G2 /5.2.0
unde &
a
este intensitatea luminii am'iante iar P
a
/ 7 P
a
10 este coeficientul de difuzie a luminii
am'iante, dependent de material. Atunci c-nd sursa de lumin" punctiform" este suficient de -ndep"rtat"
de o'iectele scenei vizualizate, vectorul ; este acelai -n orice punct. Sursa de lumin" este numit" -n
acest caz direcional". AplicDnd modelul /5.2.0 pentru vizualizarea a dou" suprafee paralele construite
din acelai material, se va o'ine o aceeai intensitate /unghiul dintre ; i normal" este acelai pentru
cele dou" suprafee0. Dac" proieciile suprafeelor se suprapun -n imagine, atunci ele nu se vor distinge.
Aceasta deoarece -n model nu se ine cont de faptul c" intensitatea luminii descrete proporional cu
inversul p"tratului distanei de la sursa de lumin" la o'iect. Deci, o'iectele mai -ndep"rtate de surs" sunt
mai sla' luminate. ) posi'il" corecie a modelului ar putea fiC
&
d
T &
a
Q P
a
O f
at
Q &
l
Q P
d
Q cos/i0 /5.3.0
unde f
at
T 1Gd
2
este o funcie de atenuareE d este distana de la surs" la punctul de pe suprafa" considerat.
+orecia nu satisface cazul -n care sursa este foarte -ndep"rtat"E deasemenea, dac" sursa este la distan"
foarte mic" de scen", intensit"ile o'inute pentru dou" suprafee cu acelai unghi i, -ntre ; i J, vor fi
mult diferite. ) apro*imare mai 'un" este urm"toareaC
31
f
at
T min/1G/c1 O c2Qd O c3Qd
2
0, 10 /5.4.0
unde c1, c2 i c3 sunt trei constante care se asociaz" sursei de lumin". +onstanta c1 se alege astfel -nc-t
numitorul s" nu devin" prea mic atunci c-nd sursa este foarte apropiat". 8aloarea funciei este limitat" la
1 pentru a se asigura atenuarea.
Dn general, lumina incident" nu este monocromatic" iar suprafaa pe care cade poate fi colorat".
Deaceea, pentru calculul luminii reflectate ecuaia /5.3.0 se scrie separat pentru cele trei componente ale
modelului de culoare folosit. De e*emplu, dac" se folosete modelul 491, atunci ecuaia
corespunz"toare componentei N4edN a culorii luminii reflectate esteC
&
d4
T &
a4
QP
a4
O f
at
Q&
l4
QP
d4
Qcos/i0
unde
P
ar
i P
dr
sunt coeficienii de difuzie ai culorii rou, specifici materialului suprafeei.
) alt" e*presie folosit" -n acelai scop W.);!52X esteC
&
d4
T &
a4
QP
a
Q)
d4
O f
at
Q&
l4
QP
d
Q)
d4
Qcos/i0
unde )
d4
este o constant" specific" materialului din care este construit" suprafaa.
(entru a nu restr-nge modelul de iluminare la un anumit model de culoare, .oleA W.);!52X
propune o notaie -n care se asociaz" indicele tuturor termenilor care sunt dependeni de lungimea de
und"C
&
d
T &
a
B
a
Q
)d
O f
at
Q&
l
P
d
Q)
d
cos/i0 /5..0
/-030-0 Re"le>$a ')ecular%
<n reflector perfect, de e*emplu o oglind", reflecta lumina numai -ntr2o singura directie, 4, care
este simetric" cu ; fa" de normala la suprafa" /figura 5.11.0. Deci, numai un o'servator situat e*act pe
directia respectiva va percepe raza reflectat". 2
.igura 5.11.
(entru materialele imperfect reflectante cantitatea de lumina care a6unge la o'servator depinde
de distri'uia spaial" a luminii reflectate specular. ;a suprafetele netede distri'uia este dreapt" i
focalizat"E la suprafetele cu rugozit"i ea este dispersat". Dn general, lumina reflectata specular are
caracteristicile luminii incidente. De e*emplu, suprafaa unui m"r rou iluminat cu o lumin" al'"
intens" produce o lumin" intens" de culoare al'" -ntr2o zon" foarte restr-ns", datorit" refle*iei speculare.
4estul suprafetei m"rului apare ca roie i mult mai sla' luminat", datorit" refle*iei difuze.
1ui2,uong (hong W(>)J$X a dezvoltat un odel de iluminare empiric pentru calculul refle*iei
speculare a reflectorilor imperfecti. !l apro*imeaz" scderea rapid" a intensitatii luminii reflectate atunci
c-nd crete /figura 5.11.0, prin cos/0
n
, unde n este e*ponentul de refle*ie speculara al materialului.
Astfel, -n modelul (hong, intensitatea luminii speculare este definit" astfelC
&
s
T &
l
Q @/i, 0 Q cos/0
n
/5.#.0
32
<nde @/i, 0 este functia de reflectan", i2 unghiul de incidenta iar lungimea de unda a luminii
incidente. 8aloarea lui n se alege -n functie de tipul materialului. .igura 5.12. red" variatia lui cos/0
n
pentru diferite valori ale lui n. 8alorile mari ale lui n corespund distri'utiilor spatiale concentrate,
caracteristice metalelor i altor suprafete stralucitoare, -n timp ce valorile mici dau rezultate dispersate,
caracteristice suprafetelor nemetalice, de e*emplu h-rtia.
.igura 5.12.
Dup" cum rezult" din /5.#0, intensitatea luminii reflectate specular depinde de unghiul de
inciden". Astfel, dac" lumina incident cade perpendicular pe o suprafa", lumina reflectat" specular
poate reprezenta doar un procent din lumina incident". 4estul energiei luminoase este fie a'sor'it" fie
difuzat", proportiile fiind dependente de caracteristicile materialului i de lungimea de und". (entru
materiale nemetalice reflectanta poate fi de numai 4V, -n timp ce la materialele metalice depaete
37V. Dac" unghiul de inciden" este de 57 de grade, -ntreaga lumin" incident" este reflectat"
/reflectanta este de 177V0. Deoarece functia de reflectan" este comple*", -n practic" ea este -nlocuit"
cu o constant" determinat" e*perimental, numit" coeficientul de refle*ie specular" al materialului.
+uloarea componentei speculare din modelul lui (hong nu depinde de propriet"ile materialului.
4efle*ia specular" este afectat" de proprietatile suprafetei -nsei i de caracteristicile luminii incidenteE
-n general, culoarea luminii speculare poate fi diferit" de aceea a luminii difuze. (entru a pune -n
eviden" dependena culorii luminii speculare de lungimea de und" a luminii incidente, -n modelul de
iluminare se -nlocuiete functia @/i, 0 cu produsul P
s
Q)
s
unde P
s
este coeficientul de refle*ie
specular" iar )
s
este culoarea speculara a o'iectului.
+om'in-nd rezultatele, o'inem urm"torul model de iluminare pentru suprafete realeC
&
T&
a
QP
a
Q)
d
O f
at
Q&
l
/P
d
Q)
d
cos/i0OP
s
Q)
s
cos/0
n
0
]tiind c"
cos/i0T; JG/W;X WJX0T;
u
J
u
hi
cos/0T4 8G/W4X W8X0T4
u
8
u
rezult"C
&
T&
a
QP
a
Q)
d
O f
at
Q&
l
WP
d
Q)
d
Q/;
u
J
u
0OP
s
Q)
s
Q/4
u
8
u
0
n
X /5.$.0
Atunci c-nd sursa de lumin" este la infinit, produsul scalar /;
u
J
u
0 este constant pentru un
poligon dat, -n timp ce /4
u
8
u
0 variaz" de la un punct la altul. (entru suprafee cur'e, variaz" at-t /J
u
;
u
0
c-t i /4
u
8
u
0.
Daca scena 3D este luminat" de m surse de lumin", intensitatea luminii reflectate de un punct se
o'ine -nsum-nd contri'uiile celor m surseC
&
T &
a
QP
a
Q)
d
O f
ati
Q&
li
WP
d
Q)
d
Q/;
ui
J
u
0OP
s
Q)
s
Q/4
ui
8
u
0
n
X /5.3.0
1TiTm
+alculul directiei luminii speculare
33
8ectorul 4 este simetricul vectorului ; fata de J. Deci, proiectia lui ;u pe J este egala cu Ju
cos/i0 /figura 5.13.0.
.igura 5.13.
AtunciC
4 T Ju cos/i0 O S
S T Ju cos/i0 2 ;u
DeciC
4 T 2Ju cos/i0 2 ;u T 2Ju /;u Ju0 M ;u /5.50
) alt" formulare a modelului (hong se 'azeaz" Fpe vectorul median, notat cu > -n figura 5.14.
!l face unghiuri egale cu ; i cu 8. Dac" suprafata ar fi orientat" astfel -nc-t normala sa s" ai'" directia
lui >, atunci o'servatorul ar percepe lumina specular" ma*im" /deoarece ar fi pe directia razei reflectate
specular0.
.igura 5.14.
,ermenul care e*prim" refle*ia specular" este -n acest caz /Ju >u0
n
, unde >uT/;uO8u0G
W/;uO8u0X
Atunci c-nd sursa de lumin" i o'servatorul sunt la infinit, utilizarea termenului JuQ>u este
avanta6oas" deoarece >u este constant.
/-040 Re(area 'u)ra"e2elor $lu#$!ate
Dn paragrafele precedente s2au prezentat modele care permit calculul luminii -ntr2un punct al
unei suprafee. %odelele prezentate -n continuare se refer" la modul de calcul al luminii -n toate
punctele unei suprafee.
Suprafaa se presupune a fi compus" din faete poligonale. !a poate fi reprezentarea e*act" a
unui corp poliedral sau reprezentarea apro*imativ" a unei suprafee cur'e.
/-040/0 Mo(elul LAMBERT
(entru fiecare faet" se calculeaz" o singur" intensitate, cu formulaC
&
d
T B Q /J
u
;
u
0 /5.12.0
unde
Ju este vectorul unitate normal la suprafa" iar
;u este versorul direciei sursei de lumin",
B este o constant".
%odelul se 'azeaz" pe urm"toarele presupuneriC
2 sursa de lumin" este la infinit /produsul scalar /Ju Q;u0 este atunci constant pe -ntreaga suprafa" a
poligonului0E
2 2 o'servatorul este la infinit /Ju 8u este constant pe suprafaa
poligonului0E
34
2 poligonul face parte din suprafaa de vizualizat i nu este o apro*imare a unui petic de suprafa"
cur'".
iDac" primele dou" cerine nu sunt satisf"cute, se poate adopta o convenie de calcul al vectorilor ; i
8 pentru un -ntreg poligon. De e*emplu cei doi vectori pot fi calculai -n centrul poligonului.
Dac" ultima cerin" nu este -ndeplinit", intensit"ile calculate pentru faete vecine cu orientare
diferit" vor fi diferite, evideniindu2se apro*imarea suprafeei cur'e prin reeaua de faete poligonale.
Soluia simpl", de a diviza mai fin suprafaa cur'" nu rezolv" pro'lema, deoarece percepia diferenei de
intensitate dintre faetele adiacente este accentuat" de efectul de 'and" %ach /descoperit de %ach -n
13#0. !fectul %ach este cauzat de inhi'iia lateral" a receptorilor din ochi. +u c-t un receptor primete
mai mult" lumin" cu at-t mai mult receptorul va inhi'a r"spunsul receptorilor adiaceni lui. !fectul %ach
se produce atunci c-nd panta cur'ei de intensitate a luminii variaz" 'rusc. Dn acel loc suprafaa pare mai
luminoas" sau mai -ntunecat". Deci, efectul de 'and" %ach m"rete percepia schim'"rii de intensitate
pe laturile faetelor adiacente. (entru afiarea cu efecte de lumin" a suprafeelor cur'e apro*imate prin
reea poligonal" se recomand" modelele 9ouraud i (hong, -n care intensitatea de afiare a unei faete se
determin" in-ndu2se cont de orientarea faetelor vecine.
/-040-0 Mo(elul &OURAUD
Dn modelul 9ouraud W9)<4$1X se calculeaz" o intensitate -n fiecare v-rf al suprafeei de
vizualizat pe 'aza unui model de iluminare local. &ntensit"ile -n toate celelalte puncte ale suprafeei sunt
o'inute prin interpolarea liniar" a intensit"ilor din v-rfuri, pe parcursul gener"rii interiorului
poligonului linie cu linie.
Astfel, procesul de redare a unei suprafee iluminate dup" modelul 9ouraud este alc"tuit din
urm"toarele etapeC
1. Se calculeaz" o normal" -n fiecare v-rf al reelei poligonale. Jormala se poate o'ine direct din
descrierea analitic" a suprafeei /par.$.3.0. (entru cazurile -n care reprezentarea reelei nu conine
normalele -n v-rfuri, 9ouraud sugereaz" apro*imarea normalei -ntr2un v-rf prin media normalelor la
aetele adiacente -n v-rful respectiv.
2. Se calculeaz" o intensitate -n fiecare v-rf al reelei, folosind oricare dintre modelele de iluminare
prezentate -n paragrafele precedente /consider-ndu2se ca normal" la suprafa", normala v-rfului0.
3. Se afieaz" suprafaa calcul-nd intensitatea -ntr2un punct al unui poligonC
/a0 prin interpolarea liniar" a intensit"ilor v-rfurilor, pentru punctele de pe laturiE
/'0 prin interpolare liniar" -ntre intensit"ile de pe laturi, pentru punctele interioare de pe fiecare linie
de haurare /)'servaieC punctele suprafeei unui poligon se calculeaz" ca -n algoritmul :21uffer0.
Dn calculul intensit"ilor se poate folosi o metod" incremental", similar" cu aceea folosit" pentru
o'inerea coordonatei z a fiec"rui punct dintr2un poligon. Astfel, dac" &( este intensitatea punctului de
pe latura 122 i linia ATA
S
O1, se poate deduce, -nlocuind -n e*presia lui &( pe A
S
cu A
S
O1, c"C
&
(
T&
(
O /&
1
2&
2
0G/A
1
2A
2
0T &
(
O c1
unde c1 este un termen constant pentru latura 122, reprezent-nd schim'area de intensitate la o modificare
cu 1 a lui A. Analog se poate deduce c" intensitatea &%, a punctului de coordonate *T*
%
O1, ATA
S
esteC
&
%
T&
%
O /&
Y
2&
(
0G/*
Y
2*
(
0T &
%
O c2
3
%odelul 9ouraud se poate integra foarte uor -n algoritmii de generare a scenelor 3D, de
e*emplu, :21uffer sau scan2line. Astfel, la reprezentarea fiec"rei laturi a unui poligon se adaug"
intensitatea de pornire i constanta c1, separat pentru cele trei componente de culoare.
Dn modelul 9ouraud se opereaz" numai cu componenta difuz" a luminii. %odelul nu permite
calculul luminii reflectate specular -n puncte interioare unui poligon. (ractic, intensit"ile punctelor
interioare nu pot fi mai mari dec-t acelea ale v-rfurilor, prin a c"ror interpolare se o'in. ,otodat",
modelul nu elimin" complet efectul de 'and" %ach. <tilizarea normalelor -n v-rfuri asigur"
continuitatea numeric" a valorilor intensit"ilor la traversarea laturilor poligoanelor adiacente, dar nu i
continuitatea derivatelor. Din aceast" cauz" efectul de 'and" %ach poate fi o'servat -n vecin"tatea
siluetei suprafeei i a zonelor de cur'ur" mare.
/-04030 Mo(elul PHON&
Dn acest model W(>)J$X se calculeaz" prin interpolare normal" -n fiecare punct al suprafeei de
vizualizat. (entru afiarea suprafeei se parcurg urm"toarele etapeC
/10 Se determin" o normal" -n fiecare v-rf al suprafeei, ca i -n modelul 9ouraudE
/20 Se afieaz" suprafaa calcul-nd -n fiecare punct vizi'il mai -nt-i normala apoi intensitatea luminoas"
folosind unul dintre modelele prezentate -n paragraful 5.2. +alculul normalelor prininterpolare este
similar calculului intensit"ilor -n modelul 9ouraud. Astfel, normala -ntr2un punct de pe o latur" se
o'ine prin interpolarea normalelor din e*tremit"ile laturii iar -ntr2 un punct de pe un segment
/orizontal0 interior poligonului prin interpolarea normalelor din e*tremit"ile segmentului.
+omponentele J*, JA, Jz se pot o'ine printr2un calcul incremental dar, pentru folosirea -n calculul
intensit"ii, normala tre'uie s" fie normalizat".
%odelul (hong permite -nglo'area componentei speculare -n calculul intensit"ii tuturor
punctelor suprafeei. +hiar i dac" -n calculul luminii se ine cont numai de componenta difuz",
iluminarea cu modelul (hong conduce la rezultate mai 'une, deoarece intensitatea este calculat" -n
fiecare punct folosind oapro*imare a normalei. (rin aceasta este redus mult efectul de 'and" %ach, dar
volumul de calcule este mult mai mare dec-t -n modelul 9ouraud, tiind c" normalele o'inute prin
interpolare tre'uie s" fie normalizate pentru a fi folosite -n calculul intensit"ii.
%odelul 9ouraud se folosete -n aplicaiile -n care viteza de generare a imaginii este important".
De e*emplu, -n simulatoarele de z'or i -n sistemele de proiectare asistat" de calculator interactive. !l
este programat hard=are la multe dintre staiile grafice moderne.
%odelele 9ouraud i (hong sunt incluse -n standardele 9PS3D i (>&9S.
/-060 Tra!')are!2a
<nele o'iecte ale scenei sintetizate pot fi construite din materiale transparente sau translucide.
,ransmisia luminii prin o'iectele transparente este specular", -n timp ce prin cele translucide este difuz".
Atunci c-nd lumina trece dintr2un mediu -ntr2altul /de e*emplu, din aer -n ap"0, direcia sa se
modific" datorit" refraciei. 4elaia dintre unghiul razei incidente, i, i cel al razei refractate,r, /figura
5.1$.0 este dat" de legea lui SnellC
sin/i0Gsin/r0 T n1Gn2 /5.13.0
unde
3#
n1 i n2 sunt indicii de refracie ai celor dou" medii /materiale0 traversate de lumin". &ndicele de
refracie al unui material este dependent de lungimea de und" a luminii incidente i chiar de
temperatur", dar -n modelele de iluminare el este considerat constant.
.igura 5.1$.
<nele efecte ale refraciei sunt ilustrate -n figura 5.13. )'iectele 3 i 4 sunt opace iar 1 i 2 sunt
transparente, cu acelai indice de refracie, mai mare dec-t al mediului -ncon6ur"tor. Dac" nu se ine
cont de refracie, raza luminoas" a -nt-lnete o'iectul 3, dup" cum indic" linia punctat". Dn realitate,
datorit" refraciei, raza a -nt-lnete o'iectul 4 i deci acesta va fi o'iectul luminat. Deasemenea, nein-nd
cont de refracie, raza ' va -nt-lni o'iectul 4 -n loc de 3.
.igura 5.13.
4efracia produce deasemenea o distorsionare a o'iectelor, asem"n"toare cu aceea produs" de o
proiecie perspectiv". Deci, dac" se dorete o'inerea de imagini realiste tre'uie s" se in" cont de
refracie.
%ulte metode practice de modelare a transparenei ignor" refracia, astfel -nc-t o'iectele vizi'ile
printr2o suprafaa transparent" sunt cele aflate pe direcia razei incidente. %otivul ignor"rii nu este
intotdeauna cel al reducerii volumului de calcule. Sunt multe cazuri -n care nu se urm"rete o'inerea
realismului fotografic -n totalitate. De e*emplu, nein-nd cont de refracie, o'iectele v"zute prin cele
transparente nu sunt derfomate.
Atunci c-nd suprafaa vizi'il" -ntr2un pi*el este transparent", culoarea -n care va fi afiat pi*elul
se poate o'ine com'in-nd culoarea suprafaei vizi'ile cu aceea suprafeei aflat" imediat -n spatele s"u,
folosind urm"toarea formul" de interpolareC
& T /12B
t1
0Q&
1
O B
t1
Q&
1
/5.14.0
unde
coeficientul de transmisie B
t1
m"soar" ransparena suprafeei vizi'ile -n pi*el, 7 B
t1
1. Atunci c-nd B
t1
este egal cu 7, suprafaa vizi'il" este opac" i deci pi*elul va fi afiat -n culoarea sa, &
1
c-nd B
t1
este egal
cu 1, suprafaa vizi'ila este perfect transparenta i nu contri'uie la culoarea pi*elului. +-nd B
t1
T1 i
suprafaa din spatele celei vizi'ile este la r-ndul s"u transparent", metoda de calcul se aplica recursiv,
p-na c-nd se -nt-lnete o suprafata opac" sau fondul.
Apro*imarea liniara din modelul /5.14.0 nu d" rezultate 'une pentru suprafeele cur'e. Aceasta
deoarece -n apropierea laturilor siluetei unei suprafete cur'e /de e*emplu, un vas sau o sticl"0 grosimea
materialului reduce transparena. (entru a reprezenta acest efect, PaA WPAH$5X a propus o apro*imare
neliniar" simpl" pentru calculul coeficientului de transmisie, 'azat" pe componenta Jz a normalei la
suprafa", dup" transformarea perspectiv"C
B
t
T B
tmin
O/B
tma*
2 B
tmin
0/12/12J
z
0m0 /5.1.0
unde
B
tmin
i B
tma*
reprezint" transparena minim"hi cea ma*im" a unui o'iect, Jz este componenta z a
normalei normalizate la suprafa" -n punctul pentru care se calculeaz" B
t
iar m este un e*ponent ce
caracterizeaz" transparenaEvalorile uzuale pentru m sunt 2 i 3.
) alt" metod" de modelare a transparenei trateaz" fiecare suprafaa ca un filtru transparent, care
las" s" treac" -n mod selectiv diferite lungimi de und". +uloarea unui pi*el este dat" de formulaC
&
T &
1
O B
t1
Q)
1
&
2
/5.1#.0
3$
unde
)
t
este culoarea de transparen" a suprafeei 1, vizi'il" -n pi*elul considerat.
%a6oritatea algoritmilor de determinare a vizi'ilit"ii la afiarea scenelor 3D pot fi adaptai cu
uurin" pentru a -nglo'a transparena. Astfel, -n algoritmii 'azai pe list" de priorit"i, poligoanele sunt
-nscrise -n memoria imagine -n ordinea -ndep"rt"rii lor de o'servator /primul- -nscris este cel mai
-ndep"rtat0. &
1
din modelele /5.14.0 i /5.1#.0 corespunde -n acest caz poligonului care se genereaz" la
un moment dat iar &
2
este valoarea e*istent" -n memoria imagine pentru pi*elul considerat. Ad"ugarea
efectului de transparen" -n algoritmul :21uffer este mai dificil" deoarece poligoanele sunt generate -n
ordinea -n care sunt -nt-lnite, nein-ndu2se cont nici de apropierea lor de o'servator i nici de
transparen". Dncorporarea transparenei -n algoritmul :21uffer presupune folosirea mai multor memorii
'uffer i generarea imaginii -n mai multe etape. &maginea final" se o'ine com'in-nd imaginea
determinat" de poligoanele opace din scen" cu imaginea determinat" de poligoanele transparente.
/-0?0 U#9r$rea
Atunci c-nd un o'servator privete o scen" 3D iluminat" de o surs" de lumin" dintr2o poziie
diferit" de aceea a sursei de lumin", va vedea um'rele produse de o'iectele scenei. <m'rele au o
contri'uie -nsemnat" la realismul imaginii, -m'un"t"ind percepia profunzimii.
) zon" de um'r" se compune -n realitate din dou" p"riC um'ra pur" i penum'ra. <m'ra pur"
este dens", neagr" i are un contur 'ine delimitat. (enum'ra -ncon6oar" um'ra pur". :ona aflat" -n
penum'r" primete o parte din lumin" de la surs". Sursele punctiforme considerate -n ma6oritatea
modelelor de iluminare produc numai um'r" pur" /figura 5.15.0. Sursele reale, cu o dimensiune finit",
produc i penum'r".
.igura 5.15.
Dn general, datorit" volumului mare de calcule presupus, se consider" numai um'ra pur".
8olumul de calcule depinde i depoziia sursei de lumin". Dac" sursa este la infinit calculele sunt mai
simple. Dn cazul unei surse situate la distan" finit" dar -n afara c-mpului vizual este necesar" o proiecie
perspectiv" din poziia sursei. +azul cel mai dificil este acela -n care sursa este situat" -n c-mpul vizual.
(ro'lema determin"rii um'relor este similar" aceleia de determinare a vizi'ilit"ii o'iectelorC
suprafeele care nu sunt vizi'ile din poziia sursei de lumin" sunt -n um'r". Deaceea, crearea unei
imagini cu um're presupune rezolvarea de dou" ori a pro'lemei suprafeelor nevizi'ileC o dat" privind
scena din poziia fiec"rei surse de lumin", a doua oar" privind2o din poziia o'servatorului.
Sunt dou" tipuri de um'reC um're proprii i um're purtate. <m'rele proprii sunt generate de
o'iectul -nsui, care -mpiedic" lumina s" a6ung" la unele dintre feele sale /figura 5.27.0. .eele um'rite
de um'ra proprie sunt fee auto2o'turate atunci c-nd scena este v"zut" din poziia sursei de lumin".
.igura 5.27.
<m'ra purtat" este um'ra pe care un o'iect o produce pe alte p"ri ale scenei, la care lumina nu
a6unge din cauza o'iectului. <m'rele purtate se pot determina proiect-nd -n scen", din poziia sursei,
toate suprafeele neum'rite de um'ra proprie. 4ezult" un set de poligoane de um'r" care se adaug" la
reprezentarea scenei. !le se folosesc ca poligoane2detaliu la redarea scenei 3D. Jum"rul de poligoane
de um'r" este mai mic dac" -n loc s" se proiecteze fiecare fa" luminat" de surs" se proiecteaz" silueta
fiec"rui o'iect /v"zut" din poziia sursei de lumin"0. Dup" ad"ugarea poligoanelor de um'r" la
33
reprezentarea scenei, se genereaz" imaginea v"zut" din poziia o'servatorului. (ot fi generate mai multe
vederi f"r" a recalcula um'rele, deoarece um'rele depind numai de poziia sursei /surselor0 de lumin".
<n punct al unei suprafee care este vizi'il din poziia o'servatorului dar nu i din poziia unei surse se
afieaz" cu intensitatea de um'rire sau cu o intensitate care rezult" din iluminarea sa de c"tre alte surse
e*istente -n scen". %odelul de calcul al luminii -ntr2un punct p al unei suprafee se poate modifica astfelC
&
T&
a
QB
a
Q)
d
O Si
fati
Q&
l
WBdQ)
d
Q /;
ui
J
u
0OB
s
Q)
s
Q/4
ui
8
u
0
n
/5.1$.0
1_Ti_Tm
unde
SiT 7 daca lumina de la sursa i nu a6unge -n punctul pE
T 1 daca lumina de la sursa i a6unge -n punctul p.
+alculul um'relor dintr2o scena poate fi integrat -ntr2un algoritm de determinare a p-rilor
nevizi'ile sau poate fi efectuat -ntr2o etap" separat" care precede generarea imaginii.
Dn continuare prezent"m c-iva dintre algoritmii de um'rire folosii -n prezent.
/-0?0/0 &e!erarea u#9relor C!tr8u! al*or$t# 'ca!8l$!e
Dntroducerea um'relor -ntr2un algoritm de eliminare a p"rilor nevizi'ile a fost propus" pentru
prima dat" de Appel WA((!#3X. Soluaia lui Appel privind modificarea unui algoritm scan2line pentru
includerea um'ririi a fost -m'un"t"it" de 1ouBnight i PelleA W1)<P$7X, WP!;;$7X. +oncret,
generarea unei imagini cu um're printr2un algoritm scan2line se efectueaz -n dou" etapeC
/10 Se determin" um'rele proprii i apoi um'rele proiectate de fiecare poligon -n scen". (entru
fiecare poligon se construiete o structur" de date suplimentar" care indic" poligoanele de um'r" ce pot
um'ri poligonul. !ficiena acestei etape este foarte important", deoarece -ntr2o scen" cu n poligoane
e*ista potential n/n210 um're purtate. ) soluie inteligent" este oferita de 1ouBnight i PelleA
W1)<P$7X. !i proiecteaz" toate poligoanele scenei pe o sfer" care "ncon6oar" sursa de lumina, folosind
ca centru de proiecie pozitia sursei. (oligoanele care interacioneaz" -n producerea um'relor sunt acelea
ale c"ror proiecii pe suprafaa sferei se suprapun. Dn continuare se lucreaz" numai cu acestea,
calcul-ndu2se proiecia fiecarui poligon din poziia sursei -n planul fiecaruia dintre poligoanele cu care el
interacioneaza -n producerea um'relor.
/20 Se e*ecut" algoritmul scan2line, modificat astfelC
2 Se determin" segmentele vizi'ile pe o linie a imaginiiE
2 (entru fiecare segment vizi'il se determin" daca poligonul (S, din care face parte este um'rit /de
c"tre unul sau mai multe poligoane de um'r"0. Dac" poligonul (S nu este um'rit, segmentul este afiat
normal. Altfel, sunt posi'ile urmatoarele cazuriC
/a0 <nul sau mai multe poligoane de um'r" acoper" parial poligonul (S dar nu i segmentul vizi'ilE
segmentul este afiat normal.
/'0 Segmentul vizi'il este acoperit in intregime de unul au mai multe poligoane de um'r"E se
calculeaz" intensitatea segmentului vizi'il in functie de aceea a poligoanelor de um'r".
/c0 Segmentul vizi'il este acoperit partial de unul sau mai multe poligoane de um'raE se divizeaz"
segmentul vizi'il intersect-ndu2l cu fiecare poligon de um'r" i se aplic" algoritmul recursiv pentru
fiecare segment rezultat din divizare pana c-nd este satisfacut" una dintre condiiile /a0 sau /'0.
Dn mediul real, intensitatea um'rei depinde de intensitatea sursei luminoase i de distana de la planul
care determin" um'ra la cel um'rit. Aceasta deoarece zona um'rit" primete lumina am'iant" iar sursa
de lumina are dimensiuni finite. Dn modelele de iluminare, pentru simplitate, se ine cont fie numai de
35
lumina am'iant" /modelul 5.1$.0, fie i de intensitatea sursei luminoase, caz -n care intensitatea um'rei
este proporional" cu intensitatea sursei.
/-0?0-0 Meto(a At+erto!8Le$ler
%etoda a fost dezvoltat" de Atherton, @eiler i 9reen'erg WA,>!$3X. 9enerarea imaginii unei
scene are loc prelucr-nd de doua ori descrierea scenei pe 'aza aceluiai algoritmC mai -nt-i privind scena
din pozitia sursei de lumina i apoi din pozitia o'servatorului.
Dn prima etap" se determin" suprafeele care sunt vizi'ile din poziia sursei aplic-ndu2se
algoritmul @eiler2Atherton /par. 30. (entru aceasta se aplic" scenei o transformare de vizualizare cu
centrul vederii -n poziia sursei. 4ezult" lista de poligoane, (, asupra carora se aplic" algoritmul @eiler2
Atherton. 4ezultatul algoritmului este o lista" de poligoane, (;, /complete sau o'inute prin decupare0,
carora li se asociaz" identitatea poligoanelor 3D din care provin. Acestea sunt poligoanele luminate.
,oate o'iectele scenei tre'uie sa fie incluse -n volumul vizual al sursei. Dac" aceast" conditie nu este
satisfacut" /sursa de lumina este -n interiorul scenei0, se construiesc mai multe volume vizuale cu v-rful
-n pozitia surseiE metoda este numit" NsectorizareN.
At-t poligoanelor din lista ( c-t i celor din lista (; li se aplic" transformarea invers", o'in-ndu2
se reprezent"rile lor -n sistemul de coordonate -n care este descris" scena. +ele dou" liste se com'in",
rezultatul fiind o lista ;8, careia i se aplic" transformarea de vizualizare cu centrul vizual -n poziia
o'servatorului. (oligoanele din ;8 care provin din lista (; sunt marcate ca poligoane2detaliu
/par.5.4.4.0. (entru determinarea suprafeelor vizi'ile se aplic" tot algoritmul @eiler2Atherton
/negli6-ndu2se poligoanele marcate ca poligoane2detaliu0. 4ezult" o list" de poligoane, ;&, din care este
compus" imaginea. ;a generarea poligoanelor din aceast" list" se folosesc poligoanele2 detaliu. Astfel,
p"rile din suprafeele vizi'ile acoperite de poligoane2detaliu sunt generate ca luminate, restul ca
um'rite. Dn calculul um'relor pot fi incluse mai multe surse de lumin". ;ista ;8 se o'ine prin
com'inarea rezultatelor vizualiz"rii scenei din poziia fiecarei surse de lumin".
/-0?030 Volu#e (e u#9r%
%etoda la care ne referim -n continuare a fost descris" de +ro= W+4)@$$X. Sursa de lumin"
este considerat" punctiform" iar o'iectele ca av-nd faete poligonale. +u toate c" este una dintre cele mai
practice metode de generare a um'relor, ea prezint" dezavanta6ul de a nu putea fi e*tins" -n mod natural
pentru alte clase de o'iecte, de e*emplu suprafee parametrice.
<n volum de um'r" este definit de o surs" de lumin" i un poligon luminat /vizi'il din poziia
sursei de lumin"0 /figura 5.210, pe care2l vom numi poligonul generator. .iecare fa" lateral" a
volumului este numit" poligon de um'r". !a este determinat" de o latur" a poligonului generator i de
cele dou" drepte care pleac" din sursa de lumin", fiecare trec-nd printr2un v-rf al laturii. Jormalele la
fetele laterale puncteaza -nspre e*teriorul volumului. 8olumul infinit determinat de o surs" i un poligon
generator este delimitat de o fa" care reprezint" poligonul generator scalat. Aceast" fa" este situat" la o
distan" fa" de sursa dincolo de care intensitatea luminii sursei este negli6a'il", deci orice punct aflat
dincolo de aceast" limit" este um'rit. 8olumul de um'r" poate fi decupat la limitele volumului vizual.
.igura 5.21.
(oligoanele de um'r" se folosesc pentru determinarea um'ririi produse de poligonul generator -n
scen". Jot"m cu (<8 poligoanele de um'r" care sunt vizi'ile din poziia o'servatorului /A i 1 -n
57
figura 5.21.0 i cu (<J poligoanele de um'r" care nu sunt vizi'ile din poziia o'servatorului /de
e*emplu, poligonul +0. .ie un punct ( al unui o'iect i 8( vectorul din poziia o'servatorului /80 -n
punctul respectiv. Atunci, punctul ( este um'rit dac" num"rul de poligoane de tip (<8 intersectate de
vectorul 8( este mai mare dec-t num"rul de poligoane de tip (<J intersectate de vector. Acesta este
singurul caz, atunci c-nd punctul 8 nu este -n um'r". Dn general, pentru a determina dac" un punct este
-n um'r" se poate folosi un contor -n care iniial se memoreaz" num"rul de volume de um'r" care conin
poziia o'servatorului. Se asociaz" poligoanelor de tip (<8 valoarea O1 iar celor de tip (<J valoarea
21. Atunci c-nd vectorul 8( traverseaz" un poligon de um'r" se adun" la contor valoarea asociat"
poligonului. (unctul ( este um'rit dac" valoarea contorului este pozitiv" -n (.
8olumul de calcul presupus de acest algoritm poate fi redus dac" -n loc s" se calculeze volumul
de um'r" pentru fiecare poligon vizi'il din poziia sursei se calculeaz" un singur volum de um'r" pentru
o suprafa" poligonal". Dn acest scop, se determin" poligoanele de um'r" numai pentru laturile care fac
parte din silueta suprafeei, vazut" din poziia sursei. Silueta unei suprafete, corespunzatoare unui punct
de o'servare, este un set conectat de laturi care apartin poligoanelor vizi'ile din punctul de o'servare.
) latur" de silueta este fie o latur" de margine a unei suprafee deschise, fie o latur" care separa un
poligon vizi'il de unul nevizi'il. (entru determinarea laturilor de siluet" este necesar s" se foloseasc" o
structur" de date care reflect" adiacenta poligoanelor. +unosc-ndu2se poligonul adiacent pe fiecare latur"
a fiecarui poligon vizi'il din poziia o'servatorului se pot determina rapid laturile de siluet".
/-0?040 Deter#$!area u#9relor C! al*or$t#ul U8Bu""er
@illiams W@&;;$3X a propus o metod" de generare a um'relor 'azat" pe e*ecuia de dou" ori a
algoritmului :21uffer. Astfel, -n prima etap" se construiete 'uffer2ul : al imaginii v"zute din poziia
sursei. 8om nota acest 'uffer cu :S. Dn etapa a doua se construiete imaginea vazut" din poziia
o'servatorului, astfelC
Pe!tru fiecare poligon al scenei
Pe!tru fiecare punct /*,A,z0 al unui poligon
Dac% z _ :21uffer W*X WjX atu!c$
GQpunctul este vizi'il -n pi*elul /*,A0 QG
/a0 :21uffer W* jXT z
/'0 Se calculeaz" punctul /*,A,z0 corespunz"tor
punctului /*,A,z0 -n vederea o'inut" din poziia
surseiE
Dac% :SW*_ z atu!c$
punctul /*,A,z0 este -n um'r" i pi*elul /*,A0 se
afieaz" -n intensitatea corespunz"toare um'rei
alt"el
pi*elul /*,A0 se afieaz" luminat
Dn cazul mai multor surse de lumin" se utilizeaz" c-te un 'uffer :S pentru fiecare surs".
(lec-nd de la o'servaia c" informaia de um'rire este calculat" i pentru punctele care nu sunt
vizi'ile din poziia o'servatorului, @illiams a sugerat o variant" -n care ad"ugarea um'relor are loc
printr2o postprocesare a imaginii o'inute e*ecut-nd algoritmului :21uffer. Astfel, -n prima etap" se
e*ecut" algoritmul :21uffer pentru scena v"zut" din poziia o'servatorului, o'in-ndu2se imaginea f"r"
um're i 'uffer2ul :. &ntensitatea fiec"rui pi*el este calculat" folosind un model de iluminare local.
Dn etapa a doua se e*ecut" urm"torul algoritmC
Pe!tru * de la 7 la *ma*
51
Pe!tru A de la 7 la Ama*
Se calculeaz" punctul /*,A,z0, corespunz"tor
punctului /*,A,:W*X WAX0 -n vederea o'inut" din poziia
surseiE
Se determin" coordonata :S a punctului v"zut din poziia
sursei -n pi*elul /*,A0E
Dac% :S _ z atu!c$
Se micoreaz" intensitatea pi*elului /*,A0E
+u toate c" este mai eficient", aceast" variant" conduce la rezultate mai sla'e dec-t varianta
anterioar". Astfel, imaginea determinat" -n prima etap" poate conine zone cu refle*ii speculare. Dac"
un punct dintr2o astfel de zon" este um'rit, intensitatea sa va fi micorat", dar prin aceasta refle*iile
speculare nu dispar din imagine. Dn realitate, un o'iect care nu primete lumin" de la o surs" nu poate
avea refle*ii speculare. ,otodat", coordonata z care se o'ine prin transformarea valorii din 'uferr2ul :
este mai puin e*act" dec-t -n prima variant", datorit" preciziei mai sc"zute a reprezent"rii valorilor din
'uffer /-n comparaie cu precizia reprezent"rii coordonatelor din spaiul o'iect0.
/30 Su)ra"e2e
/30/0 Su)ra"e2e (e rota2$e
S"era
Sfera este un corp de rotaie care poate fi considerat o suprafaa 3D -nchis" sau un poliedru
conve*. +a suprafaa 3D poate fi afiata prin doua familii de cur'e /meridiane i paralele0, iar ca
poliedru, prin fete poligonale plane /peticele0. Dn cel de2al doilea caz, se considera peticelele ca fiind
patrulatere plane /cele patru vFrfuri ale patrulaterului se considera situate -n acelai plan, cu o precizie
dat"0.
Afiarea sferei ca poliedru delimitat de fete poligonale plane implica determinarea fetelor
vizi'ile. %etoda cea mai simpla este d'acBface cullingd, care permite determinarea fetelor auto2o'turate
ale unui poliedru, adic" a acelor fete o'turate de alte fete ale poliedrului. .etele auto2o'turate sunt fetele
care nu sunt orientate spre o'servator. Aceasta metoda se poate aplica poliedrelor conve*e. 8izi'ilitatea
fiec"rei fete se determina pe 'aza unghiului dintre normala la fa" i vectorul orientat de la fa" spre
o'servator /direcie de proiecie, -n cazul proieciei paralele0. Jormala la o fa" se calculeaz" ca produs
vectorial al doua laturi adiacente intr2un vFrf, astfel incit sa fie orientata spre e*teriorul poliedrului.
(entru aceasta, se considera orientarea trigonometrica a conturului fiec"rei fee.
.ie J normala la o fa" calculata intr2un vFrf al sau i 8 vectorul din acelai vFrf spre o'servator.
(rodusul scalar 8QJ se definete ca fiindC
z z . . 1 1
3? < 3? < 3? < /@@0 3 ? 3 < <3? + + cos
Daca 8QJ`7 atunci fata este vizi'ilaE altfel nu e vizi'ila i deci nu se afieaz".
(entru afiarea unei sfere tre'uie sa se calculeze un set de puncte de pe suprafaa sa. Dn acest
scop se folosesc ecuaiile parametrice. Sfera se poate o'ine prin rotaia cu 2Q(& a unui semicerc -n 6urul
unei a*e care trece prin capetele sale.
.ie semicercul definit de ecuaiile parametriceC
7
2 2 sin
cos
z/t0
A6 t 6 /t0 -A r3 ./t0
/t0 r3 1/t0
< <
52
(rin rotaia sa -n 6urul a*ei )H cu 2Q se o'ine sfera definita de urm"toarea ecuaie parametricaC
3A u
A6 t -AA
/u0 -1/t03 /u0 ./t0 1/t03 S/t"u0
2 7
2 2
sin cos
< <
< <
Torul
,orul este un corp care se poate o'ine prin rotaia unui cerc -n 6urul unei a*e situate -n acelai plan cu
cercul, care nu intersecteaz" suprafaa cercului. +onsiderat ca poliedru reprezentat prin fee poligonale
plane nu mai poate fi afiat prin metoda d'acBface cullingd, deoarece este un poliedru concav. (entru
afiare cu eliminarea p"rilor auto2o'turate se va folosi algoritmul de sortare -n adFncime /algoritmul
pictorului0. (eticelele sunt sortate dup" coordonata z
min
, iar afiarea se face -n ordinea de la cel mai
-ndep"rtat de o'servator la cel mai apropiat.
(entru afiarea prin peticele a torului se considera proiectia ortografica.
/30-0 Su)ra"e2e (e "or#a l$9era
Su)ra"e2e Be1$er
) suprafaa 1ezier poate fi descrisa printr2o funcie 'iparametric" cu'ica. <n punct al suprafeei
este definit -n spaiul parametric /u,v0 prinC
( ) ( ) ( ) - 2 u 2 & - u &
B i
i B
iB 3 , 3 ,
3
7
3
7
Q Q ,
7 _T u, v _T 1
unde ( este matricea punctelor de control,
%1 este matricea de 'aza 1ezier,
,
_
3 3
3 2 2
2 2 1 1
3 7
( 4
2 G 0 ( /( 4
2 G 0 4 2 G 0 ( //( 4
Y 4
+
+ +
unde
,
_
3 1 .. 3 3 .. 3 3 .. 3 1
7 .... 4 1 .. 4 2 .. 4 1
7 .... 7 ..... 2 1 .. 2 1
7 .... 7 ..... 7 ..... 1 ..
1
;
54
,
_
, unde
'$!
T
2
'$!
, aici
/ ,$
-
coeficienii de refracie a mediilor,
unghiul incident,