Go to the first, previous, next, last section, table of contents.


Grafika

Berkeley Logo ima tradicionalnu Logo turtle grafiku sa jednom kornjacom. Visestruke kornjace, dinamicke kornjace i detekcija sudara nisu podrzani. To je dio Loga koji najvise ovisi o tipu hardware-a: neke osobine mogu postojati na nekim strojevima, a na drugima ne. Ipak, cilj je bio napraviti Logo programe lako prenosivima na razne strojeve, a ne iskoristiti pojedini hardware do njegovih punih mogucnosti. Narocito, Logo pokusava namjestiti omjere zaslona tako da kornjacine koordinate [-100 -100] i [100 100] stanu na graficki prozor -- te da bi horizontalni-vertikalni razmjer bio 1:1, iako neki PC ekrani imaju nestandardne razmjere.

Centar grafickog prozora (koji moze i ne mora biti cijeli zaslon, sto ovisi o tipu hardware-a) je kornjacina lokacija [0 0]. Pozitivni X je desno; pozitivni Y je gore. Heading (smjer gledanja kornjace) se mjeri u stupnjevima -- u smjeru kazaljke na satu, od pozitivne Y osi. (Time se razlikuje od standardne matematicke konvencije mjerenja kutova obrnuto od kazaljke sata, od pozitivne X osi.) Kornjaca je prikazana kao jednakokracni trokut; prava pozicija kornjace (pera) je sredina baze (krace stranice).

Boje su, naravno, ovisne o hardware-u. Ipak, Logo osigurava parcijalnu hardware-nezavisnost tako da interpretira brojeve boja od 0 do 7 jednako na svim kompjutorima:

 0  crna         1  plava        2  zelena       3  cyan-plava
 4  crvena       5  grimizna     6  zuta         7  bijela

Gdje je moguce, Logo osigurava dodatne user-promjenjive boje; koliko ih je dostupno ovisi o hardware-u i operativnom sistemu. Ako je barem 16 boja dostupno, Logo pokusava uniformno postaviti boje 8-15:

 8  smedja       9  zutosmedja  10  forest      11  aqua
12  salmon      13  purpurna    14  narancasta  15  siva

Logo pocinje sa crnim background-om (pozadinom) i bijelim perom.

Pokreti kornjace

forward

FORWARD dist
FD dist

pomice kornjacu naprijed, u pravcu u kojem je okrenuta, za specifiziranu udaljenost dist (mjerenu u kornjacinim koracima).

back

BACK dist
BK dist

pomice kornjacu unazad, tj., tocno suprotno smjera u kojem gleda, za inputiranu duzinu dist. (Heading kornjace se ne mijenja.)

left

LEFT degrees
LT degrees

okrene kornjacu suprotno od smjera kazaljke na satu za inputirani kut, mjeren u stupnjevima (1/360 dio punog kruga).

right

RIGHT degrees
RT degrees

okrene kornjacu u pravcu kazaljke na satu za inputirani kut, mjeren u stupnjevima (1/360 dio punog kruga).

setpos

SETPOS pos

pomakne kornjacu na apsolutnu poziciju na grafickom prozoru. Argument je lista od dva broja, X i Y koordinate.

setxy

SETXY xcor ycor

pomakne kornjacu na apsolutnu poziciju na grafickom prozoru. Dva argumenta su brojevi, X i Y koordinate.

setx

SETX xcor

pomakne kornjacu horizontalno od prijasnje pozicije do nove apsolutne horizontalne koordinate. Argument je nova X koordinata.

sety

SETY ycor

pomakne kornjacu vertikalno od stare pozicije na novu apsolutnu vertikalnu koordinatu. Argument je nova Y koordinata.

home

HOME

pomakne kornjacu u centar ekrana. Isto kao SETPOS [0 0].

See section setpos

setheading

SETHEADING degrees
SETH degrees

okrene kornjacu u novi apsolutni smjer. Argument je broj, a smjer se racuna u smjeru kazaljke sata, od pozitivne Y osi.

arc

ARC angle radius

crta luk kruznice, sa kornjacom u centru, sa specifiziranim radius-om, pocevsi od kornjacinog heading-a i putujuci u pravcu sata, dok ne predje specifizirani kut angle. Kornjaca se ne mice.

Upiti o pokretu kornjace

pos

POS

outputira trenutacnu poziciju kornjace, kao listu od dva broja, X i Y koordinate.

xcor

XCOR						(library procedura)

outputira broj, kornjacinu X koordinatu.

ycor

YCOR						(library procedura)

outputira broj, kornjacinu Y koordinatu.

heading

HEADING

outputira broj, smjer u kojem kornjaca gleda u stupnjevima.

towards

TOWARDS pos

outputira broj, smjer u kojem bi kornjaca trebala biti okrenuta, tako da sa sadasnje pozicije gleda prema poziciji koja je data kao input.

scrunch

SCRUNCH

