Autor Wątek: Fizyka odbicia swiatla  (Przeczytany 3484 razy)

maxest

  • Gość
# Styczeń 07, 2008, 11:35:16
Juz dluzszy czas meczy mnie jedna sprawa. Spojrzcie na ten rysunek: http://www.fotcom.biz/jankowski/Zachod%20slonca%20nad%20lodowcem%20Khumbu.jpg
I powiedzcie: z czego wynika fakt, ze odbicie slonca w wodzie "rozmywa" sie pionowo?
Taki "efekt" mozemy zaobserwowac nie tylko w przypadku slonca ale tez jak np. swiatlo od latarni odbija sie w jakiejs kaluzy. I wlasnie myk jest taki ze czasem to odbicie jest "normalne", a czasem tak mocno "rozciagniete". Z czego to wynika?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline skoti

  • Użytkownik

# Styczeń 07, 2008, 12:02:18
Juz dluzszy czas meczy mnie jedna sprawa. Spojrzcie na ten rysunek: http://www.fotcom.biz/jankowski/Zachod%20slonca%20nad%20lodowcem%20Khumbu.jpg
I powiedzcie: z czego wynika fakt, ze odbicie slonca w wodzie "rozmywa" sie pionowo?
Taki "efekt" mozemy zaobserwowac nie tylko w przypadku slonca ale tez jak np. swiatlo od latarni odbija sie w jakiejs kaluzy. I wlasnie myk jest taki ze czasem to odbicie jest "normalne", a czasem tak mocno "rozciagniete". Z czego to wynika?
Takie zachowanie oświetlenia jest nie tylko na wodzie ale wszędzie - tylko jest niezauważalne. Wynika to z właściwości materiału obiektu odbicia :)... kolor zależy to od współczynnika rozbłysku (specular), a wielkość i intensywność od Połyskliwości materiału (shininess).
Zależy też od kątu patrzenia na płaszczyznę (im bardziej prostopadle tym mniejsze rozciągnięcie)
« Ostatnia zmiana: Styczeń 07, 2008, 12:04:00 wysłana przez skoti »

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Styczeń 07, 2008, 12:08:51
Zależy też od kąta patrzenia na płaszczyznę (im bardziej prostopadle tym mniejsze rozciągnięcie)

Ja myślę, że rozciągnięcie odbicia nie zależy od kąta patrzenia na płaszczyznę odbijającą. To znaczy trochę zależy ale dokładnie odwrotnie. Im mniej prostopadły do płaszczyzny jest wektor patrzenia tym odbicie jest bardziej ściśnięte a nie rozciągnięte. A rozciągnięcie odbicia moim zdaniem zależy od kąta pod jakim pada światło na płaszczyznę. I tutaj faktycznie im kąt jest mniej prosty tym odbicie jest bardziej rozciągnięte. To znaczy gdy Słońce jest wysoko na niebie (południe) to w wodzie zobaczymy prawie kółeczko, a gdy Słońce chowa się za horyzontem (zachód) to odbicie będzie bardzo rozciągnięte. Mogę się oczywiście mylić, bo to tylko moje przemyślenia. :)

maxest

  • Gość
# Styczeń 07, 2008, 12:16:58
A co z np. latarniami. Spojrzcie np. na to zdjecie: http://www.fotomotywy.pl/img.php?i=fo,86207,640,1500,1187089503. Zrodla swiatla sa iles tam metrow nad powierzchnia wody i w wodzie zamiast pojedynczego, zwyklego odbicia, mamy takie duze rozciagniecie. To raz, a dwa: wydaje mi sie ze noca odbicia sa bardziej rozciagniete niz za dnia. Czy tak jest naprawde (jesli tak to dlaczego) czy tylko jakos dziwnie tak mi sie wydaje? :P

Offline Goliatus

  • Użytkownik
    • Warsztat - tworzenie gier

# Styczeń 07, 2008, 12:23:57
Może chodzi o fale? Światło ulega rozproszeniu na nierównej powierzchni i stąd takie roziągnięcie.

Offline skoti

  • Użytkownik

