Double click to edit
Skalowanie
Jednym z wymogów wielu zadań graficznych jest konieczność utworzenia rysunku
o stałym wymiarze dla różnych wartości parametru.
To tego celu wykorzystujemy skalowanie:
Przykład:
Pasek składa się z kwadratów, zamalowanych kolorem niebieskim
Napisz procedurę PASEK :ile, po wywołaniu której powstanie rysunek paska, jak poniżej. Parametr :ile może przyjmować wartości od 2 do 15.
Szerokość paska jest stała i wynosi 600 pikseli
Rysunek musi być na środku ekranu.
PASEK 2
PASEK 6
Jak widać na powyższych rysunkach,
wielkość boków rysowanych kwadratów zależy od wartości parametru :ile.
Przy wywołaniu procedury z parametrem :ile równym 6,
przekątna kwadratu wynosi 600/6, a dla :ile równego 2 wynosi 60/2.
Dla ogólnego przypadku długość boku kwadratu będzie wynosiła :bok=600/:ile.
A więc zaczynamy, przypominam że za tym znakiem ";" będę umieszczał komentarze.
oto pasek :ile
;tutaj definiujemy, czy parametr :ile spełnia wymogi polecenia
jeśli :ile < 2 [pisz [Parametr :ile może przyjomować jedynie wartości od 2 do 15!]stop]
jeśli :ile > 15 [pisz [Parametr :ile może przyjomować jedynie wartości od 2 do 15!]stop]
;zmienna :dlugosc będzie długośćią całego rysunku
przyp "dlugosc 600
;teraz zmienna :bok, jest to bok kwadratu
przyp "bok :dlugosc/:ile
;teraz ustalamy zmienne aby nasz rysunek był na środku erkanu - połowa długość rysunku
przyp "poldlugosci :ile/2*:bok
;połowa długośći boku
przyp "polboku :bok/2
;ustalamy kolor malowania rysunku
ukm "jasnoniebieski
;przysuwamy żółwia, aby rysunek był na środku ekranu
pod lw 90 np :poldlugosci pw 90 ws :polboku opu
;tworzymy pasek
powtórz :ile [wielokąt [powtórz 4 [np :bok pw 90]]pw 90 np :bok lw 90]
już