Pytanie nie jest związane konkretnie z PHP, dlatego pozwoliłem sobie zamieścić je w tym dziale.
Potrzebuje obliczyć macierz kilku przekształceń obiektu w grafice 2D.
Wiem, że gdy mamy proste przekształcenie (czyli złożone z jednego przemieszczenia i obrotu wg. pewnego punktu - dla uproszczenia powiedzmy, że jest to środek obiektu) to wykonujemy je według reguły:
Kod
transform(-x, -y) * rotate(a) * transform (x + x', y + y')
gdzie x i y to para współrzędnych środka obiektu przed przekształceniem, x' i y' to wartości przesunięcia obiektu, a to kąt obrotu.Problem mam, gdy jest ciąg sekwencji do wykonania, np. obróć o 30 stopni, przesuń o 30 po osi OX, obróć o -60 stopni, przesuń o 10 po osi OX i -15 po osi OY.
Jak się za to zabrać? Na kartce papieru, gdy mam narysowane położenie początkowe i końcowe "łatwo" mogę przenieść ten ciąg przekształceń do krótszej formy podobnej do tej z przykładowego kodu powyżej. Niestety z zaprogramowaniem mam już kłopot.
Z góry dziękuję za pomoc!