• Nu S-Au Găsit Rezultate

1. Eliminarea suprafeţelor acoperite

N/A
N/A
Protected

Academic year: 2022

Share "1. Eliminarea suprafeţelor acoperite "

Copied!
27
0
0
Arată mai multe ( pagini)

Text complet

(1)

1. Transformări geometrice uzuale;

2. Reprezentarea curbelor, suprafeţelor şi corpurilor;

3. Observarea unui sistem 3_D de puncte;

4. Modelarea corpurilor;

Texturi

(2)

Următoarele cursuri prezintă câteva metode de îmbunătăţire a imaginilor în sensul apropierii calităţii lor de imaginile reale.

Dintre aceste metode prezentate în literatura de specialitate cum ar fi:

a) eliminarea suprafeţelor şi muchiilor acoperite pentru extragerea elementelor de frontieră ascunse,

b) perspectiva pentru informaţiile de profunzime,

c) proiecţiile dinamice pentru reprezentarea obiectelor în mişcare,

d) indici de intensitate sau variaţia de culoare utilizate pentru modificarea culorilor din adâncime,

e) texturi

şi detalii de suprafaţă pentru reprezentarea microstructurilor feţelor,

f) secţionarea cu un plan frontal utilizată la vizualizarea interiorului obiectului,

g) iluminarea curpurilor prin utilizarea luminilor şi umbrelor şi

h) stereografia pentru redarea în relief a a obiectelor tridimensionale,

(3)

1. Eliminarea suprafeţelor acoperite

2. Texturi

3. Lumină şi umbră

4. Stereografie

(4)

Utilizarea texturilor

în grafica tridimensională are un rol important în creşterea realismului imaginilor (mai ales dacă acestea prezintă mici imperfecţiuni, adică defecte intenţionat introduse), deoarece aceste detalii de pe suprafaţa obiectelor dau multe informaţii (

material, poziţie, dimensiuni

, etc.) despre corpul reprezentat.

Există trei categorii de texturi şi anume:

a)

Constante

ca mărime şi orientare pe suprafaţa corpului,

b)

Variabile

ca mărime şi orientare în funcţie de poziţia feţelor.

c)

Neregulate

- aleatoare ca mărime şi orientare (

fractali

).

(5)

a) Texturile constante

Acestea se utilizează atât în grafica 2-D cât şi în grafica 3-D pentru tapetarea fondurilor scenelor.

Acestea se pot defini printr-o matrice de culori sau în sistem vectorial prin coodonate relative ale capetelor segmentelor descrise.

Există biblioteci de texturi caracteristice diferitelor obiecte sau materiale cum ar fi:

fagure, lemn, parchet, sticlă, apă, iarbă

, etc.

(6)

Aplicarea unei texturi se poate face la umplere, unde un punct Pij se va colora ţinând cont de o textură defintă prin matricea T cu m linii şi n coloane numerotate de la 0 la m-1 respectiv n-1 în culoarea Ti Mod m , j Mod n .

Aplicarea unei texturi se poate face la umplere, unde un punct Pij se va colora ţinând cont de o textură defintă prin matricea T cu m linii şi n coloane numerotate de la 0 la m-1 respectiv n-1 în culoarea Ti Mod m , j Mod n .

Tij = Textel

(7)

b) Texturile variabile

Un exemplu des utilizat de texturi variabile îl constituie aplicarea textelor pe feţele corpurilor (simboluri scrise pe suprafaţa obiectelor).

Pentru aceasta este nevoie de o

digitizare

a caracterelor prin segmente sau prin linii poligonale închise.

Există o adevărată industrie de fonturi care crează biblioteci de caractere .

(8)

Aplicarea pe faţa dorită a unei texturi variabile se realizează în trei etape:

Se aduce caracterul pe faţa dorită prin două rotaţii (într-un plan paralel cu faţa pe care se doreşte aplicarea) apoi printr-o translaţie;

Se proiectează punctele critice care descriu caracterul odată cu obiectul;

Se construieşte textura unind punctele critice sau prin umplere.

(9)

Observaţie

