grafika zolwia id 194858 Nieznany

background image

Spis treści

Spis treści . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1. Grafika żółwia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.1.

Sterowanie źółwiem . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2.

Przykład . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

background image

1. Grafika żółwia

Grafika źółwia (ang. turtle graphisc) jest ściśle związana z językiem Logo.

Język programowania Logo został zaprojektowany pod koniec lat 60 ubie-
głego wieku przez Seymoura Paperta. Język został oparty o LISP a jego
nazwa pochodzi od greckego wyrazu logos oznaczającego „słowo”.

Początkowo język Logo służył do sterowania robotem zwanym ze względu

na swój wygląd ”Żółwiem” (patrz rysunek 1). Robot wykonując specjalne
komendy przemieszczał się po podłodze w różnych kierunkach, a dzięki wy-
posażeniu w pióro mógł znaczyć trasę swojej wędrówki. Z upływem czasu

Rysunek 1. Pierwszy żółw

żółw mechaniczny został zastapiony przez żółwia „ekranowego” - szybszego
i tańszego w eksploatacji.

Oczywiście polecenia sterujące żółwiem to tylko część języka Logo. Język

ten dysponuje szeregiem zaawansowanych mechanizmów pozwalających na
programowanie proceduralne. Posiada także możliwość stosowania rekuren-
cji.

1.1. Sterowanie źółwiem

Oto podstawowe komendy języka logo (w nawiasach skróty) pozwalające

na sterowanie żółwiem:
FORWARD (FD) n - żółw idzie do przodu o n jednostek,
BACK (BK) n - żółw cofa się o n jednostek,
LEFT (LT) n - żółw skręca w lewo o n stopni,
RIGHT (RT) n - żółw skręca w prawo o n stopni,

background image

1. Grafika żółwia

2

CLEARSCREEN (CS) - czyszczenie obrazu, źółw „idzie do domu”,

czyli wraca do pozycji początkowej,

HOME - źółw „idzie do domu”
CLEARGRAPHICS (CG) - czyszczenie obrazu, żółw nie zmienia

położenia,

PENUP (PU) - podniesienie pióra,
PENDOWN (PD) - opuszczenie pióra,
PENPAINT (PPT) - źółw rysuje linie,
PENERASE (PE) - źółw zmazuje linie
PENREVERSE (PX) - żółw rysuje w trybie inwersji,
HIDETURTLE (HT) - ukrycie źółwia,
SHOWTURTLE (ST) - pokaznie źółwia.

Powstało wiele wersji narodowych poleceń żółwia, w tym także polskie

Logo. Oto wybrane polecenia implementacji AC-LOGO: naprzód (np), pra-
wo (pw), lewo (lw), wróć, wstecz (ws), czyść (cs), podnieś (pod), opuść
(opu).

1.2. Przykład

Jedną z bardziej populanych implementacji języka Logo jest MSW Logo

(patrz rysunek 2), dostępne bezpłatnie pod adresem

http://www.softronix.

com/logo.html

. Wszytkim zainteresowanym tym programem polecam lek-

turę znakomitej książki Jima Mullera (praca [1]).

Rysunek 2. Program MSW Logo

background image

1. Grafika żółwia

3

Inną popularną implementacja tego języka jest Berkeley Logo dostępne

także bezpłatnie pod adresem

http://www.cs.berkeley.edu/~bh/

.

Pod adresem

http://www.gajdaw.pl/logo/

dostępnych jest wiele przy-

kładowych programów w języku Logo, napisanych przy użyciu MSW Logo.
Rysunek 3 przedstawia efekt działania jednego z programów zamieszczonych
pod tym adresem:

Rysunek 3. Lokomotywa

to loko

lokomot 20
cs
lokomot 20

end

to lokomot :a
pociag :a
rt 90
pu
fd :a
rt 90
fd :a*5
lt 180
pd
prost 6*:a 4*:a
rt 90
pu
fd :a*4
pd
lt 90
prost 3*:a 3*:a
pu
bk :a

background image

1. Grafika żółwia

4

pd
circle :a
lt 90
pu
fd :a*7/2
pd
circle :a
rt 90
pu
fd :a*4
pd
prost 3/2*:a 2*:a
lt 90
pu
fd :a*1/2
rt 90
fd :a*3
pd
rt 30
fd :a*4
rt 120
fd :a*4
pu
fd :a*7/2
lt 150
pd
prost 3/2*:a :a

repeat 3[pu fd :a*3/4
rt 30
fd :a*4
pd
circle :a*1/2]
setpencolor [255 0 0]
setfloodcolor[0 0 128]
fill
end

to pociag :a
pu
lt 90
fd :a*25

background image

1. Grafika żółwia

5

rt 90
pd
repeat 3[wagon :a pu bk :a*7 rt 90 fd :a*3 rt 90 pd fd :a*3

lt 90 pu fd :a*3 lt 90 fd :a rt 90 pd]

end

to prost :a :b
repeat 2[fd :a rt 90 fd :b rt 90]
end

to wagon :a
prost :a

10*:a

rt 90
pu
fd :a
rt 90
pu
fd :a*5
lt 180
pd
prost 5*:a 8*:a
pu
fd :a*2
rt 90
fd :a
lt 90
pd
repeat 3[prost 2*:a :a rt 90 pu fd :a*5/2 lt 90 pd]
rt 90
pu
bk :a*3/2
rt 90
fd :a*3
pd
circle :a
rt 90
pu
fd :a*6
pd
circle :a

end

background image

1. Grafika żółwia

6

Grafika żółwia może być ciekawym ćwiczeniem programistycznym łączą-

cym programowanie grafiki dwuwymiarowej z implementacją np. prostego
interpretera wybranego podzbioru poleceń języka Logo. Idea grafiki żółwia,
choć wydaje się prymitywna, tak naprawdę jest bardzo często wykorzysty-
wana we współczesnych algorytmch. Czytelnik przekona się o tym w lekturze
innych rozdziałów.

background image

Literatura

7

Literatura

[1] Jim Muller: The Great Logo Adventure,

http://www.softronix.com/

download/tgla.zip

,

http://www.softronix.com/download/tglacd.zip


Document Outline


Wyszukiwarka

Podobne podstrony:
Grafika Rastrowa id 194834 Nieznany
Grafika komputerowa 3 id 194791 Nieznany
grafika herbisz id 194753 Nieznany
Grafika inzynierska 2 id 194765 Nieznany
Grafika inzynierska id 194762 Nieznany
grafika php id 194831 Nieznany
Grafika komputerowa id 194784 Nieznany
Projektant grafiki 216604 id 40 Nieznany
Grafika wyklady id 194801 Nieznany
LiTTK seminarium grafik id 2714 Nieznany
GrafikaEgz id 194876 Nieznany
Grafika 3 id 194607 Nieznany
grafikia tresci progr id 194904 Nieznany
barcin grafika id 80035 Nieznany (2)
Dodatek3 Grafika wektorowa id Nieznany
grafika 3D lab9 id 194729 Nieznany
GrafikaWord id 328722 Nieznany
Abolicja podatkowa id 50334 Nieznany (2)

więcej podobnych podstron