Wpis z mikrobloga

Mirki programiści i fizycy mam pytanie - czy da się w jakiś sposób wyliczyć odbicie światła od krzywej? Mam sobie krzywą określoną wektorem punktów (albo tablicą punktów - jak komu wygodniej) i padający na nią promień - z fizyki ze szkoły i studiów pamiętam że takie rzeczy to tylko od prostej się robiło a krzywe które otrzymuje nie przypominają mi soczewki więc kompletnie nie wiem jak postąpić w przypadku krzywej - aproksymować ją do prostej czy może wziąć najbliższy "prosty" kawałek (w większości przypadków będą to tylko 2 najbliższe punkty do punktu padania), a może jest jakieś inne rozwiązanie?

#programowanie #fizyka #kiciochpyta
  • 13
@NjeMjetek: Jeśli świecisz laserkiem, to w tym miejscu gdzie masz odbicie patrzysz tylko, żeby kąt padania był równy kątowi odbicia, ale to najpierw byś musiał chyba wyznaczyć jakiego okręgu to łuk jest, znaleźć styczną i odbić. Jeśli świecisz szerszym światłem, to chyba byś musiał zrobić coś jak próbkowanie i robić to samo co dla laserka, ale co jakąś długość na krzywej. Tak ja bym podszedł :V
@NjeMjetek: W sumie to debil jestem i zaponiałem że są wzory na styczną do funkcji w konkretnym punkcie. Matma rozszerzona psu w dupę zdawana XD Tylko wtedy musisz znaleźć funkcję reprezentującą krzywą :v No ale in the end, to masz tam zwyczajne zwierciadło wklęsłe albo wypukłe i w miejscu przecięcia osi symetrii zawsze kąt padania jest równy kątowi odbicia
@Xirate: Tak, tylko znaleźć funkcję do wektora z ~ 800 punktami które są całkowicie nieregularne może być problemem z jednej strony programistycznym a z drugiej dla tych leciwych Core2Duo ( ͡° ʖ̯ ͡°)
@Xirate: Myślę że znajdzie się jakaś metoda która wystarczająco dokładnie i bez zbędnego narzutu obliczeniowego poda wynik. Przynajmniej dokładniej jak obliczany w oprogramowaniu za 2 miliony cebulionów obwód koła ze wzoru r^2-pi*2 xD
@NjeMjetek: nie masz żadnego opisu tej funkcji? No to najprościej interpolację wielomianową, im więcej punktów tym większa dokładność, i większa złożoność - możesz sobie tym manipulować zależnie od tego jak Ci to będzie działać.
@NjeMjetek: nie zapomnij o fast inverse square root ( ͡° ͜ʖ ͡°) Ogólnie to efektywne obliczanie dobić to dość skomplikowane zagadnienie, ale zależnie od potrzeb można je zawęzić i mocno przyspieszyc