La caracterele nesimetrice trebuie avută în vedere şi normala la plan, deoarece caracterele pot fi aplicate invers (ca în figura alăturată).

(10)

Aplicarea texturilor pe suprafeţe P(x,y,z)

T

ij

f

f = ?

Aplicarea texturilor

pe suprafeţe plane

pe cilindru (r,h)

pe sfera (r)

pe alte obiecte

(11)

… Aplicarea texturilor pe suprafeţe

Aplicarea texturilor

pe suprafeţe plane

pe cilindru (r,h) :

pe sfera (r)

pe alte obiecte

P(x,y,z)

y

h

z

x r

x = r cos z = r sin y = y

s=* L / π t= y * l / h

l t

s L

(12)

… Aplicarea texturilor pe suprafeţe

pe cilindru (r,h) :

pe sfera (r)

int L = 399, l =399; // Textura (Lung, lat.) double Rc = 1, h = 2; // Cilindru (Rc, h)

double x(double Rc, double Alf) { return Rc * Math.Cos(Alf); } // x = r * cos (Alfa); r=Rc=Raza Cil.

double z(double Rc, double Alf) { return Rc * Math.Sin(Alf); } // z = r * sin (Alfa)

int s(double Alf, double L) { return (int)(L-Alf * L / Pi ); } // Textura[s,t] din [0,L]x[0,l]

int t(double y, int l, double h) { return (int)(l- y * l / h ); }

(13)

… Aplicarea texturilor pe suprafeţe

pe cilindru(r,h):

pe sfera (r)

ViewPort (100, 50, 300, 350); DefPr (1, 3.14 / 4);

double a = b = PrX(x(Rc, 0), z(Rc,0)), // Determinarea ferestrei reale c = d = PrY(0, z(Rc,0));

for (double al = 0; al < Pi; al += Pi / L) // Alfa din [0,Pi]

for (double y = 0; y < h; y += h / l) // y din [0, h]

{

double Cx = x(Rc, al), Cy = y, Cz = z(Rc, al); // Pct. pe Cil.(Cx, Cy,Cz) double Xp = PrX(Cx, Cz), Yp = PrY(Cy, Cz);

if (Xp < a) a = Xp; else if (Xp > b) b = Xp;

if (Yp < c) c = Yp; else if (Yp > d) d = Yp;

}

Window (a, d, b, c);

for (double al = 0; al < Pi; al += Pi / L) // Alfa din [0,Pi]

for (double y = 0; y < h; y += h / l) // y din [0, h]

{

double Cx = x(Rc, al), Cy = y, Cz = z(Rc, al); // Punct pe Cil.(Cx, Cy,Cz) double Px = PrX(Cx, Cz), Py = PrY(Cy, Cz);

Im2.SetPixel(u(Px), v(Py), Im1.GetPixel(s(al, L), t(y, l, h)));

}

(14)

… Aplicarea texturilor pe suprafeţe

pe cilindru(r,h):

(15)

… Aplicarea texturilor pe suprafeţe

Aplicarea texturilor

pe suprafeţe plane

pe cilindru (r,h) :

pe sferă (r) :

pe alte obiecte x = r cos sin

y = r sin

z = r cos cos

P(x,y,z)

y

z

x

r

(16)

… Aplicarea texturilor pe suprafeţe

pe sferă (r):

double alfa(int j, int H) { double Pi = 3.141592;

return -Pi * j / H + Pi / 2;

}

double beta(int i, int W) { double Pi = 3.141592;

return -Pi * i / W + Pi;

}

void PutPixel(Bitmap Im, int x, int y, Color c) { Im.SetPixel(x, y, c); Im.SetPixel(x, y+1, c);

}

private void button2_Click(object sender, EventArgs e) // Sfera {

int Ri = 90, Rj = 185;

for (int i = 0; i < Im1.Width; i++) for (int j = 0; j < Im1.Height; j++)

PutPixel(Im2, Im1.Width/2 + (int)(Math.Cos(alfa(j,Im1.Height))* Math.Cos(beta(i, Im1.Width))* (Ri + j / 5)), Im1.Height/2 - (int)(Math.Sin(alfa(j, Im1.Height)) * Rj), Im1.GetPixel(i, j));

