Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.09
Prihlásený: 14.01.18
Príspevky: 32
Témy: 17
Príspevok NapísalOffline : 22.11.2015 2:03

Čaute, potreboval by som pomoc. Takže, mám kocku u ktorej mám vyriešené tieto veci:

1) Vykreslenie kocky na základe 8 bodov spojených čiarami. (bresenhamov algoritmus)

2) Rotácia tejto kocky + škálovanie (pomocou transformačných matíc)

3) Vykresľovanie iba viditeľných strán kocky. (robené na základe normálových vektorov strany)

4) Vyfarbenie kocky (flood fill (so zásobníkom))

Teraz som sa dostal do fáze kedy musím túto kocku nejakým spôsobom natieňovať (osvetliť). Je mi jasné že to musím pravdepodobne robiť cez phongov osvetlovací model pomocou tých zložiek. Teoreticky teoriu k tomu trošku chápem. Chápem že musím nejakým spôsobom pracovať s tými normálami (pravdepodobne asi vypočítať normály jednotlivých bodov). Každopádne sa v tomto cítim dosť stratený. Hľadal som všemožné príklady na nete, študoval teoriu ale aj po tom všetko mám v tom trošku guláš. Nájde sa tu niekto kto s týmto pracoval a poprípade vie ako by sa to "teoreticky" dalo spraviť? Nečakám tu žiadny kód ale skôr myšlienky ako by ste to robili.

Na konci len podotknem že nesmiem používať žiadne vstavané 2d,3d funkcie ale iba vykreslenie čiar atd.. ktoré som si sám naprogramoval.

Predom ďakujem za akúkoľvek pomoc alebo odozvu

Gamecam


Offline

Skúsený užívateľ
Skúsený užívateľ
Phongov osvetlovací model

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 22.11.2015 2:14

Matfyz, eh?
Musis si zostit normalu tej plochy a zistit aky uhol zviera relativne ku svetlu. Ak je >=90° tak je to v tieni, inak to je osvetlene. Potom to uz len naskalovat podla toho aky uhol zvieraju. Cim je blizsie cislo k 90°, tym to bude blizsie k tmavej.
Este si treba dat pozor na to ci vstavane matematicke funkcie vracaju radiany alebo stupne...







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.09
Prihlásený: 14.01.18
Príspevky: 32
Témy: 17
Príspevok Napísal autor témyOffline : 22.11.2015 2:26

Bohužial matfyz nie :) Aplikovaná informatika. Tam ide práve o to že máme použiť konkrétne phongov model ten má 3 zložky ambientnú, diffuznu a zrkadlovú. Konkrétne som študoval čo a ako s týmito zložkami ale aj tak som sa k ničomu nejak nedopracoval. bohužiaľ ja a matematika tiež nie sme nejak extra kamaráti. To či bude strana osvetlená alebo nie je bezpredmetné pretože sa bude jednať o pohľad s predu zo stredu a s toho isté miesta pôjde aj svetlo, to znamená že tie strany ktoré budú viditeľné budú aj osvetlené. teraz skôr premýšlam ako vypočítať normály jednotlivých pixelov a ako vypočítať uhle a ako to celé vlastne previesť do javy.


Offline

Skúsený užívateľ
Skúsený užívateľ
Phongov osvetlovací model

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 22.11.2015 17:08

Nemusis spocitat normaly jednotlivych pixelov ale normaly ploch (iba ze by kazdy pixel ob plocha)
Ak by si to chcel mat pekne hladko tak potom urobit farebny gradient medzi predchadzajucou plochou a nasledujucou plochou.
Normalu vypocitas bud cez maticovu operaciu. https://en.wikipedia.org/wiki/Normal_(geometry) ? Plochu si das do tvaru ax+by+cz=d a vektor (a,b,c) by mal byt normala pre danu plochu, nie?







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.09
Prihlásený: 14.01.18
Príspevky: 32
Témy: 17
Príspevok Napísal autor témyOffline : 22.11.2015 23:26

