Komputre nie widzi odwrócenia figury

0

Cześć, mam taki problem, chce napisać obracanie figury wokół własnej osi, która by potem mogla wejsc w kolizje z inna figura.
Obracanie napisalem tak:

                      <code> AffineTransform at= new AffineTransform();                                               
                      at.rotate(Math.toRadians(kat),r.getX(),r.getY());

                       g2d.transform(at);
                       g2d.fillRect(r);
                   
No i super, obraca się tylko gdy wchodzi w kolizje z innym prostokatem okazuje się, że ta figura obrócila sie tylko wizualnie. Komputer ja widzi dalej jako nie odwrócona, stad i kolizje wystepuja nie tak jak powinny. Jak zrobic zeby komputer tez widzial te obrócenie?
0

Po każdej operacji obrotu powinieneś wyciągnąć współrzędne kształtu obróconej figury i to z nimi porównywać współrzędne innych figur, które mogą wejść w kolizję. Jeżeli inne też się obracają, to zastosować to samo podejście, czyli do kolizji porównywać tylko dane zgodne w wyświetlonym obrazem.
Można i próbować obracać same figury jako takie (wtedy możesz porównywać do kolizji ich bieżące dane), ale musisz liczyć się z tym, że po jakimś czasie wystąpią błędy zaokrągleń, które spowodują zniekształcenie tych figur. Wtedy rozwiązaniem jest albo co jakiś czas odświeżać oryginalny kształt figur z jakiegoś wzorca, albo to co napisałem na początku.

0

hmm.. dobra, tylko jak odczytac współrzedne tego obróconego obrazka?

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