# Styczeń 07, 2008, 12:24:38
Ja myślę, że rozciągnięcie odbicia nie zależy od kąta patrzenia na płaszczyznę odbijającą. To znaczy trochę zależy ale dokładnie odwrotnie. Im mniej prostopadły do płaszczyzny jest wektor patrzenia tym odbicie jest bardziej ściśnięte a nie rozciągnięte. A rozciągnięcie odbicia moim zdaniem zależy od kąta pod jakim pada światło na płaszczyznę. I tutaj faktycznie im kąt jest mniej prosty tym odbicie jest bardziej rozciągnięte. To znaczy gdy Słońce jest wysoko na niebie (południe) to w wodzie zobaczymy prawie kółeczko, a gdy Słońce chowa się za horyzontem (zachód) to odbicie będzie bardzo rozciągnięte. Mogę się oczywiście mylić, bo to tylko moje przemyślenia. :)
Dokładnie to zależy od wektora pomiędzy wektorami oka i światła czyli H (znormalizowany (wektor oka + wektor światła)) ;p. Ale mylisz się względem wektora patrzenia, bo jest tak jak ja mówiłem ;)

Cytat: maxest
A co z np. latarniami. Spojrzcie np. na to zdjecie: http://www.fotomotywy.pl/img.php?i=fo,86207,640,1500,1187089503. Zrodla swiatla sa iles tam metrow nad powierzchnia wody i w wodzie zamiast pojedynczego, zwyklego odbicia, mamy takie duze rozciagniecie. To raz, a dwa: wydaje mi sie ze noca odbicia sa bardziej rozciagniete niz za dnia. Czy tak jest naprawde (jesli tak to dlaczego) czy tylko jakos dziwnie tak mi sie wydaje? Tongue
Nie są większe tylko bardziej widoczne (bo mniejsza jest wartość diffuse i ambient :))

//edit
@Goliatus: jak widać po ostatnim screenie od maxest'a jest tak i bez fal :)
« Ostatnia zmiana: Styczeń 07, 2008, 12:26:11 wysłana przez skoti »

Offline Goliatus

  • Użytkownik
    • Warsztat - tworzenie gier

# Styczeń 07, 2008, 12:28:33
@Goliatus: jak widać po ostatnim screenie od maxest'a jest tak i bez fal :)
Są fale, dla oka nieznaczne, ale jeśli promień trafia prawie prostopadle w czoło fali to promień się załamuje a nie odbija.

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Styczeń 07, 2008, 12:29:42
Dokładnie to zależy od wektora pomiędzy wektorami oka i światła czyli H (znormalizowany (wektor oka + wektor światła)) ;p. Ale mylisz się względem wektora patrzenia, bo jest tak jak ja mówiłem ;)

No ale jak się narysuje na stole kółko i zbliży wzrok do powierzchni stołu to robi się z niego ściśnięta, a nie rozciągnięta wzdłuż wektora patrzenia, elipsa. :)



Cytat: maxest
A co z np. latarniami.

Jak będę miał czas to wezmę latarkę, wybiorę się wieczorem do łazienki, naleję wody do umywalki i spróbuję różnych kombinacji kąta świecenie i patrzenia. :)

Offline Goliatus

  • Użytkownik
    • Warsztat - tworzenie gier

# Styczeń 07, 2008, 12:31:47
Cytat: maxest
A co z np. latarniami.

Jak będę miał czas to wezmę latarkę, wybiorę się wieczorem do łazienki, naleję wody do umywalki i spróbuję różnych kombinacji kąta świecenie i patrzenia. :)
Musiałbyś tam nalać wody z kałuży, bo inaczej swiatlo sie odbije od dna umywalki :)

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Styczeń 07, 2008, 12:49:19
@Goliatus: jak widać po ostatnim screenie od maxest'a jest tak i bez fal :)

Fale zawsze są - Ziemia się kręci, masy powietrza się przemieszczają, w wodzie pływają różne paskudztwa itp. Prawdopodobnie gdyby umieścić taką kałużę czy inne jezioro w odizolowanym układzie, to nie byłoby tego "rozciągnięcia". Tylko że jak dotąd raczej nikt czegoś takiego nie obserwował :).

Offline skoti

  • Użytkownik

# Styczeń 07, 2008, 12:54:15
@Goliatus: jak widać po ostatnim screenie od maxest'a jest tak i bez fal :)
Są fale, dla oka nieznaczne, ale jeśli promień trafia prawie prostopadle w czoło fali to promień się załamuje a nie odbija.
Chodzi tu o najprostszy model oświetlenia i nie ważne czy są fale ;p
Np. Idealnie płaska powierzchnia i zwykłe światło omni w blenderze ;p

@Złośliwiec: to że fale są to wiem tylko nie o to ty chodzi ;p

@MDW: Co ma narysowany kółko do modelu oświetlenia ;p Pozatym kto mówi o odległości - mowa jest o kątach ;p

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Styczeń 07, 2008, 12:55:02
Musiałbyś tam nalać wody z kałuży, bo inaczej swiatlo sie odbije od dna umywalki :)