Už chápem čo tým myslíš. nevieš ešte náhodou ako yypočítam ten uhol medzi dvomi normálami? Pre príklad mám 2 normálové vektory u(1,1,1) a v (0,0,40000)
a fakt netuším ako z týchto dvoch vektorov dostanem uhol :D

EDIT: Už som to našiel :)


Offline

Skúsený užívateľ
Skúsený užívateľ
Phongov osvetlovací model

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 22.11.2015 23:31

Osobne si myslim ze na to je skalarny sucin. Oprav ma ale ak sa mylim. Toto by ste mali mat prebrate z matematiky. Skus pogooglit, no malo by to byt ono.

EDIT:
mozno pomoze: http://www.sportgymke.sk/mvd/AnalytickaGeometria/SkalarnySucin.pdf







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.09
Prihlásený: 14.01.18
Príspevky: 32
Témy: 17
Príspevok Napísal autor témyOffline : 23.11.2015 0:27

Už to mám, ďakujem za pomoc :) a bol tam k tomu trošku zložitejší vzorček :)

double vysledok;
double delenec=((x.u1*y.u1)+(x.u2*y.u2)+(x.u3*y.u3));
double delitel1=Math.sqrt(Math.pow(x.u1, 2)+Math.pow(x.u2, 2)+Math.pow(x.u3, 2));
double delitel2=Math.sqrt(Math.pow(y.u1, 2)+Math.pow(y.u2, 2)+Math.pow(y.u3, 2));
double delitel=delitel1*delitel2;
return vysledok=delenec/delitel;

Toto mi vypočítalo cos alfa čo pre moje účeli bolo dostačujúce. Stačí potom už len vynásobiť toto číslo farbou a dostaneš niečo v rozmedzí 0-255, čo odpovedá aj farbe osvetlenia.


Offline

Skúsený užívateľ
Skúsený užívateľ
Phongov osvetlovací model

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 23.11.2015 0:30

Hej, tomu sa hovori skalarny sucin :D Som sam seba prekvapil, ze si z tohto este nieco pamatam, predsa len ta skola na nieco je...







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.09
Prihlásený: 14.01.18
Príspevky: 32
Témy: 17
Príspevok Napísal autor témyOffline : 23.11.2015 0:36

No ja a matematika si nerozumieme takže nech sa tomu hovorí ako chce hlavne že to funguje :D


Odpovedať na tému [ Príspevkov: 9 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Shader model

v Počítačové hry

3

527

12.12.2010 18:38

heretik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Shader model

v nVidia grafické karty

16

1247

04.07.2007 18:22

majso Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Svedsky model

[ Choď na stránku:Choď na stránku: 1, 2, 3, 4, 5 ]

v Spoločnosť, politika, psychológia, filozofia, náboženstvo

130

11009

08.09.2006 15:50

peterb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. projekt - model

v Ostatné

1

441

25.02.2010 14:03

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Model 769N help !

v Ovládače

12

1430

17.02.2007 18:18

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. macbook - konkretny model

v Notebooky a netbooky

13

772

04.02.2012 13:15

petocervik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MVC: časť model

v PHP, ASP

2

604

26.01.2011 16:55

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. i5 aký model

v Intel - Integrated Electronics

5

447

01.03.2015 12:10

mato59 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. I: model zeleznice

v Informujem sa

0

367

22.04.2010 20:15

Rasputin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dátový a databázový model

v Databázy

2

814

13.06.2009 21:33

myxall Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Interaktívny model areálu - flash?

v Ponuka práce

0

747

03.02.2011 11:22

beretta Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. shader model 2.0

v ATI/AMD grafické karty

4

3271

29.07.2008 19:57

Luks Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. HD 4890 ktory model ?

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Grafické karty

63

3144

12.08.2009 12:29

mano8 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Notebook Microbook model 7020

v Notebooky a netbooky

3

834

31.03.2009 12:09

marzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kupovanie tabletu model M33

v Mobilné zariadenia

12

579

27.09.2013 18:50

Lantern Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. RaspberryPi 3 Model B

v Mikropočítače

24

1269

12.05.2016 11:01

eon5 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra