• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dyfrakcja światła - jasność światła przy konkretnym kącie

Object Storage Arubacloud
0 głosów
186 wizyt
pytanie zadane 18 kwietnia 2017 w C i C++ przez gladius882 Początkujący (450 p.)

Witam.

Od jakiegoś czasu męczę się z problemem symulacji dyfrakcji światła w WinAPI. Mianowicie problem mam z załamaniem światła na szczelinach. Nie wiem jak obliczyć "jasność" światła, które się odbija. Dla kąta 0 przyjmuje wartość 255(jako składowa RGB) natomiast nie mogę sobie poradzić z tym jak obliczyć kolor dla dowolnego kąta.

Jako efekt chcę uzyskać symulację podobną do tej na wikipedii, jednak kiedy obliczam kolor z podanego tam wzoru na I0 wychodzą śmiesznie małe liczby (dla kąta 45 wychodzi 0,0776) :/

Może nie z tego wzoru korzystam albo korzystam źle?

int main(int argc, char** argv) {
	
	double kat = 45;
	kat = rad(kat);
	double I0 = 255;
	double d = 380;
	double sigma = 380;
	
	double wynik = 0;
	
	wynik = ((M_PI*d)/sigma)*sin(kat);
	if(wynik != 0)
		wynik = sin(rad(wynik))/wynik;
	else
		wynik = 1;
		
	wynik = I0*pow(wynik, 2);
	
	cout << wynik;
	
	return 0;
}

Funkcja rad zamienia stopnie na radiany.

1 odpowiedź

0 głosów
odpowiedź 18 kwietnia 2017 przez j23 Mędrzec (194,920 p.)

 wynik = sin(rad(wynik))/wynik;

Pewny jesteś tego rad tutaj?

komentarz 20 kwietnia 2017 przez gladius882 Początkujący (450 p.)
Byłem pewny zanim przeczytałem :D

Usunąłem wywołanie tej funkcji i program rzeczywiście działa jak się spodziewałem. Tylko nie wiem czemu tak to działa? Myślałem, że funkcje trygonometryczne powinny przyjmować parametr w radianach.
komentarz 20 kwietnia 2017 przez j23 Mędrzec (194,920 p.)

A dlaczego sądzisz, że wynik jest w stopniach i że musisz go przekonwertować funkcją rad?

Podobne pytania

+1 głos
2 odpowiedzi 363 wizyt
pytanie zadane 3 kwietnia 2017 w C i C++ przez gladius882 Początkujący (450 p.)
+1 głos
1 odpowiedź 354 wizyt
pytanie zadane 12 kwietnia 2017 w Matematyka, fizyka, logika przez Knayder Nałogowiec (37,640 p.)
0 głosów
2 odpowiedzi 1,010 wizyt
pytanie zadane 30 grudnia 2016 w Matematyka, fizyka, logika przez gujanczyk Obywatel (1,680 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...