pictureBox2.Image = Im2; pictureBox2.Refresh();

}

(17)

… Aplicarea texturilor pe suprafeţe

pe sferă (r):

(18)

… Aplicarea texturilor pe suprafeţe

http://csclab.murraystate.edu/bob.pilgrim/515/texture_maps_project.html

http://www.flashandmath.com/advanced/sphere/ideas.html

https://www.siggraph.org/education/materials/HyperGraph/mapping/spheretx.htm

https://www.cs.cmu.edu/~fp/courses/graphics/pdf-color/10-texture.pdf

http://www.cs.kent.edu/~zhao/acg13/lectures/IntroTextureMapping.pdf

http://web.eecs.utk.edu/~huangj/cs456/notes/456_texturemap1.pdf

Referinţe

(19)

Tipuri de texturi

de mediu

proiective

de iluminare

de umbrire

celulare

combinate

cu defecte (Bump)

(20)

c) Texturile neregulate

Aceste texturi sunt utilizate în generarea aleatoare a unor forme de simulare a realităţii, de exemplu

arbori, nori, dune de nisip, valuri, lemn

, etc.

Realizarea unor astfel de texturi se poate face prin:

Variaţia aleatoare a

direcţiei de iluminare

;

Distorsionarea aleatoare a

normalei la plan

;

Structuri fractale

.

Fractalii

, aceste variaţiuni geometrice ciudate, pot fi:

de formă regulată (generaţi prin repetarea unui motiv sau detaliu primar) sau

de

formă neregulată

(definiţi

probabilistic

).

(21)

Fractalii de formă regulată se definesc prin curbe, suprafeţe, volume, funcţii, etc., sau printr-o regulă de construcţie.

Fractalii sunt forme definite prin ecuaţii matematice, rezultând o figură geometrică, care poate fi divizată în părti, astfel încat fiecare dintre acestea sa fie o copie miniaturală a întregului.

Cuvantul fractal a fost introdus de matematicianul Benoit Mandelbrot în 1975 si provine din latinescul fractus, care inseamnă spart sau fracturat.

Fractalul, ca formă geometrică, are următoarele caracteristici:

este auto-similar: dacă se măreste orice porţiune dintr-un fractal, se vor obţine cam aceleaşi detalii cu cele ale fractalului întreg,

are o definiţie recursivă – de exemplu: x, f(x), f(f(x)), f(f(f(x))), ...,

are detaliere şi complexitate infinita: orice nivel de magnificare pare identic şi are o structură fină la scări infinit de mici.

(22)

Elementele definitorii sunt:

initiator: segmentul, curba sau forma initiala.

generator: regula folosita pentru a construi o noua forma (recurent/recursiv).

iteratie: repetare / recursivitate

Fractal:

Bază (rădacină),

Regula de dezvoltare (de creştere),

Perioadă de creştere.

(23)

Fractali renumiti:

initiator: segmentul, curba sau forma initiala.

generator: regula folosita pentru a construi o noua forma (recurent/recursiv).

iteratie: repetare / recursivitate

(24)
(25)
(26)

SIGGRAPH OpenGL Course Material

Advanced Graphics Programming Techiques using OpenGL, SIGGRAPH 2000 Advanced Graphics Programming Techiques using OpenGL, SIGGRAPH 1999 Lighting and Shading Techniques for Interactive Applications, SIGGRAPH 1999 Advanced Graphics Programming Using OpenGL

http://www.bluevoid.com/opengl/index.htm

Computer Graphics Abstracts

http://www.ccs.neu.edu/home/fell/CS5310/abstracts/abstracts2011.html

Environment Maps Explained

http://www.spiralgraphics.biz/genetica/help/index.htm?environment_maps_explained.htm

Hacking the Lite pt.1: Projective Texture Mapping

http://www.derschmale.com/2010/12/30/hacking-the-lite-pt-1-projective-texture-mapping/

(27)

Aplicaţi pe feţele unui corp (poliedru) una din cele trei categorii de texturi:

a) Constante,

b) Variabile,

