Kezdőoldal » Számítástechnika » Programozás » A háromdimenziós grafikában...

A háromdimenziós grafikában mik azok a normálok és, hogyan kell kiszámolni azokat?

Figyelt kérdés

Például egy négyszög esetében.

Minden vertexhez tartozik egy normál ugye?

Mik azok a normálok?

Hogy kell helyesen kiszámolni azokat?


2013. szept. 6. 02:26
 1/9 iostream ***** válasza:
2013. szept. 6. 10:23
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

A wikin túl vannak bonyolítva a dolgok.

Azt már néztem és nem lett világos számomra.

Olyan magyarázat kéne ami egy egyszerű földi halandó megért.

2013. szept. 6. 15:05
 3/9 iostream ***** válasza:

Első egyenlet: [link]


Mi van ezen túlbonyolítva?

2013. szept. 6. 15:15
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

Az a "gond", hogy ez egyáltalán nincs túlbonyolítva, sosem voltam annyira penge matekból, de ezt elég könnyen lehet érteni.

(Ennyi matektudás kell, ha valaki komolyabban akar 3d grafikával foglalkozni.)

2013. szept. 6. 21:37
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:

Nem értem ami a weboldalon van.

Hülye voltam ide kérdést kiírni.

2013. szept. 7. 00:45
 6/9 A kérdező kommentje:

Egyébként ha szóban elmagyarázzák nekem akkor megértem de a képletekhez buta vagyok.


Nem látom át a matematikai összefüggéseket,sajnos én ilyen vagyok és ezért nem nagyon szeretem magamat de annyit tudok,hogy ha szavakba öntik,akkor sikerülhet nekem.


Tudom,hogy ha a nomrál vektor a felület síkjára merőleges.

a,b,c

e1 = b-a;

e2 = c-a;

nomal = e1.cross(e2); A cross vissza ad egy olyan vektort ami merőleges lesz mindkettőre.


Tudom,hogy a normálokkal lehet megszámolni az oldalakat(face) és azt is,hogy ezek merre néznek.


Két kérdésre akarok választ kapni.Jó volna ha megválaszolnátok de ne úgy,hogy linkeket küldtök.Vegyétek figyelembe,hogy nehéz felfogású vagyok.


Tudom,hogy a normálokkal lehet megszámolni az oldalakat(face) és azt is,hogy ezek merre néznek.

--

Ezen kívül még mire vannak a normálok?

Tudom,hogy a fényekhez is köze van de,hogyan van ez?


A fentebbi példám a sík felületek normáljánka kiszámítása és a simított normálokat hogyan kell kiszámolni?

2013. szept. 7. 03:46
 7/9 anonim ***** válasza:

Ne haragudj, de ha a képletekhez buta vagy, és nem érted a matematikai összefüggéseket, akkor nem 3D grafikával kéne foglalkoznod.

Valószínűleg nem ilyen választ szerettél volna, viszont ez az őszinte és helyes válasz.

2013. szept. 7. 20:03
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
Nagyon technikai részletekbe nem tudok menni, de annyit tudok róluk, hogy egy normál határozza megy hogy egy vertex "merre néz". Tehát pl. egy háromszögnek melyik az az oldala amelyiket majd textúrázod, amelyikre a fény esik stb.
2013. szept. 9. 18:58
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

A simított normálokat többféleképpen lehet, ha ismered a felület egyenletét (pl.gömb), akkor deriválással megkapható, de általában ez nincs meg és csak a háromszögek adatai vannak a birtokunkban, ekkor 1 háromszögre azzal a képlettel számolható amit írtál.


Ha a háromszögekre külön számolod, akkor nyilván nem lesz olyan sima az objektum, mert 2 egymás melletti háromszögnél nagy eltérések lehetnek, ezáltal látszani fog, hogy az objektum háromszögekből áll. simított normálokat akarsz, akkor az összes környező háromszög pontjainak a normálját összeadod, és annak a normalizált vektora lesz a pont normálja


A szerepe a fények kiszámításánál van, ez a vektor mondja meg, hogy mekkora dőlési szögben van a fényhez képest. Ha egy lapot majdnem oldalról világítunk, akkor máshogy fog kinézni, mintha felülről világítottuk volna.


Ez a számítás implementáció függő, a shaderek bevezetésével már a programozó maga is írhat saját számolást a fényre. Legáltalánosabb a diffuse (szórt fény) számítása, erre e következő képlet van:

diff = dot(L,N)

A fényvektor és a normálvektor dot productja megadja a köztük lévő szög koszinuszát, 0-1 közötti érték meghatározza, hogy mennyire felülről világítja a fény az adott háromszöget. Ha -1 és 0 között van akkor azt jelenti, hogy a fény alulról világít, úgyhogy azt le kell kezelni.

2013. szept. 10. 16:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!