SlideShare a Scribd company logo
1 of 27
Download to read offline
Racket – alkeet
2. KUVAT
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>).
2
(circle 100 "solid" "red”)
3
100
4
(rectangle 200 100 ”solid” ”blue”)
200
100
5
(triangle 100 ”solid” ”yellow”)
100
(square 100 ”outline” ”green”)
6
100
100
(right-triangle 100 200 ”outline”
”brown”)
7
100
200
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>
8
Isot kirjaimet viittaavat siihen, että tämän arvo ei muutu eli se on VAKIO.
(define SUORAKULMIO
)
(rectangle 200
100
”solid”
”blue”))
9
(define YMPYRÄ
)
(circle 100
”solid”
”red”))
10
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.
11
(overlay SUORAKULMIO YMPYRÄ)
12
(beside SUORAKULMIO YMPYRÄ)
13
(above SUORAKULMIO YMPYRÄ)
14
(overlay/xy SUORAKULMIO 0 0 YMPYRÄ)
15
(0, 0)
(overlay/xy SUORAKULMIO 100 0 YMPYRÄ)
100
(overlay/xy SUORAKULMIO 0 50 YMPYRÄ)
50
(text ”punainen” 38 ”red”)
(overlay TEKSTI SUORAKULMIO)
Koodaushaaste
Tee Japanin lippu (define JAPANIN-LIPPU ..)
Tee auto (define AUTO ..)
19
Vihje: määrittele ensin
KORI, RENGAS ja RENKAAT.
Käytä näitä, kun teet AUTO:n
Lisää koodaushaasteita
Tee Suomen lippu (define SUOMEN-LIPPU ..)
Lisää autoosi teksti
20
2.3 Kuvanmuokkausfunktiot
Kuvia voidaan lisäksi leikata, skaalata, kiertää sekä peilata vaaka- ja
pystysuunnassa käyttämällä kuvan muokkausfunktioita.
21
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
Koodaushaaste
Suunnittele 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
27

More Related Content

Viewers also liked

Racket perusteet 3. Funktio
Racket perusteet 3. FunktioRacket perusteet 3. Funktio
Racket perusteet 3. FunktioTiina Partanen
 
Racket mooc 2017 - aikataulu
Racket mooc 2017 -  aikatauluRacket mooc 2017 -  aikataulu
Racket mooc 2017 - aikatauluTiina Partanen
 
Racket mooc 2017 - yleistä
Racket mooc 2017 -  yleistäRacket mooc 2017 -  yleistä
Racket mooc 2017 - yleistäTiina Partanen
 
Racket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseetRacket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseetTiina Partanen
 
Racket perusteet - Sovellukset A
Racket perusteet - Sovellukset ARacket perusteet - Sovellukset A
Racket perusteet - Sovellukset ATiina Partanen
 
Racket jatko 6. oppitunti
Racket jatko  6. oppituntiRacket jatko  6. oppitunti
Racket jatko 6. oppituntiTiina Partanen
 
Racket jatko 6. Listat
Racket jatko 6. ListatRacket jatko 6. Listat
Racket jatko 6. ListatTiina Partanen
 
Koodiaapinen MOOC - Racket
Koodiaapinen MOOC - RacketKoodiaapinen MOOC - Racket
Koodiaapinen MOOC - RacketTiina Partanen
 
Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)Tiina Partanen
 
Ohjelmointi yläkoulussa: Jatkokurssi
Ohjelmointi yläkoulussa: JatkokurssiOhjelmointi yläkoulussa: Jatkokurssi
Ohjelmointi yläkoulussa: JatkokurssiTiina Partanen
 
Kasvaminen ja väheneminen kuvasta
Kasvaminen ja väheneminen kuvastaKasvaminen ja väheneminen kuvasta
Kasvaminen ja väheneminen kuvastateemunmatikka
 

Viewers also liked (18)

Racket perusteet 3. Funktio
Racket perusteet 3. FunktioRacket perusteet 3. Funktio
Racket perusteet 3. Funktio
 
Racket MOOC - jakso 1
Racket MOOC - jakso 1Racket MOOC - jakso 1
Racket MOOC - jakso 1
 
Racket mooc 2017 - aikataulu
Racket mooc 2017 -  aikatauluRacket mooc 2017 -  aikataulu
Racket mooc 2017 - aikataulu
 
Racket mooc 2017 - yleistä
Racket mooc 2017 -  yleistäRacket mooc 2017 -  yleistä
Racket mooc 2017 - yleistä
 
Racket MOOC - jakso 2
Racket MOOC - jakso 2Racket MOOC - jakso 2
Racket MOOC - jakso 2
 
Racket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseetRacket perusteet 4. Ehto- ja valintalauseet
Racket perusteet 4. Ehto- ja valintalauseet
 
Racket perusteet - Sovellukset A
Racket perusteet - Sovellukset ARacket perusteet - Sovellukset A
Racket perusteet - Sovellukset A
 
Racket jatko 6. oppitunti
Racket jatko  6. oppituntiRacket jatko  6. oppitunti
Racket jatko 6. oppitunti
 
Racket MOOC - jakso 3
Racket MOOC - jakso 3Racket MOOC - jakso 3
Racket MOOC - jakso 3
 
Racket MOOC jakso 7
Racket MOOC jakso 7Racket MOOC jakso 7
Racket MOOC jakso 7
 
