Strona o programowaniu w języku LOGO

Rozety

Jak wykonano rozetę, która widzisz poniżej? Dla ułatwienia powtarzalny element pokolorowano na czerwono. Myślę, że to nie takie trudne. Musisz tylko sobie przypomnieć, jak narysować okrąg?

Okrąg rysuje się poleceniem okrąg liczba
Każdy aktywny żółw rysuje okrąg o średnicy liczba i środku w swojej aktualnej pozycji.
Sprawdź, czym różnią się polecenia: okrąg liczba i koło liczba?
W tym konkretnym przykładzie jednak wygodniej będzie zacząć rysowanie okręgu nie od środka, ale od linii. Dlatego wykorzystamy zmodyfikowaną procedurę rysowania wielokąta o 36 bokach. Procedura ta kreśli figurę zbiżoną do okręgu. W programach graficznych w ten sposób własnie realizuje się kreślenie okręgu - ludzkie oko będzie widzieć tą łamaną jako okrąg.

oto okrąg36 :promień
 powtórz 36 [np 0.175*:promień pw 10]
już

Pozostaje jeszcze wyjaśnić, skąd w procedurze wzięła się liczba 0.175?
Zwróć uwagę również na separator oddzielający część całkowitą liczby od dziesiętnej - w Logomocji zamiast przecinka mamy kropkę.
Jeżeli porównamy obwody okręgu i 36-cio boku, to otrzymujemy zależność: 2*π*:promień=36*:bok stąd otrzymujemy :bok≈0.175*:promień

Okręgów jest 12, więc musimy powtórzyć 12 razy operację rysowania okręgu, po której nastąpi obrót o kąt 360/12, czyli 300.
Nasza procedura rysująca rozetę wyglądać więc będzie tak:

oto ROZETA36 :promień
 powtórz 12 [okrąg36 :promień pw 30]
już

Zadania do samodzielnego wykonania

Jak wykonano poniższe rozety? Ile powtarzających się wielokątów foremnych widzisz w każdym przykładzie?

Parametr ilość_figur będzie wynosić kolejno: 18 8 10.

Uniwersalna procedura rozeta będzie zatem miała postać:

oto rozeta :ile :bok :ilość_figur
 powtórz :ilość_figur [wielobok.Foremny :ile :bok pw 360 / :ilość_figur]
już

Poniżej jeszcze inne rozety. W przeciwieństwie do poprzednich żółw rysując wielokąty foremne nie obraca się tylko dookoła, ale wędruję po innym wielokącie foremnym.

Pomogę Ci jeszcze narysować środkową figurę. Pozostałe ponieneś wykonac samodzielnie.
Żółw 6 razy powtarza następujące czynności:
  • Rysuje kwadrat
  • Obraca się o 300 w lewo
  • Idzie do przodu o wielkość boku kwadratu
  • Obraca się o 900 w prawo
oto rozeta2 :bok
 powtórz 6 [wielobok.Foremny 4 :bok lw 30 np :bok pw 90]
już

Gwiazdy

GWIAZDA PITAGOREJSKA (PENTAGRAM)

To chyba najbardziej znana gwiazda, jeżeli chodzi o figury matematyczne.


Idealny pentagram powstaje poprzez wyrysowanie przekątnych pięciokąta foremnego i następnie zamazanie oryginału. Kreślimy odcinek z pierwszego wierzchołka pięciokąta do trzeciego, potem odcinek z trzeciego do piątego, z piątego do drugiego, z drugiego do czwartego i z czwartego do pierwszego.
Kąt wewnętrzny pentagramu ma miarę 36°.

W pentagramie ukryty jest złoty podział, φ = (1+√5)/2 = 1.61803398…
Pentagram był symbolem znanym już w czasach neolitu. Pentagram był znany jako Gwiazda Isztar, a później jako Gwiazda Izydy. Mistycy pitagorejscy widzieli w nim symbol doskonałości, kojarzyli go z życiem i zdrowiem. W starożytności przekonanie o właściwościach ochronnych pentagramu było tak silne, że Babilończycy często rysowali go na pojemnikach z żywnością, co miało zapobiegać jej gniciu. Dla pierwszych chrześcijan pentagram odzwierciedlał pięć ran Jezusa ze względu na 5 wierzchołków. Od XIV wieku uważany za symbol szatana, ze względu na podobieństwo do głowy kozła (odwrócony dwoma wierzchołkami do góry).