outputira listu koja sadrzi dva broja, X i Y scrunch (kompresijske) faktore, kako ih upotrebljava SETSCRUNCH. (Pazite, SETSCRUNCH uzima dva broja kao input, a ne listu od dva broja.)

See section setscrunch

Kornjaca i kontrola prozora

showturtle

SHOWTURTLE
ST

nacini kornjacu vidljivom.

hideturtle

HIDETURTLE
HT

nacini kornjacu nevidljivom. To je dobra ideja, prije ili usred kompliciranog crtanja, jer sakrivanje kornjace znacajno ubrza crtanje.

clean

CLEAN

brise sve linije koje je kornjaca nacrtala u grafickom prozoru. Kornjacino stanje (pozicija, heading, oblik pera, itd) se ne mijenja.

clearscreen

CLEARSCREEN
CS

brise graficki prozor i salje kornjacu u pocetnu poziciju i heading. Kao HOME i CLEAN zajedno.

See section home

wrap

WRAP

kaze kornjaci da udje u wrap mod: Od sada na dalje, ako se kornjaci naredi da se pomakne izvan granica grafickog prozora, ona ce se "zamotati okolo" i pojaviti na suprotnom rubu prozora. Gornji rub se zamota na doljnji rub, a lijevi na desni. (Prozor je tako, topoloski jednak torusu.) To je ujedno i pocetno stanje kornjace. Usporedi sa WINDOW i FENCE.

See section fence

window

WINDOW

kaze kornjaci da udje u window (prozorski) mod: Od sada na dalje, ako se kornjaci naredi da se pomakne izvan granica grafickog prozora, ona ce se pomaknuti izvan zaslona. Vidljivi graficki prozor se smatra samo dijelom beskrajno velike graficke ravnine; kornjaca moze biti bilo gdje na toj ravnini. (Ako izgubite kornjacu, HOME ce je vratiti u centar prozora.) Usporedi sa WRAP i FENCE.

See section home

fence

FENCE

kaze kornjaci da predje u fence (ograda) mod (nacin rada): Od sada nadalje, ako je kornjaci naredjeno da se pomakne preko granica grafickog prozora, ona ce se pomaknuti toliko daleko koliko moze, a zatim ce stati na rubu sa error porukom "out of bounds" (izvan granica). Usporedi sa WRAP i WINDOW.

See section wrap

fill

FILL

ispuni podrucje grafickog prozora u kojem se nalazi kornjaca, a ograniceno je linijama koje su bile nacrtane ranije. Ovo nije prenosivo (razni operativni sistemi); ne radi za sve OS-e. i mozda ne radi isto na raznim strojevima.

label

LABEL text

uzima rijec ili listu kao input i ispise taj input u grafickom prozoru, sa pocetkom na kornjacinoj poziciji.

textscreen

TEXTSCREEN
TS

preuredi velicinu i polozaj prozora da maksimizira prostor za tekst prozor (prozor koji se koristi za interakciju sa Logom). Detalji se razlikuju medju strojevima. Usporedi sa SPLITSCREEN i FULLSCREEN.

See section splitscreen

fullscreen

FULLSCREEN
FS

preuredi velicinu i poziciju prozora, da maksimizira prostor u grafickom prozoru. Detalji se razlikuju na raznim OS-ima. Usporedi sa SPLITSCREEN i TEXTSCREEN.

U DOS verziji, prebacivanje od FULLSCREEN na SPLITSCREEN gubi dio slike koji je sakriven od tekst prozora. Takodjer, posto mora postojati tekst prozor za ispisivanje (ukljucujuci i Logo prompt "?"), Logo se automatski prebacuje sa FULLSCREEN na SPLITSCREEN kadgod se nesto ispisuje. (Ova dizajn odluka dolazi od nedostatka memorije u DOS-u, tako da se ekstra memorija za pamcenje prekrivenoga dijela slike, cini pre skupom.)

splitscreen

SPLITSCREEN
SS

preuredi velicinu i smjestaj prozora, da dozvoli prostor za tekst interakciju, dok istovremeno ostavi vidljivim vecinu grafickog prozora. Detalji variraju na raznim strojevima. Usporedi sa TEXTSCREEN i FULLSCREEN.

See section textscreen

setscrunch

SETSCRUNCH xscale yscale

namjesti horizontalno-vertikalne odnose na grafickom prozoru. Nakon upotrebe te komande, svi iduci pokreti kornjace biti ce uskladjeni mnozenjem horizontalne i vertikalne komponente gibanja sa dva broja data kao input. Na primjer, nakon instrukcije SETSCRUNCH 2 1 pokret u smjeru 45 stupnjeva, ce se pomaknuti dva puta dulje horizontalno nego vertikalno. Ako vasi kvadrati ne izgledaju kao kvadrati, probajte ovo. (Alternativno, mozete namjerno pobrkati razmjere da bi pomocu kruznice nacrtali elipsu.)

