Sissejuhatus Scratchis joonestamiseks kasutatakse nn kilpkonmnagraafikat. Meetod ja nimetus võeti kasutusele aastaid tagasi programmeerimissüsteemis Logo, mis leiab laialdast ka praegu, eriti programmeerimise õpetamisel. Kilpkonnagraafika on kasutusel mitmetes program-meerimissüsteemides nagu Scratch, BYOB/Snap!, Basicu mitmed versioonid, Python jm. Joonestamise operatsioone täidab spetsiaalne graafikaobjekt – turtle (kilpkonn). Joonistamisel lähtutakse tõsiasjast, et suurema osa kujunditest (joonised, graafikud, diagrammid jmt) saab moodustada sirgjoone lõikudest. Scratchis puuduvad vahendid kujundite täitmiseks värviga. Grupi Pliiats käsud
Grupi Liikumine põhikäsudLava koordinaadisüsteemNäide "Kolmnurgad ja ristkülikud"Rakendus demonstreerib kolmnurkade (klahv 1) ristkülikute (2, 3, 4) joonistamist. Joonistajaks on siin spetsiaalne sprait: ringike. Kolnurga tippude koordinaadid, ristküliku külgede pikused ning selle alguspunkt variandis 4 määratakse juhuarvude abil. Juhuarvudega määratakse ka joone paksus (pliiatsi suurus) ja värv.
Kolmnurga joonistamiseks viiakse pliiats tippu (x1, y1), hoides seda üleval. Siis lastakse pliiats alla ja järjest läbitakse teised tipud, jõudes tagasi algpunkti.
Et näidata erinevaid võimalusi joonistamisel, on ristküliku jaoks toodud kolm varianti. Esimesel kahel juhul (klahvid 2 ja 3) langeb kujundi keskpunkt lava keskpunktiga. Külgede pikkused, joone paksus ja värv määratakse juhuarvudega. Mõlemal juhul viiakse kõigepealt üleval olev pliiats punkti (-a/2; -b/2) - alumine vasakpoolne tipp. Esimesel juhul (klahv 2) kasutatakse pliiatsi liikumise määramiseks ristküliku tippude koordinaate ja käsku [mine...]. Teisel juhul kasutatakse risküliku külgede pikkusi (a ja b) ning käske [muuda x...] ja [muuda y...] Risktüliku joonestamise kolmandas variandis määratakse kujundi alguspunkt (x0; y0) juhuarvude abil. Kõik algseaded tehakse eraldi abiskriptis Alg_4. Joonistamisel kasutatakse korduses käske [liigu...] ja [pööra...]
Näide "Murdjoon"
Koordinaatide väärtuste muutmiseks kasutatakse muutujat samm, mille väärtust saab määrata laval liuguri abil. Muutuja i väärtust muutub 1 ja -1 vahel, neid kasutatakse y arvutamisel. Igal kordusel muutub x ühe sammu võrra ja y kahe sammu võrra.
Selleks, et oleks näha selle joone tekkimist on vaja käsu asemel mine x: x y: y kasutada käsk [liigu t sek. x: x y: y]. Mastaabi kasutamineJoonistamisel tuleb sageli kasutada mastaapi. Scratchis on füüsiliseks üksuseks laval piksel ehk ekraanipunkt, mille mõõtmed on väga väikesed (alla 1 mm). Kasutajal on sageli kasutusel oma pikkuse ühikud (meetrid, sentimeetrid vm), millega tehakse ka arvutusi. Näiteks ruumide mõõtmed on vahemikus 2 kuni 20 meetrit. Kui näiteks selliseid väärtusi otse kasutada skeemi joonistamisel, saadakse ekraanil väga väikene kujutis.
Näiteks toodud rakendus leiab ristküliku (n. ruumi) pindala (S) ja ümbermõõdu (P) külgede pikkuse a ja b alusel ning teeb ka vastava skeemi.
Joonistamise ja arvutamise skriptid.
Funktsioonide graafikudSageli tekkib erinevates rakendustes vajadus teha ühemuutuja funktsioonde y = F(x) graafikuid antud lõigul (algus, lõpp). Selleks peab muutma argumendi x väärtusi teatud sammuga: samm=(lõpp-algus)/n, kus n jaotiste arv, ja leidma iga x-i korral vastava y-i väärtuse ning ühendama punktid sirgjoone lõikudega. Graafiku täpsus ja siledus sõltub jaotiste arvust, tüüpiliselt see võiks olla 100...500.
Allpool on toodud siinusfunktsiooni (y1) graafiku joonistamise algoritm ja skriptid. Koosinuse (y2) joonistamine on praktiliselt sama — y väärtuste arvutamise käsus on siinuse asemel koosinus. Funktsiooni y3=y1+y2 liidetakse kaks eelmist kokku (vt klipp). Kuna siinuse ja koosinuse argumendid võetakse radiaanides (x-telje väärtused), siis funktsioonid näevad välja järgmiselt:
Kõverjooned: ring ja ellips Kõverjoonte joonestamisel on sageli lihtsam kasutada võrrandite esitust parameetrilisel kujul või polaarkoordinaate. Allpool on rakenduse aken, kus saab proovida selle tööd.
Näide "Dünaamiline kolmnurk"Rakendus võimaldab joonistada kolmnurka, lohistades selle tippe, ja leida mõned omadused. Skripte võib näha lingilt.
Kasutaja käsuplokid
|
Protseduuri defineerimisel esitatakse selle päises parameetrite loetelu, mida kasutatake tegevuste kirjeldamisel protseduuri sees. Vt. päist ja kõrvalolevat kommentaari. Toodud definatsiooni alusel luuakse grupis Lisaplokid taoline käsuplokk Selle kasutamisel esitatakse väljades argumentide väärtused, näiteks |
Käsuplokk ring joonistab ringi. Kasutab käsuplokki alg algseadete tegemiseks.
|
Näiteks toodud rakendus, kasutades ülaltoodud protseduure, võimaldab kasutajal joonistada lava erinevates kohtades erinevate mõõtmetege ristkülikuid ja ringe.
Hõlmatud rakenduse aknas saab proovida selle tööd. Kujundi asukoha (x0, y0), suurused (a, b, r) ja joone paksuse (jp) saab määrata vastava liuguriga. Joone värv võetakse juhusliku arvu abil. Käivitamiseks: klahv 1 - ristkülik, 2 - ring. Kujundi asukoha ning joonistamise käivitamise saab määrata ka hiireklõpsuga laval. NB! Kasutage turborežiimi: Shift+Roheline lipp.
Scratchis ei ole vahendeid kujundite täitmiseks värviga. Kuid lihtsamaid kujundite (ristkülik, ring, ovaal) jaoks saab seda imiteerida. Sängitatud rakenduse aknas saab proovida. Skripte võib näha lingilt.
Käivitamiseks klahv A. NB! Kasutage turborežiimi: Shift+Roheline lipp.