Dla żółwia narysowanie gwiazdy jest bardzo proste powtarza tylko określoną liczbę razy (tyle ile jest ramion gwiazdy) dwie czynności:

  • Idź do przodu o określoną wielkość
  • Obróć się o określony kąt

O ile podanie długości linii nie stwarza problemu to musimy sami wyliczyć, o jaki kąt ma się obrócić. A to już nie jest takie proste.
Dla pentagramu kąt wewnętrzny podałem - kat zewnętrzny łatwo więc obliczyć 180° - 36° = 144°. Dla innych gwiazd, niestety będziesz musiał(a)obliczyć samodzielnie.

oto PENTAGRAM :bok
 powtórz 5 [np :bok pw 144]
już

Prawda, ze proste?
Oczywiście, ale dociekliwi na pewno powiedzą, że ten pentagram jest jakiś odwrócony.
I oczywiście mają rację. Dolne ramiona powinny być na tej samej wysokości. Procedurę trzeba więc poprawić. Prze rozpoczęciem rysowania żółw musi się obrócić w prawo o połowę kąta wewnętrznego pentagramu, czyli 18°.
Procedura po tej drobnej korekcie wygląda następująco:

oto PENTAGRAM :bok
 skieruj 18
 powtórz 5 [np :bok pw 144]
już

Nie ma definicji matematycznej gwiazdy. Nam chodzi więc o wielokąt gwiaździsty foremnyłamaną zamkniętą utworzoną przez połączenie wierzchołka wielokąta foremnego z innym, niesąsiednim wierzchołkiem i kontynuowaniem tego procesu aż powrócimy do wyjściowego wierzchołka.

Źródło:
http://pl.wikipedia.org/wiki/Wielok%C4%85t_gwia%C5%BAdzisty

Zwróć uwagę, że już gwiazdy siedmioramienne są dwie - kształt zależy od tego, które wierzchołki siedmioboku foremnego będziemy łączyć.

Gwiazda osmioramienna (pierwsza w szeregu)

Rysunek pierwszy nie wymaga komentarza skoro gwiazda ośmioramienna, to żółw musi wykonać osiem ruchów do przodu.
Na drugim rysunku mamy zaznaczone punkty, w których żółw zaczyna wykonywać kolejny obrót o pełny kąt. Jak widzimy, w sumie są trzy takie obroty.
Kąt zewnętrzny 1350 wynika zaś z prostej matematyki: 3x360/8=135

Spróbuj wyliczyć kąty, o jakie musi obrócić się żółw rysując gwiazdy: siedmioramienną i dziesięcioramienną (jak na rys. poniżej).

Napisz procedurę GWIAZDA, która rysuje uniwersalne gwiazdy.
Argumentami tej procedury powinny być:
  • Ilość ramion gwiazdy :ile
  • ilość obrotów o kąt 360 podczas rysowania gwiazdy :obroty
  • wielkość boku gwiazdy :bok

Zadanie 3A 

Narysuj heksagram, czyli gwiazdę sześcioramienną, zwaną też Gwiazda Dawida albo Tarczą Dawida.

Heksagram złożony jest z dwóch zachodzących na siebie pionowo trójkątów równoramiennych (najczęściej równobocznych) odwróconych od siebie wierzchołkami. Wierzchołki Gwiazdy Dawida leżą na okręgu w punktach odpowiadających parzystym godzinom na tarczy zegara.

Wskazówka: Procedurę wielokąt.Foremny już znasz.
Zadanie 3A można rozwiązać na 2 sposoby:

  • Sposób 1
    Figura 3A to dwa trójkąty równoboczne zachodzące na siebie. Do wyznaczenia odległości pomiędzy ich wierzchołkami potrzeba ci będzie wysokość trójkąta równobocznego, którą wyliczysz z twierdzenia Pitagorasa.
  • Sposób 2
    Figura 3A to 6 trójkątów równobocznych, których rysowanie można wykonać poruszając się po sześciokącie foremnym o takim samym boku, jak bok trójkąta. Ten sposób rozwiązania podobny jest to rysowania rozet.
Valid XHTML 1.0 StrictPoprawny CSS!
Copyright (c) 2009-2019. Szkoła Podstawowa nr 3 im. Mikołaja Kopernika. All rights reserved.