cresterea realismului imaginilor - cs.ubbcluj.roper/cr. re. im. p42-62.pdf · cresterea realismului...

Download Cresterea Realismului Imaginilor - cs.ubbcluj.roper/Cr. Re. Im. p42-62.pdf · Cresterea Realismului Imaginilor 42 3.6.4 Stereografia În ultimii ani au apărut în librării albume

If you can't read please download the document

Upload: buique

Post on 06-Feb-2018

220 views

Category:

Documents


3 download

TRANSCRIPT

  • Cresterea Realismului Imaginilor

    42

    3.6.4 Stereografia

    n ultimii ani au aprut n librrii albume cu imagini n relief, numite stereograme. Privite normal (natural ca orice imagine) acestea nu prezint nici un interes pentru c de cele mai multe ori imaginea pare fr sens ca i un model aleator. Uneori se poate observa o anumit repetare pe orizontal a unor modele (dac acestea sunt uor de recunoscut). n albumele comercializate se explic modul n care trebuie s privim aceste imagini ciudate pentru a obine imaginea stereo spaial dorit. Imaginea format n spatele planului paginii va fi rezultatul celor dou imagini percepute de fiecare ochi i compuse n creier. Uurina vizualizrii unei astfel de imagini depinde de calitatea fiecrui individ de a percepe imagini stereo. n aceste albume nu sunt ns precizate tehnicile de realizare a imaginilor prezentate ci doar modul de utilizare a acestora. n acest paragraf va fi prezentat o modelare a acestor stereograme precum i tehnica realizrii lor direct pe ecranul unui calculator. Cu ajutorul unui astfel de program putem uor s construim astfel de imagini ce reprezint diverse corpuri sau suprafee. Pentru matematicieni de exemplu, o suprafa dat sub forma z=f(x,y), se poate vizualiza i studia ca i cum ar fi real, n spaiul natural tridimensional. n grafica pe calculator, principalul obiectiv este creterea realismului imaginii. Att pe hrtie ct i pe ecran, imaginea real tridimensional se reprezint prin proiecie n planul de desenare, ceea ce face s se piard calitatea spaial a imaginii. Percepia natural uman de adncime pentru majoritatea oamenilor se bazeaz pe combinarea a dou imagini diferite vzute de fiecare ochi. ntr-o fotografie este reprezentat o singur imagine "vzut" de obiectiv, ceea ce nseamn c efectul stereografic se pierde. Se cunoate c n domeniul militar (de exemplu) se utilizeaz echipamente de lupt care suprapun imagini diferite (acelai obiect vzut din dou puncte diferite) i care ofer o imagine stereo tridimensional aa cum este vzut ea n realitate sau chiar mrete capacitatea uman de percepie n

  • Grafica 3D+

    43

    adncime prin mrirea ecartului pupilar (pentru aprecierea mai bun a distanelor). Cea mai spectaculoas realizare n acest domeniu este holografia care a ptruns deja i n informatic. Din pcate ns este o tehnic costisitoare pe care nu ne-o putem permite la nivelul fiecrui utilizator. Aceast direcie de cercetare prin care s putem vedea imagini spaiale (cu adncimea real) a avut rezultate (bazate pe diferite tehnici) n geometrie (prin anaglife), geografie, cinematografie, etc.

    3.6.4.1 Stereograme Existe numeroase metode de a vedea un corp n spaiu, aa cum l vedem n realitate. Stereogramele permit acest lucru fr a fi nevoie de alte instrumente speciale, doar de o anumit ndemnare n a vedea aceste obiecte.

    O metod asemntoare cu cea pe care o vom prezenta, i la care ne vom referi n cele ce urmeaz poate fi uor aplicat, deoarece necesit pentru vizualizare doar o pereche de ochelari simpli care au lentilele colorate diferit. Vederea spaial se bazeaz pe faptul c fiecare ochi vede acelai corp, dar din alt unghi, adic rotit. Evident c pe ecran va trebui s desenm simultan dou imagini (pentru fiecare ochi) iar apoi s le distingem (fiecare ochi s vad imaginea dedicat lui). n unele cri de geometrie n spaiu (care conin i ochelarii acetia simplii) este aplicat aceast tehnic, efectul fiind spectaculos. Pcat c aceste corpuri nu se mic! Dar pe ecran acest lucru este posibil, mai mult micarea este cea dorit de ctre utilizator.

    Stereogramele au (cu totul) alt principiu de funcionare (vom vedea diferena de construcie a lor) i n plus nu mai necesit nici aceti ochelari, doar ochii umani i o instruire a celui care dorete s vad o stereogram (descris n [[19,22,25]). Exist cri cu astfel de imagini (realizate prin puncte aleatoare sau un anumit model care se repet), unde este explicat metoda de a putea vedea obiectul n relief, ca i n realitate, avnd i a treia dimensiune (adncimea).

  • Cresterea Realismului Imaginilor

    44

    Att pe hrtie ct i pe ecran sunt desenate obiectele tridimensionale dup ce acestea au suferit o (transformare de) proiecie ntr-un plan real (bidimensional), apoi o nou transformare prin care imaginea plan este ncadrat ntr-o fereastr a ecranului sau hrtiei. Imaginea realizat pe ecran nu o mai vedem n spaiu (ea fiind plan) ci doar ne nchipuim cum arta obiectul tridimensional iniial (vezi [[63]). De multe ori aceeai imagine plan ne conduce la interpretri greite (iluzii optice) datorit faptului c transformarea invers nu este unic. n continuare ne om referi la reprezentrile pe ecran, deoarece aceste obiecte pot fi rotite n jurul axelor de coordonate cu ajutorul tastaturii, ceea ce sporete i mai mult realitatea imaginii obinute (vezi [[3,31,33,39]). Vom vedea n cele ce urmeaz de ce am preferat proiecia perspectiv (i nu cea paralel), nu numai pentru faptul c este cea real i ajut la creterea realismului imaginilor. Desigur c dac renunm la animaie, imaginile construite (stereogramele) pot fi tiprite i vizualizate spaial, dar static.

    3.6.4.2 Vizualizarea unei stereograme Existe numeroase metode de a vedea un corp n spaiu, aa cum l vedem n realitate. Stereogramele permit acest lucru fr a fi nevoie de alte instrumente speciale, doar de o anumit ndemnare n a vedea aceste obiecte. Practic, trebuie privit n spatele ecranului (la o anumit distan), fiecare ochi vznd cte dou piramide (vezi Figura 34).

    Figura 34 Exemplu de stereogram

    x

    z

    y

  • Grafica 3D+

    45

    n momentul n care dou dintre cele patru piramide se suprapun (se vor observa doar trei) cea din mijloc va fi vzut n spaiu. Cele dou obiecte reprezentate nu vor fi identice! Dac ar fi, atunci se va vedea mai bine (mai clar, mai curat) obiectul din mijloc (piramida din exemplul nostru) dar nu n spaiu. Aceast imagine va fi tot plan, ca o fotografie, n care ne nchipuim doar adncimea dar nu o vedem n spaiu, ca n realitate. Pentru a o vedea n relief, trebuie ca cele dou imagini s fie diferite, aa cum se ntmpl n mod natural fiecare ochi vede aceai imagine dar din alt unghi, ceea ce ne permite s simim adncimea (a treia dimensiune). Dac al doilea obiect (piramida din dreapta) ar fi obinut prin rotirea cu un unghi a primului obiect n jurul axei Oy (presupunem c observatorul se afl pe axa Oz, ax care va exprima adncimea) atunci nu se va obine o stereogram (deci nu poate fi vzut prin metoda prezentat mai sus). Dac am putea s vedem fiecare imagine (obiect) cu ochiul corespunztor, atunci am vedea obiectul reprezentat n spaiu. O metod simpl care poate realiza acest lucru, utilizeaz ochelari colorai diferit pentru fiecare ochi, ceea ce permite filtrarea imaginii dorite. Pentru aceasta cele dou obiecte vor fi colorate diferit n cele dou culori alese pentru lentile (de exemplu o piramid va fi colorat n rou, iar cealalt cu albastru, n acest fel cu ochiul rou se va vedea piramida roie, iar cu ochiul albastru piramida albastr). Desigur c aceast metod are cel puin dou inconveniente i anume c trebuie s ne confecionm aceti ochelari iar imaginile nu pot fi color (ca cele din figura 1 reprezentate pe ecran). Chiar i pentru aceast metod este necesar o anumit dexteritate a celui care privete obiectul, aceast calitate fiind diferit de la un individ la altul. Oricum merit ncercat pentru c efectul este impresionant. Metoda pe care o vom prezenta n continuare nltur cele dou inconveniente (minore) prezentate anterior, deci imaginile pot fi color i nu mai trebuie dect puin perseveren pentru a cpta o ndemnare pentru a putea privi aceste stereograme. Exist persoane care au aceast calitate bine dezvoltat, reuind s vad n spaiu foarte uor i repede, dar din pcate i

  • Cresterea Realismului Imaginilor

    46

    persoane care nu reuesc acest lucru sau foarte greu (cu efort mare, fiind obositor mai ales pentru ochi). Principiul de vizualizare a unei stereograme este urmtorul: cu ct distana p dintre doi pixeli pereche este mai mic (vezi figura 2) cu att punctul vzut n spaiu (n adncime) este mai apropiat de ecran (distana d). Dac dorim ca acest punct s fie mai ndeprtat de observator (deci i de ecran, va trebui s ndeprtm puncele care l formeaz (s mrim distana p dintre cele dou puncte), vezi [[3,19,22]. Se poate deduce uor (vezi Figura 35) c :

    d(p)=e*p/(g-p)

    Practic, n construirea unei stereograme ne intereseaz funcia invers, deci unde s punem pe ecran un pixel pereche (la ce distan, adic distana p) pentru a realiza o adncime dorit d. Formula invers este :

    p(d)=g*d/(d+e)

    Dac am considera figura pereche identic, la o dista p0 atunci figura compus va fi ntr-un plan situat la distana d0 = d(p0) =e*p0/(g-p0) fa de ecran. Noi dorim ns ca unele puncte s la apropiem, iar altele s le ndeprtm. Dac un punct dorim s l obinem ntr-un plan mai ndeprtat, s spunem la distana d=d0+d, ne intereseaz cu ct mrim distana p0. Aceasta nseamn c ne intereseaz p = p(d) - p(d0) = p(d0+d) - p0 = g * (d0+d) /(d0+d +e) - p0 = = g * (e*p0/(g-p0) +d) / ( e*p0/(g-p0) +d +e) - p0.

    Desigur c ne intereseaz ca aceast distan s fie exprimat n pixeli, ceea ce nu este dificil: pP = [p * Nph /Dsh] , unde Nph = numrul de pixeli pe orizontal,

    Figura 35 - Vizualizarea unei stereograme

    Ochi

    Pixeli

    Punct (adncime)

    g

    e

    d

    p (ecran)

  • Grafica 3D+

    47

    Dsh = dimensiunea ecranului pe orizontal. [ x ] = partea nteag din x+0.5. Se observ n formulele de mai sus c mai intervin i distanele e i g: distana e putem spune c este n intervalul 50-70cm (20-25), distana g care d puterea stereografic a unui individ (pupil gauge) este n

    jur de 6.5cm (2.56). Mai trebuie subliniat faptul c distana dintre doi pixeli pereche este

    strict pozitiv i evident, nu poate s depeasc ecartul pupilar ( 0 < p = p0+p < g ). Pentru o distan de aproximativ 5cm (2), considernd distana dintre doi pixeli de 0.042cm (0.0166) rezult o valoare iniial a distanei p0 de 120 de pixeli. Dac puterea stereografic a utilizatorului este bun, atunci aceast distan se poate mri, evident fr s depeasc g, iar dac aceast calitate stereografic este sczut se recomand micorarea distanei iniiale p0, ns nu prea mult pentru a se evita suprapunerea celor dou imagini (situaie n care observarea stereogramei este ngreunat).

    3.6.4.3 Construcia unei stereograme Vom alege dou ferestre ecran respenctnd condiiile prezentate

    anterior. n prima fereastr vom reprezenta primul obiect n proiecie perspectiv, iar n a doua fereastr acelai obiect va fi proiectat dar cu modificrile pentru coordnatele x corespunztoare adncimilor aa cum am vzut mai nainte (pentru a putea obine efectul de adncime).

    n exemplul dat n Figura 36 am mrit distana AA i am micorat distana BB, ceea ce are ca efect deplasarea punctului A ntr-un plan mai ndeprtat, iar a punctului B ntr-un plan mai apropiat ( AA > VV > BB ) . Efectul obinut este un triunghi care se vede n spaiu i care nu mai este paralel cu ecranul.

    V V

    BA BA

    Figura 36 - Construirea unei fee

  • Cresterea Realismului Imaginilor

    48

    Figura 37 - Rotirea unei fee

    V V

    BA BA

    Se observ c prin micorarea bazei AB se obine o rotaie a triunghiului ntr-un sens, iar prin mrirea bazei obinem rotaia n sens contrar (vezi Figura 37). Se mai poate observa c cu ct extremitatea unui segment se ndeprteaz de ecran, cu att lungimea lui pe ecran (n proiecie) crete (segmentul VB din imaginea stng).

    Aceasta pare o anomalie, deoarece se tie c n realitate cu ct un obiect este mai deprtat cu att este mai mic.

    Pentru a putea contracara acest efect se recomand proiecia perspectiv, prin care laturile mai deprtate vor fi desenate mai mici, iar prin mrirea dimensiunilor lor nu ajung s depeasc dimensiunile celor mai apropiate. Oricum, este evident c proiecia perspectiv este preferat la o vizualizare spaial.

    Practic pentru prima figur din stereogram se parcurg etapele standard de reprezentare a unui poliedru (vezi [[3,33,39]):

    a) se precizeaz fereastra ecran V1(u1,v1,u2,v2), de exemplu ViewPort (200,100,300,200);

    b) se determin fereastra real (a figurii proiectate), adic dreptunghiul minim care conine toate proiecile punctelor (vrfurilor corpurilor),

    c) se reprezint fiecare segment (muchie) avnd anumite caracteristici (tip linie, culoare, ).

    Pentru cea de a doua figur se procedeaz asemntor cu urmtoarele diferene: a) se precizeaz fereastra ecran V2(u1+p0,v1,u2+p0,v2), astfel nct:

    u2 < u1+p0 pentru a nu se intersecta ferestrele (deci nici figurile),

  • Grafica 3D+

    49

    p0 < g pentru ca distanele dintre doi pixeli pereche s fie mai mici dect ecartul pupilar;

    de exemplu ViewPort (340,100,440,200), deci p0 = 140; b) se menine fereastra real (calculat anterior), deoarece att corpul ct i

    caracteristicile proiecilor rmn nemodificate, c) se reprezint fiecare muchie a corpului fcnd coreciile necesare pentru

    coordonatele x ale fiecrui pixel n funcie de cota z (aceasta presupunnd c orbservatorul se afl pe semiaxa pozitiv Oz) a punctului corespunztor. Aceste corecii se pot face fie mrind distanele pe orizontal dintre pixelii care reprezint capetele muchiilor (corpului), dar fr a depi distana g, fie micornd aceste distane, dar este preferabil s nu se intersecteze cu primul desen (figura din stnga) pentru a nu ngreuna citirea stereogramei.

    Presupunem c punctul pe care dorim s-l reprezentm este P(x,y,z)R3, prin proiecie obinem P(x,y)R2 astfel:

    x= x*(-q)/(-z), iar y= y*(-q)/(-z);

    unde reprezint distana la care se afl observatorul fa de origine (Obs(0,0,), deci se afl pe semiaxa pozitiv Oz), iar q reprezint distana la care se afl planul de proiecie fa de origine, acesta fiinnd paralel cu planul xOy (aceste condiii ne scutesc de alte transformri geometrice necesare [[33,39] pentru a ajunge ca aceste condiii s fie ndeplinite, mai ales c putem mai trziu s rotim corpul astfel nct s l aducem n poziia dorit). Se cunoate faptul c observatorul trebuie s fie la o distan apreciabil fa de corp (s depeasc cea mai mare cot a corpului) pentru ca acesta s nu fie reprezentat prea deformat (vezi formulele de mai sus), dar nici foarte mare, situaie n care proiecia seamn tot mai mult cu o proiecie paralel.

    Prin transformrile de fereastr se obine punctul din ecran (pixelul) P(u,v)V2 (fereastra ecran declarat), astfel:

    u = (x- x1) / (x2 - x1) * (u2 - u1) + u1 + p0, v = (y- y1) / (y2 - y1) * (v2 - v1) + v1,

  • Cresterea Realismului Imaginilor

    50

    pentru fereastra ecran V2 (u1+p0,v1, u2+p0,v2), i fereastra real W(x1,y1, x2,y2) determinat deja pentru prima figur.

    Prin corecia de adncime (pentru a se putea vedea n spaiu) se va obine PS (u - pP,v).

    Cu toate c formulele de calcul (i pentru pP) au fost expuse n paragraful 2 i se pot utiliza, considerm c este mult mai simplu s facem aceast corecie direct, n funcie de cota z a punctului P aplicnd urmtoarea formul:

    pP = ( z min { zi } ) / z * k, unde: z este nlimea corpului: (z = max { zi / Pi(xi, yi, zi)V (vertexurile corpului)} min { zi / Pi(xi, yi, zi)V }) k este constanta de amplificare a adncimii, de exemplu 15. Aceast

    constant poate fi determinat att de factori obiectivi (raportul z/x) ct i subiectivi (distanele g i e, reprezentate n Figura 35).

    Se observ v aceast corecie se face doar ntr-un sens pentru c pP [0,k], deci nu permite dect apropierea de ecran a unor puncte. Pentru a putea permite i ndeprtarea lor (avnd grij s nu depim distana e), atunci formula poate fi urmtoarea:

    pP = ( ( z min { zi } ) / z * 2 1) * k, deci pP [-k,k].

    Dac observarea se va efectua n faa ecranului (posibilitate care va fi descris imediat, vezi figura 7), atunci ferestrele pot fi cele dou jumti ale ecranului (evident stnga i drepata) iar k poate fi mai mare, de exemplu 50. Dac aceast constant este prea mare, de exemplu 100, atunci anumite puncte se formeaz prea aproape de observator i figura se vede mult mai greu. Mai atragem atenia c dac optm pentru acest mod de observare trebuie s schimbm semnul acestei constante, deci a coreciei.

    Pentru a putea da o libertate aplicaiei n ceea ce privete puterea de observare a utilizatorului putem face o corecie astfel nct distana dintre obiecte s poat fi modificat. Coordonata final pe orizontal a unui pixel va fi:

    u= u pP Npo

  • Grafica 3D+

    51

    Npo fiind distana de apropiere n vederea uurrii observrii, exprimat n pixeli.

    Evident, corecia de adncime se poate face i nainte de transformrile de fereastr, deci n planul de proiecie astfel:

    x= x pR , unde

    pR = u-1 ( ( ( z min { zi } ) / z * 2 1) * k )

    (u-1 fiind transformarea invers, din fereastra ecran V2 (u1+p0,v1, u2+p0,v2), n fereastra real W(x1,y1, x2,y2):

    x = (u - u1- p0) / (u2 - u1) * (x2 - x1) + u1 .

    Desigur c n aceast situaie, corecia de adncime nu se mai aplic i n fereastra ecran, deci

    u= u Npo

    Este i mai semnificativ dac sunt desenate trei piramide: cea iniial, una n dreapta i cealalt n stnga i la distane diferite. Vzute cu fiecare ochi, nseamn c vor fi ase imagini, dintre care dou suprapuse, care se vor vedea n spaiu (n mijloc) i nc dou simple (vzute lateral, plane). Rezult deci patru piramide, cele din mijloc n spaiu i nu la aceeai distan, una se nvrte invers (cea stnga) i este greit desenat fiind invers proiectat (latura mai deprtat se vede mai mare, deci greit)!

    Pentru o reprezentare corect, trebuie modificat formula pentru piramida stng cu + (PS (u + pP,v)) pentru a obine acelai sens (vezi Figura 37) i o proiecie corect (laturile mai deprtare sunt mai mici). Ceea ce este interesant, este faptul c dac aplicm valori diferite pentru Npo, atunci

    Figura 38 Corpuri la distane diferite

  • Cresterea Realismului Imaginilor

    52

    Figura 39 - Piramide n faa ecranului

    Figura 40 - Vizualizarea n faa ecranului

    Ochi

    Pixeli - Ecran

    Punct 3_D

    cele dou piramide (care se nvrt acum simultan, n acelai sens i sunt vizualizate corect din punct de vedere al proieciei perspective) nu vor fi n acelai plan (una va fi mai apropiat de observator, iar cealalt mai deprtat), i mai mult de dimensiuni diferite (spre surprinderea noastr, cea mai ndeprtat va fi mai mare, iar cea mai apropiat mai mic, probabil exact invers dect ne ateptm), aa cum se poate (sper) vedea n Figura 38.

    Exist i posibili-tatea, poate chiar mai spectaculoas, de a vizu-aliza o stereogram n faa ecranului ca n Figura 39 (nu n spatele lui, aa cum am vzut anterior). Aceast posibilitate prezin-t marele avantaj de a putea vedea o stereogram repre-zentat pe o suprafa mare (de exemplu proiectat pe perete), unde evident c distana p este mai mare dect ecartul pupilar (g).

    Dac dorim ca figura s fie vizualizat n faa ecranului (vezi Figura 40) atunci coreciile de proiecie se vor face invers fa de reprezentarea n spatele ecranului, i anume cu + pentru figura din dreapta adic PS (u + pP,v)) i eventual cu pentru figura din stnga (dac dorim s vedem n spaiu dou piramide aa cum am vzut mai sus) deci PS (u pP,v)). Efectul este parc mai mare, obiectele fiind mai clare i mai apropiate.

  • Grafica 3D+

    53

    3.6.4.4 Realizarea animaiei Este bine tiut c micarea ajut la nelegerea unei imagini spaiale,

    proiecia dinamic fiind un factor important de cretere a realismului imaginii. Faptul c imaginea se rotete, de exemplu piramida n jurul nlimii ne ajut s ne nchipuim aceast piramid n spaiu chiar i fr a fi reprezentat n spaiu, prin faptul c un punct aflat mai aproape se rotete ntr-o direcie, iar unul mai ndeprtat n direcia opus. Cu att mai mult la o stereogram, acest efect se mrete conducnd la o mult mai bun nelegere (vizualizare) a imaginii.

    n anumite situaii este mai bine s lsm utilizatorului posibilitatea de a manevra (prin rotaii) obiectul reprezentat. De exemplu, utiliznd tastatura astfel:

    ( O, P ) sau (,) pentru a roti obiectul n jurul axei Oy cu un anumit unghi (nu prea mare) ntr-un sens sau (respectiv) n cellalt,

    ( Q, A ) sau (,) pentru a roti obiectul n jurul axei Ox cu un unghi ntr-un sens sau n sens invers,

    ( S, D ) sau (/,\) pentru a roti obiectul n jurul axei Oz cu un unghi ntr-un sens altul.

    Pentru a simula creterea vitezei de rotaie, care poate fi fcut n jurul centrului de greutate, unghiurile , i pot fi mrite automat dup fiecare rotaie. n felul acesta, innd o anumit tast apsat, dup ce am reuit s vedem corpul n spaiu, acesta se va roti conform comenzilor dorite din ce n ce mai repede. Coordonatele punctului G n jurul cruia se execut rotaia se pot determina ca medie aritmetic a coordonatelor vrfurilor corpului. Rotaia se va efectua n jurul unor drepte paralele cu axele ce trec prin punctul G. Aceast rotaie ne poate ajuta i pentru a reui s vedem stereograma, deci putem s rotim corpul pentru a nelege mai bine figura i apoi pentru a vizualiza n spaiu obiectul reprezentat.

  • Cresterea Realismului Imaginilor

    54

    Se mai poate spune c la observarea unei stereograme, la nceput se vede mai neclar, apoi totul devine curat, limpede i clar, acestea par a fi nite obiecte n realitate, n relief. Aceast observare se poate face uor pentru un utilizator antrenat i mult mai uor pentru unul cu aceast calitate mai dezvoltat.

    3.6.4.5 Stereograme realizate prin puncte aleatoare

    Tehnica pe care o vom prezenta a fost descris nc din 1983 de C.W.Tyler i are marele avantaj c nu necesit nici un aparat sau obiect special pentru observarea spaial. Stereogramele se bazeaz pe un principiu simplu care va fi descris n continuare. Tot ceea ce este necesar pentru a putea observa o astfel de imagine "corect" este puin rbdare i perseveren pentru a putea ctiga o deprindere de observare uoar i rapid (Error! Reference source not found.Figura 41).

    Figura 41 Random Dot Stereogram

    Dac ntr-o imagine este reprezentat o figur repetat pe orizontal, atunci putem considera c fiecare figur este imaginea vzut de fiecare ochi. Aceasta nseamn c dac focalizm privirea n spatele imaginii (la intersecia

  • Grafica 3D+

    55

    dreptelor determinate de ochi cu figurile) vom vedea figura respectiv n relief, n punctul de intersecie (vezi Figura 43). Dac aceeai figur este repetat de mai multe ori pe orizontal la distane diferite (mai mici dect ecartul pupilar) atunci interseciile (determinate de fiecare ochi) se vor forma la adncimi diferite (Figura 42) .

    Se poate observa n Figura 43, c adncimea a la care se formeaz imaginea este direct proporional cu distana d dintre dou figuri desenate. Un punct P din spaiu dac are o anumit culoare ar trebui ca pe ecran punctele A i B de intersecie a segmentelor (determinate de ochi cu acest punct) cu ecranul s aib aceeai culoare. Dar punctul A de exemplu, poate fi rezultatul altui punct de intersecie (Q din Figura 42) care poate avea alt culoare, ceea ce ridic probleme pe lng faptul c determinarea coordonatelor punctului de intersecie nu este ntotdeauna simpl. Din aceast cauz, soluia propus este urmtoarea :

    - Se deseneaz un dreptunghi (avnd iniial o lime d0) care conine o anumit imagine (poate fi chiar format din puncte aleatoare de culori diferite) aa cum se poate vedea n Figura 44, iar acesta se copiaz de mai multe ori, pe tot ecranul. Ceea ce se poate vedea n acest moment prin tehnica suprapunerii imaginilor este un model situat la distana a0=d0p/(e-d0)+p fa de observator (n spatele ecranului).

    - Pentru a crea efectul de adncime, pentru fiecare punct vom corecta distana d ntre dou puncte n funcie de distana a+p la care dorim s fie

    Figura 42 - Adncimi

    Q P

    A B

    Figura 43 - Suprapunerea punctelor

    a

    p

    d

    e

    a = adncimea imaginii formate,

    p = distana de observare,

    d = distana dintre punctele de pe stereogram, e = ecartul pupilar.

  • Cresterea Realismului Imaginilor

    56

    vzut punctul din stereogram (d=ae/(a+p)). Acest lucru va fi efectuat pentru fiecare linie, iar n cadrul unei linii pentru fiecare punct ncepnd de la stnga la dreapta. Pentru fiecare linie vom face s dispar puncte pentru a obine o subimagine mai apropiat. Presupunem c avem de reprezentat o suprafa dat sub forma z(x,y) : [x1,x2][y1,y2] [zmin ,zmax]. n acest caz, vom putea reprezenta aceast suprafa n n+1 plane zmin=z0, z1,...,zi, ..., zn= zmax, unde zi = zmin+i / n (zmaxzmin), pentru 0 i n. Numrul de puncte omise va determina planul n care vom vedea perechile de puncte corespunztoare (vezi Figura 45).

    Corecia de distan este :

    d=dd0 = ep ,

    Se deduce din formula de mai sus c:

    a =

    Se poate observa de aici c pentru o corecie de un pixel d= (distana dintre pixeli pe orizontal, de exemplu =250mm/640=0.39mm), diferena de adncime este : a1=q02/epq0 .

    Figura 46 conine o stereogram n care sunt reprezentate suprafeele

    z = cos (x2+ y2) i z =sin (x2+y2).

    q02d epq0d

    qq0 a unde a =aa0,

    q =a +p, q0=a0+p.

    Figura 45 Micorarea adncimii Figura 44 Stereogram plat

    d

  • Grafica 3D+

    57

    Aplicaia practic realizeaz pe ecran stereograme color att pentru o suprafa dat ct i diverse imagini 3-D concepute de ctre utilizator i desenate cu ajutorul mouse-ului. n varianta a doua utilizatorul poate desena imagini n diverse culori care vor fi interpretate ca fiind distanele planelor fa de ecran (aflate la distana a1 ntre ele).

    n continuare se poate urmri un model de generare a stereogramelor utiliznd gramaticile matriciale.

    1. n prima etap se genereaz prima coloan:

    2. Se copiaz prima coloan obinnd:

    3. Se genereaz dreptunghiuri:

    S1 ... Si ... Sm

    B11...B1d B11...B1d ... ... Bi1...Bid ... Bi1...Bid ... ... Bm1...Bmd Bm1...Bmd

    Figura 46 Stereogram cu suprafee

    A1 A1 ... ... Ai ... Ai ... ... Am Am

  • Cresterea Realismului Imaginilor

    58

    4. n ultima etap se genereaz stereograme prin eliminarea de puncte:

    Dac notm cu Mx i My limitele rezoluiei, atunci transformrile din domeniul real n domeniul ecranului (x,y)(u,v), se pot realiza prin funciile u:[x1,x2][0,Mx] i v:[y1,y2][0,My] unde :

    u(x) = (xx1) Mx / (x2x1) , iar v(y) = (yy2) My / (y1y2).

    Presupunem c vom vedea (prin stereogram) suprafaa mprit n l+1 plane paralele cu ecranul. n aceste condiii, o distan real z va fi aproximat astfel nct s fie situat n unul din cele l+1 plane prin funcia

    Sc : [zmin , zmax ] {0, 1, ..., l } definit astfel :

    Sc(z) = [ l (zmaxz) / (zmaxzmin) ]

    ( Am notat cu [x] partea ntreag a lui x.)

    Dac reprezentm o suprafa z(x,y) : [x1,x2] [y1,y2] [zmin ,zmax], atunci aij=Sc(z(u-1(j),v-1(i))) reprezint planul n care va trebui s vedem (prin stereogram) punctul de coordonate (i,j) (1 i m, 1 j n, iar u-1(j) i v-1(i) sunt funciile inverse corespunztoare funciilor de transformare definite anterior. Dac aij>0 atunci vor fi terse aij puncte (cazul a), altfel (dac aij=0) se coloreaz elementul Bij n culoarea cik (cazul b). Corespunztor celor dou cazuri a) i b) vom efectua urmtoarele : a) punctul (i,j) (corespunztor lui Bij) este adus ntr-un plan mai apropiat,

    urmnd s fie adus mai aproape (cu nc un plan dac este necesar) cnd se ajunge la coloana urmtoare (j+1) modificnd distana urmtorului punct astfel :

    ai,j+1 := ai,j+1 + ai,j 1 ;

    c11...c1d ... c1k ... c11...c1d ... ... ci1...cid ... cik ... ci1...cid ... ... cm1...cmd ... cmk ... cm1...cmd

    1 j md

  • Grafica 3D+

    59

    b) Bij se coloreaz cu culoarea cikMc , unde : - Mc este mulimea culorilor utilizate, - d reprezint numrul de coloane ale submatricelor (vezi Figura 44) iar - k{1,..,d} se calculeaz n funcie de coloana j a punctului care se

    coloreaz astfel : k=(j1) Mod d + 1 . Algoritmul de construcie al unei stereograme este urmtorul : Genereaz matricea B ; Genereaz matricea C (care reprezint stereograma) astfel: Pentru {fiecare linie} i=1,m execut Pentru {fiecare coloan} j:=1,m*d execut aij = Sc(z(u-1(j),v-1(i))) { calculeaz planul criua i aparine punctul cij} Pentru {fiecare linie} i=1,m execut { construiete stereograma } Pentru {fiecare coloan} j:=1,m*d execut Dac aij>0 atunci terge punctul ci,j ; ai,j+1= ai,j+1+ai,j1 {Bij } altfel punctul ci,j are culoarea (j1) Mod d+1 {Bijci,k}

    n general d>|Mc| i de aceea este de preferat s utilizm ct mai multe culori pentru a obine o stereograma mai bun (cel puin 16), calitatea acesteia depinznd n mare msur de numrul de culori utilizate. Distanele aij pot fi calculate naintea generrii stereogramelor i pot fi reprezentate codificat pe ecran utiliznd culori. Culoarea unui pixel pij reprezintnd planul unde va fi vzut acest punct (adic aij). n aceast situaie se poate utiliza formula descris n cazurile a) i b) cu ai+1,* n loc de ai,*. Aceasta nseamn c putem afla distana direct de pe ecran de pe linia urmtoare. n acest mod vom construi linia i a stereogramei utiliznd linia i+1 de pe ecran (pentru fiecare linie i=1,My1 ). Stereogramele din Figura 41 i din Figura 46 pot fi realizate utiliznd adncimea direct, codificat dintr-o imagine ca cea din Figura 47.

    Figura 47

    Adncimea suprafeei

  • Cresterea Realismului Imaginilor

    60

    Pentru a realiza o stereogram ca cea din Figura 49, vom defini un model i adncimile codificate n culori (vezi Figura 48).

    Figura 48 Modelul i adncimile codificate

    Figura 49 Stereogram construit pe baza unei imagini codificate

    Asemntor, se poate construi o stereogram plecnd de la o imagine care conine un text sau un obiect tridimensional descris (codificat, utiliznd culori) prin adncimile feelor.

    3.6.4.6 Anaglife O alt posibilitate utilizat n redarea (percepia) adncimii este descris n cele ce urmeaz. Aceast tehnic necesit utilizarea ochelarilor cu lentile de culori diferite (de exemplu rosu i albastru, ca n Figura 50).

  • Grafica 3D+

    61

    Figura 50 Ochelari Rosu~Albastru

    Acetia permit selectarea diferit a celor dou imagini suprapuse (vezi Figura 51): cu ochiul stng (lentila roie) nu se mai vede piramida roie ci doar cea albastr, iar cu cel drept (lentila albast) nu se vede (sau se vede mult mai slab) desenul albastru deci se va vedea doar piramida roie.

    Figura 51 Anaglife geometrice

    Mai trebuie precizat c este important alegerea nuanelor pentru culorile anaglifei, care trebuie s fie n concordan cu nuanele lentilelor (n Figura 51 am utilizat culorile Aqua i Tomato). Acelai procedeu se utilizeaz i n cazul imaginilor prin selectarea diferit a celor dou imagini suprapuse, realizate din dou puncte diferite (vezi Figura 52 i Figura 53). Aceste imagini sunt prelucrate prin modificarea culorilor astfel: imaginea din stnga va fi albastr, iar cea din dreapta roie, urmnd ca acestea dou s fie mixate. Utilizatorul, cu ajutorul ochelarilor va filtra cele dou imagini diferit, astfel nct la fiecare ochi va ajunge imaginea corespunztoare.

  • Cresterea Realismului Imaginilor

    62

    Se pot aplica dou metode de construcie, corespunztor celor dou variante de filtrare a imaginilor prezentate n cele ce urmeaz. Prima variant utilizeaz culori deschise de la Rou (255,0,0) la Alb (255,255,255) respectiv de al Albastru (0,255,0) la Alb i se bazeaz pe ideea eliminrii culorii lentilei - taie culoarea activ (vezi Figura 52).

    Figura 52 - Anaglif cu nuane deschise

    Figura 53 - Anaglif cu nuane nchise