Pytanie do mirków. Potrzebuję obliczyć jakie jest prawdopodobieństwo, że obiekt A (warto dodać, że ów obiekt się porusza) przetnie/przejdzie przez punkt B, który ma stałe współrzędne. Czy ktoś z Was przerabiał podobny problem i wie jaki algorytm najlepiej się tutaj sprawdzi? Przykłady mile widziane. Zależy mi na tym, żeby wynik został zwrócony w procentach (%).
@xerxes931: Na pewno? Pamiętam coś podobnego ze studiów, ale tam chyba chodziło o dwa punkty, bo zakładam, że obiekt A nie jest punktem, tylko obszarem właśnie.
@Xanatos: No to wtedy można założyć że to punkt B się porusza i musi przelecieć przez obszar A (z któregośtam twierdzenia newtona jeśli A porusza się w stronę B, to B porusza się w stronę A) i wtedy się da jakoś.
@Spook: PS. Zacznę od prostego przypadku, rozwiń sobie na drugi wymiar. Jest na planszy punkt o rozmiarze 1 piksela. Uderzasz w losowym miejscu drugim pikselem. No to jak taki piksel sobie leci np. z góry na dół to jaka jest szansa, że trafi? Ano 2 piksele podzielone przez szerokość ekranu.
@echelon_: No nie do końca, bo punkt jest bezwymiarowy, jest nieskończenie mały więc nie ma szans w niego trafić. Jeśli byś chciał to pokazać na ekranie to byłby nieskończenie mały piksel, a na szerokości ekranu jest ich nieskończoność. Pozdro
@Spook: Ja to cannot into programowanie i nie podpowiem algorytmów, ale samo zagadnienie to klasyka teorii rozpraszania. Googlaj w połączeniu z hasłem "przekrój czynny".
@yoshi314: nie do końca. Obiekt A może przeciąż punkt B, ale nie musi.
@1080p: mógłbym, ale jestem niemalże pewien, że jest na to jakiś sprawdzony i gotowy wzór/algorytm, który mógłbym wykorzystać :)
@xerxes931: @echelon_: dajmy na to, że plansza ma wymiary 400x400. Obiekt A jest elipsą o promieniu 20 bądź 40, zaś punkt/obiekt B elipsą o promieniu 10.
Jeżeli masz obiekty/obszary 3-wymiarowe A i B i chcesz obliczyć prawdopodobieństwa że A (poruszające się) będzie kolidować/przetnie się z B (stałym). I jeśli znasz wektor prędkości A/siły nań działające to możesz jakąś trajektorie obliczyć i sprawdzić czy przetnie B. Ale tu nie ma żadnego prawdopodobieństwa.
Chyba że do A doliczysz jakieś czynniki losowe, to wtedy możesz powtórzyć obliczanie tej trajektorii n razy i
@Spook: nawiasem mówiąc prawdopodobieństwo zawsze liczy się dla zdarzeń zachodzących w jakimś zbiorze możlwiych zdarzeń - bez opisania jaki ruch masz na myśli ciężko będzie coś wykoncypować. Generalnie poszedł bym pewnie w kierunku opisania koła od środka obiektu A - zakłądam że może poruszać się w dowolnym kierunku w linii prostej
wtedy mamy 360 stopni do sprawdzenia w ilu przypadkach na 360 zachaczy o punkt B
#programowanie #kiciochpyta #fizyka #matematyka #gamedev #pytanie
Komentarz usunięty przez autora
Komentarz usunięty przez autora
@1080p: mógłbym, ale jestem niemalże pewien, że jest na to jakiś sprawdzony i gotowy wzór/algorytm, który mógłbym wykorzystać :)
@xerxes931: @echelon_: dajmy na to, że plansza ma wymiary 400x400. Obiekt A jest elipsą o promieniu 20 bądź 40, zaś punkt/obiekt B elipsą o promieniu 10.
@Ciermont: sprawdzę, dzięki
Jeżeli masz obiekty/obszary 3-wymiarowe A i B i chcesz obliczyć prawdopodobieństwa że A (poruszające się) będzie kolidować/przetnie się z B (stałym). I jeśli znasz wektor prędkości A/siły nań działające to możesz jakąś trajektorie obliczyć i sprawdzić czy przetnie B. Ale tu nie ma żadnego prawdopodobieństwa.
Chyba że do A doliczysz jakieś czynniki losowe, to wtedy możesz powtórzyć obliczanie tej trajektorii n razy i
http://pl.wikipedia.org/wiki/Wykrywanie_kolizji
wtedy mamy 360 stopni do sprawdzenia w ilu przypadkach na 360 zachaczy o punkt B
z tego można wyliczyć szansę