Wody z kałuży? Chodzi o to, że woda powinna być brudna (nieprzezroczysta)? W takim razie najpierw się w niej umyję, a potem zrobię eksperyment. Korzyść będzie podwójna. ;) :D

maxest

  • Gość
# Styczeń 07, 2008, 13:02:54
skoti: zrobilem u siebie podobna symulacje z shader'kami i u mnie wyglada to tak, ze gdy np. zrodlo swiatla jest daleko na osi Z (czy tam w plaszczyznie XZ) a na osi Y stosunkowo nisko to dostaje tez takie jajko :)
Ale na tym drugim screenie co dalem to w zasadzie to zrodlo swiatla w odbiciu nie jest tak do konca rozciagniete. Bardziej bym powiedzial - jest "powielane". Gdyby bylo rozcigniete to powinnismy dostac jajko, a tak przeciez nie jest na zdjeciu

I jeszcze jedna taka sprawa. Dotyczy ona modelu obliczania swiatla odblysku. Sa standardowe rownania z wektorem normalnym N i wektorem polowkowym H ktore sie uzywa to obliczania odblysku. Jest to klasyczny sposob na wlasnie efekt odblysku.
Ale jest tez inna metoda ktora sobie zaimplementowalem nawet wczesniej, bo wydaje sie [dla mnie] byc bardziej "naturalna". Mianowicie chodzi o cos takiego jak na dolaczonym rysunku. W tym przypadku natezenie swiatla odbicia jest maksymalne, gdy kat ALFA jest rowny 0. Im wiekszy ten kat tym moc odbicia mniejsza.
Obydwa sposoby dzialaja dosyc podobnie i wlasnie nie wiem do konca ktory jest bardziej "prawdziwy"

Offline skoti

  • Użytkownik

# Styczeń 07, 2008, 13:32:28
skoti: zrobilem u siebie podobna symulacje z shader'kami i u mnie wyglada to tak, ze gdy np. zrodlo swiatla jest daleko na osi Z (czy tam w plaszczyznie XZ) a na osi Y stosunkowo nisko to dostaje tez takie jajko :)
Ale na tym drugim screenie co dalem to w zasadzie to zrodlo swiatla w odbiciu nie jest tak do konca rozciagniete. Bardziej bym powiedzial - jest "powielane". Gdyby bylo rozcigniete to powinnismy dostac jajko, a tak przeciez nie jest na zdjeciu
Jajko wychodzi w zależności od położenia oka i światła, a w wypadku np. słońca i morza wygląda to mniej więcej tak (tu nie ważne są odległości, ale kąty dlatego tak samo wygląda sytuacja z lampami - a nawet bardziej bo kąt pomiędzy okiem, a latarnią jest tak jak słońce zaraz przed zajściem :))
« Ostatnia zmiana: Styczeń 07, 2008, 13:36:01 wysłana przez skoti »

maxest

  • Gość
# Styczeń 07, 2008, 13:47:57
Cytuj
w wypadku np. słońca i morza wygląda to mniej więcej tak
No rysuneczek fajny. Mniej wiecej o cos takiego mi chodzi. Teraz powiedz tylko jakimi wzorkami to uzyskac? :) Typowy model obliczania speculara z wektorem polowkowym H? Bo w sumie tez mi cos podobnego wychodzi - patrz: obrazek. I taki efekt mam gdy na osi Z swiatlo ma wartosc 100, a na Y 25. Gdy np. dalem na Z 50 to dostawalem bardziej jajko jak na Twoim poprzednim obrazku, a przy obecnych parametrach dostaje cos takiego jak masz na tym ostatnim.
I jeszcze taka drobna subtelnosc..
Cytuj
tu nie ważne są odległości
Ale te zaleza przeciez od odleglosci :P

EDIT: efekt jak na zalaczonym obrazku uzyskalem stosuja model speculara zwiazany wlasnie z wektorem polowkowym. Omowiona przeze mnie druga metoda przynosi ogolnie gorsze rezultaty bo dostaje cos bardziej zblizone do kolka :). W takim wiec wypadku nie wiem do czego moze sie ta metoda przydac a wydawala mi sie ona bardziej "rzeczywista". Ktos w ogole wie skad sie wzial wzor na specular z wektorem polowkowym H? Jesli tak to bardzo bym prosil o jakiegos linka z wyjasnieniem albo cus
« Ostatnia zmiana: Styczeń 07, 2008, 13:52:02 wysłana przez maxest »