aurel Opublikowano 6 Czerwca 2008 Zgłoś Opublikowano 6 Czerwca 2008 (edytowane) pisze sobie arkanoida i utknęłam na pewnym zagadnieniu - odbicie piłki od rogu klocka. wykrywa mi to bardzo ładnie, ale co piłeczka właściwie powinna dalej zrobić...? jak znaleźć odpowiedni wzór na nowy kąt lotu piłeczki? dodam może, że jeśli piłeczka leci w lewo to jest to kąt PI, w prawo - 0, w pionie PI/2. jeśli leci w dół to zazwyczaj jest to zapamiętane jako kąt ujemny, ale to już raczej nie ma znaczenia. dany jest obecny kąt piłeczki no i oczywiście jej położenie i położenie klocka. aby nadgorliwi nie męczyli się nadaremnie podkreślam - kolizja jest wykrywana prawidłowo! tylko tego odbicia wykminić nie mogę :/ Edytowane 6 Czerwca 2008 przez aurel Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 6 Czerwca 2008 Zgłoś Opublikowano 6 Czerwca 2008 banalne, zdaje mi się. Jeśli piłeczka trafia w kant, no to co się dzieje... nie wiem czy dobrze nazywam prostą wychodzącą z wierzchołka (wektor normalny chyba), jest to prosta która ma ten sam kąt zarówno do poziomej jak i pionowej powierzchni klocka. Biorąc pod uwagę, że klocki w arkanoidzie są ułożone nazwijmy to prosto :), to wektor normalny zawsze będzie pod kątem pi/4 od osi pionowej i poziomej. Jeśli zatem piłeczka przyleci dokładnie pod kątem pi/4 do rogu to odbije się pod tym samym kątem. Jeśli kąt ten będzie wychylony od pi/4 to odbije się o tyle samo w drugą stronę. Gorzej z większymi kątami, bo powyżej pi/4 od wektora normalnego będzie się odbijać już chyba inaczej :) Swoją drogą, trafienie idealnie w róg jest mało prawdopodobne, zawsze piłka trafia nieco w krawędź boczną, to też trzeba by uwzględnić. Gdzieś w książce nt gier komputerowych był napisany arkanoid, i oni zastosowali tam prosty mechanizm fizyki. Nie pamiętam dokładnie jak a książkę bym musiał wygrzebać, ale chyba problem odbić był załatwiony z dyńki że tak powiem przez physic engine :). Ale głowy nie dam. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
rezo_ Opublikowano 6 Czerwca 2008 Zgłoś Opublikowano 6 Czerwca 2008 (edytowane) Mysle ze spokojnie mozesz zrobic to w ten sposob, ze jezeli pilka uderzy w rog lecac po torze wyznaczonym przez przedluzenie dwusiecznej kąta prostego znajdujacego sie w rogu klocka(czyli bedzie leciec pod katem 45 stopni do poziomej i pionowej krawedzi klocka, czyli po prostej y=x ) to powinna ona zmienic jedynie zwrot, kierunek pozostaje ten sam, w pozostalych przypadkach zrobilbym tak zeby odbijala sie jak od zwyklej sciany w przypadku zderzenia doskonale sprezystego(kat odbicia=kat padania), wizualnie to by bylo tak: Pozdrawiam Edytowane 6 Czerwca 2008 przez moreno Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 8 Czerwca 2008 Zgłoś Opublikowano 8 Czerwca 2008 (edytowane) jesteś pewien? Mi się wydaje, że to co narysowałeś, to nie jest idealne uderzenie w róg tylko uderzenie w krawędź klocka. Wg Twojej teorii piłka lecąca czerwoną trasą się zmieni zwrot na przeciwny. A co się stanie jak kulka będzie leciała odchylona o 1° od czerwonej trasy? Twoja teoria mówi że odbije się ona o 92°... W ten sposób powstanie martwa strefa 90° w którą nigdy nie odbije się kuleczka. I tak po uwzględnieniu, że kuleczka nie jest nieskończenie mała to jest nikła szansa na to, że jej trajektoria będzie przechodzić przez wierzchołek klocka :) Edytowane 8 Czerwca 2008 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...