Grafika zh 2006-11-09 A csoport

A VIK Wikiből
A lap korábbi változatát látod, amilyen Kiskoza (vitalap | szerkesztései) 2013. október 15., 07:34-kor történt szerkesztése után volt. (Kiskoza átnevezte a(z) 2006-11-09 A csoport lapot Grafika zh 2006-11-09 A csoport lapra átirányítás nélkül)
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


A virtuális világunkban az r(u,v) = (u,v,8uv), (0<= u,v <=1) paraméteres egyenlettel megadott felület található. A szem az origóban van, és a z irányba néz (az ablak középpontja a z tengelyen van): A kamera függőleges iránya az y tengely. A függőleges látószög 90 fokos, az ablak oldalaránya 1, az első vágósík távolsága 0.1, hátsó vágósík nincs. A keletkező képet 200x200as felbontásban kell megjeleníteni.

1. kérdés

Melyik pont látszik a (150,150) pixelben? (2p)

Rajzold fel egy z-y koordinátarendszerben! A (100,100)px van a z tengelyen. 90 fokos látószög miatt a (100px,200px) ponthoz egy lépést (0.1, de lényegtelen) tettél z irányba, és egyet y irányba. A (100px,150px)-hez csak fele lépést kell tenni y irányban.

Tehát az az egyenes, ami a szemből egy 150px magasságű pontba megy, az 1/2 merdekségű y irányban. Ugyanez a helyzet a szélességgel is.

Tehát a vetítő sugár s(t)=(t/2,t/2,t).

A metszéspont, a koordináták megfeleltetésével:

  • u = t/2
  • v = t/2
  • 8uv = t
    • 8t2/4 = t
    • t = 0 --> nem jó, mert a vágósík előtt van
    • 2t = 1 --> t = 1/2

Tehát a metszéspont (1/4, 1/4, 1/2)

-- SzaMa - 2006.11.09.

Igazából meg kell nézni, hogy ez az u=1/4, v=1/4 pont tényleg érvényes paraméterértékeket jelent-e, vagyis (0<= u,v <=1) teljesül-e. És igen. A másik, hogy ellenőrizni kell, hogy a vágósík nem vágja-e le a pontot. Nem teszi, mivel z = 1/2 > 0.1. -- Baba - 2006.11.10.-- gedeon__^ - 2006.12.06.


2. kérdés

Mi a felület normálvektora ebben a pontban? (2p)

Itt valaki mondta, hogy a parciális deriváltak keresztszorzata azt kész. Az elvileg (-4,-4,1). Ez azt jelenti, hogy én elcsesztem :) -- SzaMa - 2006.11.09.

Az illetőnek igaza van, Szama viszont elszámolta. u szerint (1, 0, 8v), v szerint (0, 1, 8u) a parciális derivált, a keresztes szorzatuk (-8v, -8u, 1), az u=v=1/4 behelyettesítéssel (-2, -2, 1) adódik. Ha normáljuk, akkor a (-2/3, -2/3, 1/3) egységvektort kapjuk.

-- Baba - 2006.11.10.

3. kérdés

Milyen színű ez a pixel, ha a teret egy irányfényforrás világítja meg, amely a (-1,1,1) irányból, az RGB csatornákon (20,10,10) W/m/m/st intenzitással sugároz, és a felület "mindkét oldalának" diffúz visszaverési tényezője [ 0.1, 0.2, 0.3]? (2p)

Ki kell számolni a beeső sugár és a normálvektor szögét. Legyen a fényforrás iránya L a normálvektor N. Ekkor cosΘ'=L*N/{|L||*||N}.

cosΘ' = 4-4+1 / sqrt(3)*sqrt(33)

A pixel színézhez már csak minden szinkomponensre össze kell szorozni az intenzitást a visszaverési tényezővel és cosΘ'-vel.

-- SzaMa - 2006.11.09.

Más a normálvektor, mint amivel számolsz, de az elv ok.

-- Baba - 2006.11.10.

Vagyis helyesen akkor:

cosΘ' = ((-1)*(-2/3) + 1*(-2/3)+1*1/3 ) / sqrt(3) = 0.192

L = Lin*kd*cosΘ'

Lr = 20*0.1*0.192 = 0.384, Lg = 10*0.2*0.192 = 0.384, Lb = 10*0.3*0.192 = 0.576.

RGB = [0.384, 0.384, 0.576]

-- NeoXon - 2006.11.10.

4. kérdés

Közelítse a felületet NxM háromszögből {ez valszeg el volt írva a feladatlapon} álló négyszöghálóval, és adja meg az i,j négyszög négy csúcsának koordinátáit! (2p)

A felület egyenletében két változó volt, amik [0,1] intervallumon mozogtak, hát mintavételezzük ezeket egyenletesen! Az egyes pontoknál legyen ui=i/N és vj=j/M.

i=0..N-1; j=0..M-1

Ekkor az i,j négyszög csúcsai:

  • (i/N, j/M, 8*i*j/(N*M))
  • ((i+1)/N, j/M, 8*(i+1)*j/(N*M))
  • (i/N, (j+1)/M, 8*i*(j+1)/(N*M))
  • ((i+1)/N, (j+1)/M, 8*(i+1)*(j+1)/(N*M))

-- SzaMa - 2006.11.09.

thx to J.