Witam,
jestem w trakcie realizacji aplikacji webowej, która m.in. pozwala na dynamiczny obrót zdjęcia o dowolny kąt wg środka prostokąta (zdjęcia jak to zdjęcia są tylko i wyłącznie prostokątne). Poniżej rysunek (badziewny - nie bić ) obrazujący trochę problem...
(chętnie bym wstawił to zdjęcie po ludzku, ale "zabezpieczenie" tego forum mi na to nie pozwala (link do zdjęcia w mojej sygnaturce - podpisie - lepszego sposobu na obejście tego badziewia nie znalazłem :/ - dzięki jeżeli komuś bedzie chciało się zaglądnąć do profilu)....
Problemem jest obliczenie wymiarów najmniejszego możliwego prostokąta, w którym zawiera się obrócone zdjęcie. Udało mi się to zrealizować dla obrotu rzędu 0-90 stopni (zegarowo) i wygląda to tak:
\(\displaystyle{ x = x1 + x2
x = w * \cos(\alpha) + h * \sin(\alpha)
y = y1 + y2
y = h * \cos(\alpha) + w * \sin(\alpha)}\)
Mniejsza o to, czy na obrazku dobrze jest podpisane x1 i x2 (kolejność) w stosunku do użytych f. tryg. bo nie ma to znaczenia dla problemu... Jak wspomniałem wyżej przykład działa pięknie dla alfa z zakresu 0-90 stopni... Pytanie brzmi jak to zrobić dla kolejnych ćwiartek... dla ćwiartki III są to liczby przeciwne dla wyników w/w równań * (-1), a co z zakresami 90-180, 270-360...