Oppilaan ohje: Ohjelmakoodia kannattaa aina välillä testata sitä luodessa. Muista tallentaa työsi, vaikka se jäisi keskeneräiseksi! Tehtäväluettelo: Scratch: 1. Pisteen peilaus x-akselin suhteen. 2. Pisteen peilaus y-akselin suhteen. 3. Hahmon peilaus origon suhteen. 4. Pisteen peilaus erilaisten suorien suhteen. 5. Piirrä ja peilaa: Hahmo ja peilihahmo piirtävät kuvaa (hiirellä). 6. Nelikulmio ja peilikuva. 7. Hahmojen siirto & kierto. 8. Piirrä kuvio! Erilaisten kuvioiden ja peilausten piirtäminen. 9. Animaatio: hahmoilla siirto ja kierto. 10. Animaatio: Kuviotanssia siirto ja kierto. Tutustutaan funktion käyttöön. 1
Tehtävä 1-3 Kolme ensimmäistä tehtävää ovat perustehtäviä, joilla aloitamme peilauksen harjoittelun Scratchilla. Tehtävissä on samankaltainen idea, joten myös ohjeistukset ovat hyvin samankaltaisia. Tehtävissä harjoitellaan pisteen peilautumista x-akselin, y-akselin ja origon suhteen. Tehtävissä hahmoksi on valittava pallo (kuvastaa pistettä), jotta peilautuminen onnistuu suunnitellusti. Myöhemmin kokeilemme peilautumista myös muunlaisilla hahmoilla. Tehtävissä tavoitteena on harjoitella yksinkertaisen ohjelman luomista, mistä ilmenee alkuperäisen pisteen sijainti koordinaatistossa sekä kloonina kyseisen pisteen peilautuminen. Ihan ensimmäisenä tehtävänä on vaihtaa kissahahmo palloksi ja etsiä Scratchiin taustaksi koordinaatisto. Tämän jälkeen voit siirtyä tehtäväkohtaisiin ohjeisiin ja edetä omaa tahtia niiden mukaan. Tässä vielä muistutuksena, miten hahmon saa poistettua ja miten uuden hahmon saa tilalle. Paina ensin hiiren oikeanpuoleista painiketta, josta avautuu poista-kohta. Poista hahmo ja etsi tilalle pallo, joka löytyy ensimmäisessä kuvassa näkyvän sinisen kuvakkeen kohdasta klikkaamalla. Koordinaatiston löydät, kun klikkaat toisessa kuvassa sinisellä näkyvää kuvaketta. Koordinaatisto on aivan sivun lopussa nimellä xy-grid. 2
1. Harjoitellaan ensin pisteen peilautumista x-akselin suhteen: o valitse ensin hahmoksi pallo o sijoita hahmo menemään kohtaan x = 100 ja y = -100 o luo tämän jälkeen hahmolle klooni o laita klooni menemään kohtaan, johon hahmo peilautuu x-akselin suhteen o tee tämän jälkeen sama tehtävä, mutta vaihda aloituskoordinaatteja seuraavanlaisesti: o x = -100 ja y = -100 o x = 50 ja y = 50 2. Harjoitellaan seuraavaksi pisteen peilautumista y-akselin suhteen: o valitse ensin hahmoksi pallo o sijoita hahmo menemään kohtaan x = 100 ja y = -100 o luo tämän jälkeen hahmolle klooni o laita klooni menemään kohtaan, johon hahmo peilautuu y-akselin suhteen o tee tämän jälkeen sama tehtävä, mutta vaihda aloituskoordinaatteja seuraavanlaisesti: o x = -200 ja y = -200 o x = 75 ja y = 75 3. Harjoitellaan seuraavaksi pisteen peilautumista origon suhteen: o valitse ensin hahmoksi pallo o sijoita hahmo menemään kohtaan x = 100 ja y = -100 o luo tämän jälkeen hahmolle klooni o laita klooni menemään kohtaan, johon hahmo peilautuu origon suhteen o tee tämän jälkeen sama tehtävä, mutta vaihda aloituskoordinaatteja seuraavanlaisesti: o x = -50 ja y = -50 3
o x = 100 ja y = 100 Tehtävä 4 (paritehtävä) Pohjustus: o Tässä tehtävässä jatkamme pisteen peilautumisen harjoittelua suoran suhteen. Tällä kertaa suora ei ole x- tai y-akseli vaan jokin satunnainen suora koordinaatistossa. o Saatte valmiin ohjelmointipohjan, jossa näppäimistön kirjaimia painamalla ohjelma piirtää koordinaatiston ja erilaisia suoria seuraavan ohjeen mukaisesti: - linkki pohjaan: https://scratch.mit.edu/projects/219618486/#editor - k = koordinaatisto - a = suora - b = suora - c = suora - x = pyyhkii kaiken pois Ensimmäinen harjoitus: o Piirtäkää ensin ohjelmalla koordinaatisto sekä a-suora o Nyt toinen ohjelmoi ohjelman piirtämään pisteen a-suoran toiselle puolelle - vinkki: Piirtämistä varten kannattaa luoda uusi hahmo. Pisteen saa helposti piirrettyä kynällä käyttämällä komentoja kynä alas, kynä ylös ja asettamalla kynän paksuudeksi tässä välissä 10. Käyttämällä kynän pikaisesti alhaalla, se jättää jälkeensä pisteen. o Toisen tehtävä on ohjelmoida ohjelma piirtämään toinen piste siihen, kohtaan johon ensimmäinen piste peilautuu o Tämän jälkeen piirtäkää b-suora ja tehkää samoin, mutta vaihtakaa puolia kumpi piirtää ensimmäisen pisteen ja kumpi peilautuvan pisteen o Tämän jälkeen piirtäkää vielä b-suora ja tehkää taas samoin 4
Toinen harjoitus: o Ohjelmoikaa ohjelmaa piirtämään suora haluamaanne paikkaan ja tehkää toisillenne pisteen peilaustehtäviä samalla tavalla kuin ensimmäisessä harjoituksessa 5
Tehtävä 5 Piirrä ja peilaa! Ohjelman toimintaidea : Piirrä hahmon ja peilihahmon avulla! Kynä/käsi piirtää kuvaa hiiriosoitinta seuraten. Tarkastele piirrosta ja peilipiirrosta peilauksena y-akselin suhteen. Laita koordinaatit näkyviin suoritusikkunaan piirtäessäsi joko valmiilla hahmolla tai itseluomallasi hahmolla. Kun olet piirtänyt peilaten y-akselin suhteen, niin seuraavaksi peilaa piirrosta x-akselin suhteen sekä origon suhteen. Vihje : Miten muuttaisit laskutoimitusta, jotta piirrosjälki peilautuisi x-akselin tai origon suhteen? Toimintaohje: a) tai b) a) Piirrä ja peilaa! Jos lähdet piirtämään valmiilla taustalla ja hahmoilla, niin kokeile piirtää ja tutki hahmojen skriptejä. Tarkista, että sinulla on suoritusikkunassa muuttujien koordinaatit näkyvissä. Muuta seuraavaksi skriptiä niin, että peilaus tapahtuu x-akselin suhteen ja lopuksi peilaa origon suhteen. b) Hahmo ja peilihahmo. Tässä luot omat hahmot ja haet taustan. Tee skriptit ohjeen mukaisesti, piirrä ja tutki hahmojen skriptejä. Tarkista, että sinulla on suoritusikkunassa muuttujien koordinaatit näkyvissä. Muuta seuraavaksi skriptiä niin, että peilaus tapahtuu x-akselin suhteen ja lopuksi peilaa origon suhteen. Tausta: Mene taustan muokkaus-valikkoon ja hae kirjastosta valmis ruudukko taustaksi; xy-grid-30px. Ruudukkoon piirretään viiva-työkalulla (koodi-ikkunassa taustat-välilehdellä) paksumpi x-ja y-akseli himmeästi taustalla näkyvien akseleiden päälle. 6
Hahmon ja peilihahmon luominen: Poista kissa-hahmo ja valitse Hahmo-ikkunassa jokin sopiva hahmo, jolla voi piirtää kuvioita. Nimeä tämä hahmo. Tämän jälkeen mene hahmon Asusteet-välilehdelle, jossa voit pienentää hahmoa. Hahmon pienentäminen/suurentaminen onnistuu yläpalkissa olevilla työkaluilla: Asettaa hahmon keskipiste -työkalulla vedä hahmon käsi kohdistinristikon keskelle (vasemmalta). Kopioi hahmo ja nimeä se peilihahmoksi. Mene peilihahmon Asusteet-välilehdelle ja pienennä hahmo samankokoiseksi kuin alkuperäinen hahmo. Voit värittää peilihahmon eriväriseksi kuin itse hahmon. Peilaa peilihahmo peilaustyökalulla toiselle puolen y-akselia (Asusteet-välilehdellä: peilaa vaakasuuntaan) ja kohdista peilihahmon käsi samoin (oikealta) kuin hahmon käsi kohdistinristikon keskelle. Nyt peilihahmo on vastakkaissuuntainen hahmoon verrattuna näin: 7
Skripti: Valitse hahmo ja mene Skriptit-välilehdelle. Seuraava malliratkaisu-skripti (=koodi) tulisi tehdä hahmon koodi-ikkunaan kuvassa näkyvistä koodipalikoista (vasen kuva). Vieressä oikealla on peilihahmon skripti, joka tulee peilihahmon Skriptit-välilehdelle. Hahmon koodi: Hahmo lähettää viestin peilihahmolle. Skriptissä näkyvät muuttujat: x ja y (oranssit), sekä parametrit x-sijainti ja y-sijainti (siniset, hahmon sijainnin lukuarvot). Peilihahmon koodi, peilaus y-akselin suhteen: Peilihahmo ottaa viestin vastaan ja menee alkuasentoon ; hahmon peilikuvana. Käsi piirtää hiiriosoittimen mukaista viivaa, mutta peilauksena. Miksi? Apuohjelmien skriptit Pyyhi-ja-pysäytä skripti 8
Tehtävä 6: Nelikulmio ja peilikuva Ohjelman toimintaidea : Tarkastellaan nelikulmion ja sen peilikuvan liikkuessa niiden koordinaatteja. Vaihtoehtona voit piirtää itse hahmon ja sille peilihahmon. Piirrä kuitenkin monikulmio, joka on epäsäännöllinen. Toimintaohje: Tausta: Hae taustaksi kirjastosta valmis xy-koordinaatisto; xy-grid. Hahmojen luominen : Valitse valmis hahmo kirjastosta tai piirrä itse valitsemalla Hahmot-ikkunassa Uusi hahmo kohdasta: Piirrä uusi hahmo. Käyttämällä Asusteet-välilehdellä viiva-työkalua voit piirtää monikulmion, esimerkiksi nelikulmion, ja täyttää sen jollakin värillä. Nimeä hahmo ja kopioi se. Nimeä peilihahmo ja väritä se eri värillä. Voit myös tarvittaessa pienentää hahmoja, mutta pidä ne kuitenkin samakokoisina. Kohdista monikulmion kärki ristikon keskelle Asusteet-välilehdellä Aseta hahmon keskipiste -työkalulla ja käännä peilihahmo koodi-ikkunassa niin, että se peilautuu origon suhteen (kiinni origossa) seuraavasti: 9
Ohjelmassa on valmiina nelikulmion skripti ja sinun pitäisi tehdä nyt skripti myös peilikuviolle. Valmis skripti hahmolle. Mieti, mitä tapahtuu nelikulmion 1. komentopalikan jälkeen. Oranssi komentopalikka: aseta suunta (muuttuja) arvoon suunta (sininen suunta-parametri = hahmon lukuarvo). Oranssi komentopalikka: aseta nelikulmio x arvoon x-sijainti, tarkoittaa että muuttujan (nelikulmio x) lukuarvo on hiiriosoittimen x-koordinaatti (sininen x-sijaintipalikka Liike-valikosta). Yritä nyt kirjoittaa peilikuvion skripti. Minkä Tapahtuma-palikan tarvitset alkuun? Tarvitset lisää muuttujia. Ota mallia hahmon skriptistä. Muuttujia luodaan Tieto-valikossa kohdassa: Tee muuttuja. Lisäksi tarvitset Liike-valikosta: osoita suuntaan ja mene kohtaan Tarpeellisia koodi-palikoita: 10
Tehtävä 7: Hahmojen siirto & kierto Ohjelman toimintaidea : Siirretään ja kierretään hahmoja kiertokeskuksen ympäri. Toimintaohje: Tausta: Valitaan kirjastosta valmis xy-grid taustaksi. Hahmot: Voidaan valita erilaisia valmiita hahmoja kirjastosta. Hahmon siirtoja ja kiertoja (2 esimerkkiä): Kokeile nyt itse kirjoittaa valitsemillesi hahmoille omat skriptinsä, joissa hyödynnät liike-komentoja, toisto-ohjauspalikoita sekä toisto- ja luo klooni -ohjauspalikoita. Tarvitset myös Ulkonäkö-valikosta: 11
Apuohjelmat: Painettaessa kirjainta p, hahmot siirtyvät origoon ja skriptien suoritus päättyy. Kun painetaan h -tapahtumapalikkaa, niin hahmo (jota kloonataan) on piilossa. 12
Tehtävä 8 Piirrä kuvio! Neliön piirtäminen Tasasivuisen kolmion piirtäminen Epäsäännöllisen kolmion piirtäminen Ohjelman toimintaidea : Piirretään Kynä-valikon komennoilla säännöllisiä ja epäsäännöllisiä monikulmioita. Piirretään monikulmioita myös toinen toisensa perään kiertäen aina tietyn asteluvun verran kiertokeskuksen ympäri. Harjoitellaan lohkon (=funktion) luomista. Toimintaohje: Tausta : Valitse taustaksi kirjastosta xy-grid. Hahmon valinta: Valitse kynä-hahmo kirjastosta ja nimeä se. Pienennä kynä sopivankokoiseksi. Kopioi kynä ja nimeä se peilikynäksi. Hahmon Asusteet-välilehdellä kohdista kynien kärjet kohdistustyökalun avulla (ristikon keskelle vasemmalta) ja peilaa peilikynä y-akselin suhteen Asusteet välilehdellä peilaus-työkalun avulla (peilaa vaakasuuntaan). Peilikynän voi myös värittää eriväriseksi (täydennä värillä). 13
Apuohjelmat: Kynän apuohjelma Peilikynän apuohjelma Alkuun päästäksesi tarvitset Kynä-valikosta komentopalikoita. Kysymys : a) Miten saisit kynän ja peilikynän piirtämään neliön (peilaus y-akselin suhteen)? b) Entä tasasivuisen kolmion (peilaus y-akselin suhteen)? c) Piirrä seuraavaksi kynä-hahmolla suorakulmainen kolmio, jonka kanta on 30, korkeus on 40 ja pisin sivu on 50 koordinaatistossa. Sama peilikynälle. Kokeile peilata origon suhteen. d) Suunnittele ja kirjoita skripti, joka piirtää kynä-hahmolla 12 tasasivuista kolmiota kiertyen aina 30 kellon suuntaan (myötäpäivään) kiertokeskuksen ympäri niin, että ympyrä täydentyy. Tee myös peilaus tästä toiminnosta y-akselin suhteen. e) Tee c-kohdan kolmiosta kynä-hahmolla 7 kpl suorakulmaisia kolmioita kiertäen 53 kiertokeskuksen ympäri niin, että ympyrä täydentyy. Kirjoita myös peilauskripti tästä toiminnosta origon suhteen. 14
f) Laita kynä kysymään kiertokulmaa ja piirtämään tasasivuisia kolmioita annetun kiertokulman verran kiertäen myötäpäivään kiertokeskuksen ympäri niin kauan, että ympyrä täydentyy näillä kolmioilla. Kohta f: Kynähahmon skripti Alkuun tarvitaan kynä-valikon komentoja. Tieto-valikossa luot muuttujan nimeltä: aste ja asetat se arvoon 0. Seuraavaksi mieti, mitä ehtoja muuttujan tulisi täyttää, että kun tasasivuista kolmiota kierretään kysytyn kiertokulman verran, niin koko ympyrä täydentyy. Vihje: Tarvitset Tuntoaisti-valikosta komennon:. Kirjoita komentopalikkaan siihen sopiva kysymys. Sitten tarvitset uudestaan komentoa, jossa määräät muuttujan arvoksi...? Laita kynä-skriptin loppuun kynä kutsumaan lohkoa (sinun täytyy ensin luoda lohko; katso alla oleva ohje). Lohkon (= funktion) luominen: Luo lohko Lisää lohkoja-valikossa. Valitse: Tee lohko. Voit nimetä lohkon esim. kierrä-lohkoksi, ja lohkon parametrin (valitse vaihtoehdoista: numerosyöttö); number 1 (kiertokulman lukuarvo, jonka vastaaja on antanut). Luo toinen muuttuja; kiertojen lkm (lkm = lukumäärä). Tarvitset kiertojen lkm-muuttujalle komentopalikan: Nyt tarvitset myös aste-muuttujan lukuarvoa eli parametria number 1 kiertojen lukumäärän asettamisessa. Miten koko ympyrä suhtautuu kiertokulmaan ja mikä on kiertojen lukumäärä? 15
Millä Ohjaus-valikon komennolla saisit kynä-hahmon piirtämään tasasivuisia kolmioita kiertäen kiertokeskuksen ympäri niin paljon, että ympyrä tulee täyteen kolmioita? Jos haluat lisähaastetta funktion hiomiseen, niin voit pohtia mitä jaollisuus tarkoittaa ja mikä on jakojäännös? joitain ehtolauseita Toiminto-valikosta? Tarvitsetko vielä kolmannen muuttujan ja 16
Tehtävä 9 Animaatio: hahmoilla siirto ja kierto Ohjelman toimintaidea: Luo oma animaatio jollakin hahmolla. Laita hahmo liikkumaan/etenemään ja kääntyilemään sopivassa taustassa. Toimintaohje: Tausta : Valitse sopiva tausta kirjastosta. Hahmo: Valitse hahmo kirjastosta, jota voit halutessasi muokata. Suunnittele ja kirjoita sellainen skripti, että hahmosi liikkuu ja kääntyilee siten, että skriptiä suoritettaessa se näyttää animaatiolta. Käytä hyväksesi aiemmin oppimaasi ja luo omannäköisesi animaatio! 17
Tehtävä 10 Kuviotanssia kierto ja siirto: Ohjelman toimintaidea: Luo oma animaatio : Kuviotanssia. Tee oma hahmo ja siitä klooneja, jotka siirtojen ja kiertojen avulla tanssivat valitsemassasi taustassa. Toimintaohje: Tausta : Valitse kirjastosta sopiva tausta. Hahmo: Voit valita joko valmiin hahmon tai piirtää itse, esim. kolmion. Suunnittele sellainen animaatio, jossa hyödynnät mm. kloonaus-komentoa ja yhdistelet aiemmin oppimiasi siirtoja ja kiertoja tekeviä komentoja. Miten saisit kloonitkin tanssimaan? Tässä voisit opetella myös lohkon ( = funktion) käyttämistä. Voit ottaa mallia esimerkkiohjelmasta. Saat luotua lohkon menemällä Lisää lohkoja-valikkoon, valitsemalla sieltä: Tee lohko, ja nimeämällä lohkon (esimerkissä: Hyrrä). 18