c) Neregulate

Referințe

DOCUMENTE SIMILARE

Se cunoaşte că în domeniul militar (de exemplu) se utilizează echipamente de luptă care suprapun imagini diferite (acelaşi obiect văzut din două puncte diferite) şi

(6)În cazul în care membrii CNATDCU din cadrul unei comisii de evaluare a unei teze de doctorat constată nerespectarea standardelor de etică profesională,

Cu toate acestea, în cazul în care scopul este de a obține hărți rapid, Google Maps este o opțiune bună și foarte bine documentată, atât pentru dispozitivul mobil, cât și

 Este o descriere a unei mulţimi de secvenţe de acţiuni (incluzând variante) pe care un program le execută atunci când interacţionează cu entităţile din afara lui ( actori

 Cu cât sunt mai mulţi electroni (amperajul mai mare) cu atât puterea este mai mare.  Puterea se măsoară în waţi (W) şi se notează

Pentru aceasta, am dedicat atât un sistem de mailing intern cât și paginile în care sunt afișate proiectele și evenimentele ce au legătură cu compania în care este

această metodă nu funcţionează pentru toate nuanţele de piele şi nu este robust în condiţii de variaţie a luminii; în plus, se pot alege obiecte cu culori

În toate cazurile, se iau în considerare şi se corectează toţi factorii de risc; la cei la care este instalată o boală cardiovasculară, diabet sau boală

Atât în ceea ce priveşte Sp/Ob, cât şi HTC, acest grup depăşeşte sau se află la acelaşi nivel crescut cu grupul medicilor sau cel al asistentelor medicale, ceea ce

Procesul de reutilizare a fragmentelor ceramice pisate pentru pasta noilor vase este unul cunoscut 43 , acestea fiind utilizate, în special, în realizarea vaselor

Saramandu (coord.), Editura Academiei Române, 2018. Evoluţia limbii române prin traduceri biblice din secolul al XVI-lea din 2001 a fost citat în: Alexandru Mare ș

S-au putut detaşa doar două mici porţiuni de radius, una din humerus, 1 fragment neidentificabil dar care, în mod cert, nu provine din oasele lungi (posibil

Victimele au posibilitatea de a solicita să fie însoțite de o persoană aleasă de acestea, cu ocazia primului contact cu o autoritate competentă, în ipoteza

rală, începută încă din 1904, şi m'a chemat în sânul ei ca membru core- spondent. « Imi permit să vă adresez, atât D-Yoastre, cât şi tuturor d-lor Membri

Reconstrucţia sau restaurarea unei imagini deteriorate oarecare (imagine inpainting) este o problemă de interpolare în cazul în care se cunosc valorile doar la o

d) Teza de doctorat se depune în mod oficial la Secretariatul Școlii doctorale, în format tipărit și în format electronic, împreună cu rezumatul tezei în limba română

O adevărată privelişte atât pentru gurf!lanzi, cât şi pentru pictorii vietii patnarhale erau camerele cu provl- ziuni, în cari erau aşezate cu gust cele mai

prezintă o scrisoare primită în 1881 dela Andrei Bârseanu, student în filo- zofie la Viena, prin care roagă a i se comunicâ data naşterii lui V. - D-1

atât de particulară a neamului nostru. Toate acestea sunt chestiuni adânci şi complicate, cari numai prin.. cercetări liniştite şi critice pot fi limpezite şi

Şi cu toate acestea cât de frumoasă şi cât de măreaţă e lumea asta întreagă pe care o vedem în noi şi în jurul nostru pierzându- se în atotputernicia

zor primăriei să ridice opreltştea, că nu mai pot tineâ porcii acasă. În~ă veterinarul iscodi acum altă drăcte. Până se vor face acestea, porcii-s opriti

b e disponibil în varianta pentru cabinet (chairside) şi pentru laborator: inLab c varianta chairside realizează scanarea optică cu ultraviolete a preparaţiei d materialele ce

 Echipa recomandă universităţii să îşi dezvolte proceduri clare atât pentru eventualele situaţii în care va constata o scădere a producţiei activităţii de cercetare cât