Projekcja punktu na osi

0

Dobry wieczór, szukam pomocy przy wykrywaniu kolizji za pomocą Separating axis theorem - kwadrat nie podany rotacji i linia podana rotacji.

Postępuje zgdonie z podanymi punktami:

  1. Obliczyć wektor krawędzi - gotowe
  2. Obliczyć wektor normalny - gotowe
  3. Obliczyć projekcję punktów na tym wektorze normalnym... - i tu pojawia się problem

Konkretniej nie wiem do końca jak to zrobić, w internecie znalazłem tylko coś takiego
http://stackoverflow.com/questions/20957749/how-to-project-a-polygon-on-an-axis

Szukam kogoś kto będzie mi to mógł wytłumaczyć na jakimś przykładzie, z góry dziękuje.

0

nie bardzo rozumiem zadanie - co znaczy nie podany rotacji? Czy chodzi Ci o poddanie rotacji? Czyli że dowolny kwadrat jest nieruchomy, a linia która ten kwadrat przecina w dowolnym miejscu, jest to linia która się obraca wokół jakiegoś z góry podanego punktu obrotu na tej linii, a Ty masz wyznaczyć punkty przecięcia?

O to chodzi? http://www.dyn4j.org/2010/01/sat/

edit:
a może chodzi o spełnienie warunku przecięcia wektorów? Czyli o sprawdzenie czy kąt między wektorami jest równy 0 albo Pi, bo w tych wypadkach będą one równoległe?
nie wiem zgadywanka :D

0

.Na razie wygląda to tak:

2ekp4z8.jpg

Próbuję wykryć kolizję pomiędzy ruchomym kwadratem a nie ruchomą linię.

Lina może zmieniać rotację (ustawiane losowe w czasie startu gry), kwadrat nie.

0

@ref
Korzystam z tego poradnika: http://www.sevenson.com.au/actionscript/sat/.
Niestety jak wcześniej utknąłem na matematyce, konkretnie przy podpunkcie drugim.
Liczę że ktoś będzie w stanie mi pomóc i wyjaśnić chociaż z jakiego wzoru skorzystać.

Z góry dziękuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1