Polispirale w Pascalu
Patkoss
Spirale w Pascalu.
Grafika żółwia nie jest może (jak zdaje się sama nazwa mówić) najszybszym narzędziem w grafice komputerowej, jednak ze względu na swoją elegancję lub prostotę zapisu algorytmów nadal znajduje się w zainteresowaniu ośrodków akademickich. Doskonale nadaje się ona do sekwencyjnego wywoływania procedur, zmieniając parametry. Język Logo posiada zaimplementowaną grafikę żółwia i często z tym językiem jest właśnie ona kojarzona, zapominając o tym, że może ona być dobrym narzędziem do rysowania obiektów dwuwymiarowych. Grafikę żółwia w Pascalu implementuje nam moduł Graph3. Wykorzystajmy więc jego funkcje i procedury do przykładowego wyrysowania polispirali (do tego grafika żółwia nadaje się doskonale). Na samym początku programu w sekcji stałych, zadeklarujmy następujące stałe określonego typu (a więc zmienne wstępnie zainicjowane) i dwie stałe normalne:
const dist : integer=1; {długość pierwszego odcinka spirali}
angle: integer=5; {kąt (zmienny lub stały) początkowy spirali}
incr =1; {o ile zwiększamy odcinek początkowy w każdym kroku}
max = 100; {maximum: tutaj zakończymy obliczenia}
oraz jedną zmienną:
var i: integer; {zmienna srerująca}
Jak łatwo można się domyślić z komentarzy, wykorzystamy pętle for (po to nam zmienna sterująca). Na początek oczywiście zainicjujmy tryb graficzny i wykonajmy pewne kroki początkowe przed rozpoczęciem wykonywania pętli:
begin
graphmode; {inicjacja trybu graficznego}
showturtle; {pokazanie żółwia na ekranie, można go ukryć procedurą hideturtle}
turtledelay (50); {opóżnienie żółwia - żebyśmy mogli oglądać tworzenie spirali}
forwd (dist); {wyrysowanie pierwszego odcinka spirali}
turnright (angle); {obrót o kąt początkowy}
Teraz jesteśmy gotowi na rozpoczęcie pętli właściwej naszego programu:
for i:=1 to max do
begin
dist:=dist+incr; {zwiększamy odcinek w każdym kroku}
forwd (dist); {rysujemy jego}
turnright (angle); {obracamy żółwia o określony kąt}
end;
Na ekranie powinniśmy ujrzeć spiralę. Aby program za szybko nam się nie skończył, możemy go zatrzymać poleceniem readln. Wyjście do trybu tekstowego realizuje procedura closegraph. Wyrysowanie polispirali jest bardzo proste a wygląda nie najgorzej. Algorytm ten ma jedną zaletę - jest bardzo otwarty. Spróbuj samodzielnie zmienić długość odcinka początkowego, długość o jaką jego zwiększamy, spróbuj także zmieniać kąt w pętli. Możesz to wszystko zmienić razem lub osobno i obserwować efekty.
y y y o co chodzi jakby ???