Racket alkeet 2. Kuvat

Preview:

Citation preview

Racket – alkeet 2. KUVAT

2

2.1 Peruskuvioiden piirtäminen

Jotta kuvioita voi piirtää, täytyy ottaa käyttöön grafiikkakirjasto. Kirjoita alla oleva teksti DrRacketin määrittelyikkunaan ja paina ”run”.

(require 2htdp/image)

Kokeile seuraavia piirtofunktioita, joko määrittelyikkunassa (ja paina ”run”), tai interaktioikkunassa (ja paina <enter>).

3

(circle 100 "solid" "red”)

100

4

(rectangle 200 100 ”solid” ”blue”)

200

100

5

(triangle 100 ”solid” ”yellow”)

100

100

6

(square 100 ”outline” ”green”)

100

100

7

(right-triangle 100 200 ”outline” ”brown”)

100

200

8

2.2 Määrittelyt (define) Määrittelyn avulla voidaan antaa nimi jollekin arvolle. Tämä on erityisen hyödyllistä, jos arvoa käytettään usein.

Esim. Voimme määritellä mittoja kuten SÄDE:

(define SÄDE 50)

Tai kokonaisia kuvia kuten YMPYRÄ:

(define YMPYRÄ (circle SÄDE ”solid” ”red”))

Määrittely kirjoitetaan määrittelyikkunaan ja painetaan ”run”

Määriteltyä nimeä voi nyt käyttää kirjoittamalla SÄDE tai YMPYRÄ interaktioikkunassa ja painamalla <enter>

Isot kirjaimet viittaavat siihen, että tämän arvo ei muutu eli se on VAKIO.

9

(define SUORAKULMIO

)

(rectangle 200 100 ”solid” ”blue”))

10

(define YMPYRÄ

)

(circle 100 ”solid” ”red”))

11

2.3 Yhdistettyjen kuvien piirtäminen

Peruskuvioita saadaan päällekkäin käyttämällä overlay - funktiota

Kuvat saadaan vierekkäin beside-, ja allekkain above – funktion avulla.

12

(overlay SUORAKULMIO YMPYRÄ)

13

(beside SUORAKULMIO YMPYRÄ)

14

(above SUORAKULMIO YMPYRÄ)

15

(overlay/xy SUORAKULMIO 0 0 YMPYRÄ)

(0, 0)

(overlay/xy SUORAKULMIO 100 0 YMPYRÄ)

100

(overlay/xy SUORAKULMIO 0 50 YMPYRÄ)

50

(text ”punainen” 38 ”red”)

(overlay TEKSTI SUORAKULMIO)

19

Koodaushaaste Tee Japanin lippu (define JAPANIN-LIPPU ..)

Tee auto (define AUTO ..)

Vihje: määrittele ensin KORI, RENGAS ja RENKAAT. Käytä näitä, kun teet AUTO:n

20

Lisää koodaushaasteita Tee Suomen lippu (define SUOMEN-LIPPU ..)

Lisää autoosi teksti

21

2.3 Kuvanmuokkausfunktiot

Kuvia voidaan lisäksi leikata, skaalata, kiertää sekä peilata vaaka- ja pystysuunnassa käyttämällä kuvan muokkausfunktioita.

22

(rotate 90 LEHTI)

90°

23

(flip-horizontal NUOLI)

24

(flip-vertical NUOLI)

25

(scale 0.5 NUOLI)

26

(crop 0 0 50 50 YMPYRÄ)(0,0)

50

50

27

KoodaushaasteSuunnittele kuva ja koodaa se. Esittele kuvasi muille ja kerro miten sait sen aikaiseksi.

Lisää piirtofunktioita löydät käsikirjasta:

http://racket.koodiaapinen.fi -> Käsikirja -> Kuvat – 2htdp/image