Racket jatko 6. Listat
Racket jatko 6. ListatRacket jatko 6. Listat
Racket jatko 6. Listat
 
Työturvallisuus
TyöturvallisuusTyöturvallisuus
Työturvallisuus
 
Koodiaapinen MOOC - Racket
Koodiaapinen MOOC - RacketKoodiaapinen MOOC - Racket
Koodiaapinen MOOC - Racket
 
Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)Racket materiaali (Koodausta kouluun - projekti)
Racket materiaali (Koodausta kouluun - projekti)
 
Ohjelmointi yläkoulussa: Jatkokurssi
Ohjelmointi yläkoulussa: JatkokurssiOhjelmointi yläkoulussa: Jatkokurssi
Ohjelmointi yläkoulussa: Jatkokurssi
 
Kasvaminen ja väheneminen kuvasta
Kasvaminen ja väheneminen kuvastaKasvaminen ja väheneminen kuvasta
Kasvaminen ja väheneminen kuvasta
 
Funktiot
FunktiotFunktiot
Funktiot
 
Funktion nollakohta
Funktion nollakohtaFunktion nollakohta
Funktion nollakohta
 

More from Tiina Partanen

Computational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of MathematicsComputational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of MathematicsTiina Partanen
 
Ohjelmoinnin historiaa
Ohjelmoinnin historiaaOhjelmoinnin historiaa
Ohjelmoinnin historiaaTiina Partanen
 
Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)Tiina Partanen
 
Koodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynoteKoodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynoteTiina Partanen
 
Racket MOOC (kevät 2016) - jakso 4
Racket MOOC (kevät 2016) -  jakso 4Racket MOOC (kevät 2016) -  jakso 4
Racket MOOC (kevät 2016) - jakso 4Tiina Partanen
 
Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)Tiina Partanen
 
Koodauksen ensiaskeleet
Koodauksen ensiaskeleetKoodauksen ensiaskeleet
Koodauksen ensiaskeleetTiina Partanen
 
Racket MOOC - viikko 6
Racket MOOC - viikko 6Racket MOOC - viikko 6
Racket MOOC - viikko 6Tiina Partanen
 
Racket MOOC - viikko 3
Racket MOOC - viikko 3Racket MOOC - viikko 3
Racket MOOC - viikko 3Tiina Partanen
 
Racket jatko 7. oppitunti
Racket jatko 7. oppituntiRacket jatko 7. oppitunti
Racket jatko 7. oppituntiTiina Partanen
 
Racket mooc - viikko 2
Racket mooc - viikko 2Racket mooc - viikko 2
Racket mooc - viikko 2Tiina Partanen
 
Racket MOOC - 1. viikko
Racket MOOC - 1. viikkoRacket MOOC - 1. viikko
Racket MOOC - 1. viikkoTiina Partanen
 

More from Tiina Partanen (18)

Computational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of MathematicsComputational Thinking as an Emergent Learning Trajectory of Mathematics
Computational Thinking as an Emergent Learning Trajectory of Mathematics
 
Ohjelmoinnin historiaa
Ohjelmoinnin historiaaOhjelmoinnin historiaa
Ohjelmoinnin historiaa
 
Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)Racket MOOC 2016 aikataulu (SYKSY)
Racket MOOC 2016 aikataulu (SYKSY)
 
Koodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynoteKoodiaapinen MOOC - keynote
Koodiaapinen MOOC - keynote
 
Kurkistus koodaukseen
Kurkistus koodaukseenKurkistus koodaukseen
Kurkistus koodaukseen
 
Racket MOOC - jakso 6
Racket MOOC -  jakso 6Racket MOOC -  jakso 6
Racket MOOC - jakso 6
 
Racket MOOC - jakso 5
Racket MOOC - jakso 5Racket MOOC - jakso 5
Racket MOOC - jakso 5
 
Racket MOOC (kevät 2016) - jakso 4
Racket MOOC (kevät 2016) -  jakso 4Racket MOOC (kevät 2016) -  jakso 4
Racket MOOC (kevät 2016) - jakso 4
 
Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)Racket MOOC 2016 - yleistä (SYKSY)
Racket MOOC 2016 - yleistä (SYKSY)
 
Legorobottialkeet
LegorobottialkeetLegorobottialkeet
Legorobottialkeet
 
Lapset koodaa?
Lapset koodaa?Lapset koodaa?
Lapset koodaa?
 
Koodauksen ensiaskeleet
Koodauksen ensiaskeleetKoodauksen ensiaskeleet
Koodauksen ensiaskeleet
 
Racket MOOC - viikko 6
Racket MOOC - viikko 6Racket MOOC - viikko 6
Racket MOOC - viikko 6
 
Racket MOOC viikko 5
Racket MOOC viikko 5Racket MOOC viikko 5
Racket MOOC viikko 5
 
Racket MOOC - viikko 3
Racket MOOC - viikko 3Racket MOOC - viikko 3
Racket MOOC - viikko 3
 
Racket jatko 7. oppitunti
Racket jatko 7. oppituntiRacket jatko 7. oppitunti
Racket jatko 7. oppitunti
 
Racket mooc - viikko 2
Racket mooc - viikko 2Racket mooc - viikko 2
Racket mooc - viikko 2
 
Racket MOOC - 1. viikko
Racket MOOC - 1. viikkoRacket MOOC - 1. viikko
Racket MOOC - 1. viikko
 

Racket alkeet 2. Kuvat