Za Unix i Mac strojeve, oba faktora su inicijalno 1. Za DOS strojeve, faktori su inicijalno namjesteni prema onome sto hardware tvrdi da je trenutacni razmjer, ali hardware ponekad laze. Vrijednosti namjestene sa SETSCRUNCH su zapamcene u file-u (SCRUNCH.DAT) i automatski se namjeste kada Logo starta.

refresh

REFRESH

kaze Logu da zapamti pokrete kornjace, tako da mogu biti rekonstruirani u slucaju da graficki prozor bude prekriven. Efikasnost ove komande ovisi o tipu kompjutora, i OS-a.

norefresh

NOREFRESH

kaze Logu da ne pamti pokrete kornjace. To ce ubrzati crtanje, ali ujedno onemogucava automatsko popravljanje grafickog prozora, ako je bio prekriven.

Kornjaca i upiti o prozoru

shownp

SHOWNP
SHOWN?

outputira TRUE ako je kornjaca vidljiva, FALSE ako je sakrivena. Vidi SHOWTURTLE i HIDETURTLE.

See section showturtle ; section hideturtle

Kontrola pera i pozadine

Kornjaca nosi pero koje moze crtati slike. U bilo kojem trenutku pero moze biti UP (gore - u kojem slucaju pomicanje kornjace ne mijenja graficki prozor) ili DOWN (dolje - u kojem slucaju kornjaca ostavlja trag). Ako je pero dolje, moze raditi u tri moda: PAINT (tako da crta linije kada se kornjaca pomice), ERASE (tako da brise linije koje su "mozda" bile nacrtane na ili preko toga puta ranije), ili REVERSE (tako da invertira "obrne" status svake tocke duz kornjacina puta).

pendown

PENDOWN
PD

postavi poziciju pera u DOWN (dolje), bez mijenjanja njegovog moda.

penup

PENUP
PU

postavi poziciju pera u UP (gore), bez mijenjanja moda.

penpaint

PENPAINT
PPT

postavi poziciju pera u DOWN (dolje) i mod u PAINT.

penerase

PENERASE
PE

postavi poziciju pera u DOWN (dolje) i mode u ERASE (brisanje).

See section erase

penreverse

PENREVERSE
PX

postavi poziciju pera u DOWN (dolje) i mod u REVERSE (obrnute boje). (Ovo moze reagirati na hardware-osebujan nacin sa bojom.)

See section reverse

setpencolor

SETPENCOLOR colornumber
SETPC colornumber

postavi boju pera na dani broj, koji mora biti ne-negativni integer. Boja 0 je uvijek crna; boja 7 je uvijek bijela. Druge boje se mogu razlikovati izmedju raznih OS-a.

setpalette

SETPALETTE colornumber rgblist

asocira boju sa inputiranim colornumber-om, ako je dozvoljeno od hardware-a i OS-a. Colornumber mora biti integer veci ili jednak 8. (Logo pokusava zadrzati prvih 8 boja konstantnima.) Drugi argument je lista od tri ne-negativna integera manja od 65536 koji odredjuju kolicinu crvene, zelene i plave, u zeljenoj boji. Stvarna dubina boje na zaslonu je vjerojatno manja od 64K, ali Logo automatski smanji po potrebi.

setpensize

SETPENSIZE size

postavi hardware-osobite karakteristike pera. Ova komanda obicno nije kompatibilna izmedju implementacija na raznim kompjutorima.

setpenpattern

SETPENPATTERN pattern

postavi hardware-osobite karakteristike pera. Ova komanda obicno nije kompatibilna izmedju implementacija na raznim kompjutorima.

setpen

SETPEN list					(library procedura)

postavi pero na poziciju, mod i hardware-osobite karakteristike prema informacijama u input listi, koja bi trebala biti uzeta od ranijeg poziva PEN.

See section pen

setbackground

SETBACKGROUND color
SETBG color

postavi pozadinsku boju grafickog zaslona.

Upiti o peru

pendownp

PENDOWNP
PENDOWN?

outputira TRUE ako je pero DOWN (dolje), FALSE ako je UP (gore).

penmode

PENMODE

outputira jednu od rijeci PAINT, ERASE, ili REVERSE ovisno o trenutacnom modu pera.

See section erase ; section reverse

pencolor

PENCOLOR
PC

outputira broj boje, ne-negativni integer koji je povezan sa odredjenom bojom na tom hardware-u i operativnom sistemu.

palette

PALETTE colornumber

outputira listu od tri integera, svaki u rasponu 0-65535, koji znace kolicinu crvenog, zelenog i plavog u boji koja je odredjena brojem colornumber.

pensize

PENSIZE
PENPATTERN

outputira hardware-specificne podatke o peru.

pen

PEN						(library procedura)

outputira listu koja sadrzi podatke o peru; poziciju, mod i hardware specificne karakteristike, za upotrebu sa SETPEN.

See section setpen

background

BACKGROUND
BG

outputira boju pozadine grafike.


Go to the first, previous, next, last section, table of contents.