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.

1 komentarz

y y y o co chodzi jakby ???