Biorąc pod uwagę zestaw kart do gry (prostokątne obrazy o szerokości i wysokości), w jaki sposób mogę obracać i ustawiać każdą z nich, aby pojawiły się w układzie „wachlarza”, podobnie jak w prawdziwym życiu. Jaka matematyka jest do tego potrzebna?
AKTUALIZACJA
Oto końcowy etap implementacji przeglądarki w JavaScript: https://cosmicrealms.com/blog/2013/03/16/hand-of-cards/ i http://jsfiddle.net/tyyvk/108/
mathematics
Sembiance
źródło
źródło
Odpowiedzi:
Teoria
Ponieważ nie określiłeś, na jakiej platformie to wdrażasz, podam opis algorytmu w sposób niezależny od języka:
To, że obrót jest wyśrodkowany wokół jednego z dolnych rogów karty (lub w pobliżu rogu), powinno być oczywiste, patrząc na nią:
Realizacja
Jak to zaimplementować, zależy to od twojej platformy. W XNA możesz po prostu użyć parametru Origin,
SpriteBatch.Draw
aby zmienić środek obrotu.Oto, co otrzymałem z następującym kodem (z kilkoma poprawkami do źródła, aby wyglądało lepiej - w zasadzie początek zaczyna się w pobliżu prawego rogu, a kończy w pobliżu lewego rogu):
A wynik:
źródło