Dziś na zajęciach informatycznych udało mi się zaprogramować kwiatek (procedura wyszła kwaietek, ale nie ważne). Składa się on z sześciokątnego środka i sześciu ramion złożonych z losowej liczby elementów.
Zaczęłam programowanie od zielonego sześciokąta
oto sześciokąt
ukp "czerwony
pod ws 56 lw 60 opu
ukm "zielony3
wielokąt[powtórz 6[np 56 pw 60]]
pod pw 60 np 56 opu
już
Ma on czerwoną obwódkę nie czarna (to nie pomyłka).
Potem dodałam procedury pomocnicze rysujące te mniejsze sześciokąty wypełniające środek.
oto sześciokątm
ukp "czarny
ukm "zielony6
wielokąt [powtórz 6 [np (56/3) pw 60]]
już
oto sześciokątm2
ukp "czarny
ukm "żółty8
wielokąt [powtórz 7 [np (56/3) pw 60]]
już
Jeden jest jaśniejszy od drugiego. Wskazują na to liczby przy kolorach (mogą mieć one wartość od 1 do 12). Im wieksza wartość liczby, tym jaśniejszy jest kolor.
Aby narysować ramię kwiatka zaczęłam od trójkąta.
oto sześciokątm2
ukp "czarny
ukm "żółty8
wielokąt [powtórz 7 [np (56/3) pw 60]]
już
Zmienna "bok oznacza długość boku, który potem będzie się zmniejszał.
Następnie przy rysowaniu pełnego ramienia (co było dość trudne) wykorzystałam długość boku sześciokąta na środku, czyli 56, aby pozmniejszać trójkąty przy powtarzaniu.
oto ramię
niech "bok 56
niech "n 1+losowa 8
powtórz :n[trójkąt :bok pw 60 np :bok pw 120 np (:bok-7)/2 lw 180 niech "bok :bok-7]
pod
powtórz :n [np (56-(7*(:n-(npw-1))))/2 lw 120 np (56-(7*(:n-(npw)))) pw 120]
już
W piątej linijce pierwsze obliczenia dotyczą cofnięcia w miejscu, gdzie trójkąty się stykają. Drugie działanie, to już cofnięcie po pełnej ściance trójkąta. Oba te działanie, to cofnięcia ze ,,szczytu" ramienia.
czerwony- pierwsze obliczenie
niebieski- drugie obliczenia
Procedura końcowa była chyba najłatwiejszą częścią pracy.
oto kwiatek
środek pod pw 120 np 56 lw 120
powtórz 6[ ramię np 56 lw 60]
już
Brak komentarzy:
Prześlij komentarz