Markuz Opublikowano 2 Sierpnia 2013 Udostępnij Opublikowano 2 Sierpnia 2013 Witam, Chciałbym aby kwadrat o współrzędnych (box.x, box.y) obracał się w stronę kursora (mouse.x, mouse.y). W Canvas obracanie robi się za pomocą funkcji c.rotate(radians). Jednak nie wiem jak obliczyć te radiany. Z matematyki jestem słaby, brat podpowiedział mi jak obliczyć tangens tego odcinka i prostej (na środku poziomej), gdy przesunę myszkę w górę wychodzi + nieskończoność, w dół - nieskończoność a w prawo i lewo wychodzi 0. Tylko jak ten tanges przeliczyć na radiany? Proszę o pomoc. draw.rotate(Math.atan((this.y - mouse.y) / (this.x - mouse.x))); Problem rozwiązany, przepraszam za niepotrzebny temat ale może komuś się przyda ta funkcja. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shockah Opublikowano 2 Sierpnia 2013 Udostępnij Opublikowano 2 Sierpnia 2013 Ummm... A to nie powinien być atan2, który sam wszystkie specjalne przypadki poprawia? EDIT: Math.atan2(y1-y2,x2-x1) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 2 Sierpnia 2013 Administratorzy Udostępnij Opublikowano 2 Sierpnia 2013 stopnie na radiany: stopnie * pi / 180 Edit: dla ułatwienia rozszerz sobie klasę Math w JS: Math.radians = function(deg) { return deg * (Math.PI/180); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maniek Opublikowano 2 Sierpnia 2013 Udostępnij Opublikowano 2 Sierpnia 2013 Oblicz kąt pomiędzy środkiem kwadratu i punktem i obróć tym wzorem: x' = (x - szerokosc/2) cos alpha - (y - wysokosc / 2) sin alpha + szerokosc / 2 y' = (x - szerokosc/2) sin alpha + (y - wysokosc / 2) cos aplha + wysokosc / 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się