W tym artykule napiszemy procedurę, która będzie obracać kwadrat rysowany na canvas.

Na początek zadeklarujmy w public :

Kwadrat będziemy rysować za pomocą polecenia :

Punkty p1, p2, p3, p4 to wierzchołki naszego kwadratu. Do odpowiedniego przesunięcia każdego z nich posłużymy się dwiema procedurami. Ta pierwsza będzie wykonywać obrót, następna przesunięcie względem środka kwadratu. Oto one :

W przypadku Rotate deklarujemy punkt do obrotu(p) oraz kąt wyrażony w radianach (a). Następnie punktowi t przypisujemy wartości punktu p w celu dalszych ich wykorzystania. Teraz posługując się wiedzą matematyczną przemnażamy wartości punktu przez sinus i cosinus kąta oraz zaokrąglamy otrzymane wartości. W przypadku Translate dokonujemy tylko przesunięcie punktu na pozycję na środku formy. Te dwie procedury w zasadzie robią wszystko. Teraz pozostaje ich wywołanie. My posłużymy się taką procedurą :

Teraz w FormActive wpiszmy wartości początkowe :

Zostało nam jeszcze ciągłe rysowanie i obrót kwadratu. W tym celu otwórzmy Timer1, Interval ustawmy na 10, a w OnTimer zapiszmy:

Zmieniając różne parametry i dodając więcej kwadratów można uzyskać ciekawe efekty np. stworzyć sześcian

Autor: Nakiel

Załączniki