11. Ülesanded: PyGame- animeerimine
Teooriapeatükid:
Ülesanne 1
Lisa akna ülemisse vasakusse nurka palli pilt ja pane ta kukkuma e. liikuma vertikaalselt alla kuni akna alumise ääreni. Vali kiirus, mis tundub mõistlik.
Ülesanne 2
Lisa akna ülemisse vasakusse nurka eelmise kõrvale teine pilt pallist ja pane ta liikuma mööda diagonaali paremasse alla nurka. Kuna aken pole ruut ning seega ei saa sinna jõudmiseks muuta mõlemat koordinaati ühe palju, tuleb leida valem, millega saavutatakse parim tulemus.
Ülesanne 3
Esimeses ülesandes loodud palli kukkumise ülesandele lisa ka "põrkamine": alla jõudes muudetakse palli suunda ja "pall" põrkab taas üles. Realistlikkuse saavutamiseks võid proovida ka muuta liikumiskiirust: alla liikudes kiirus suureneb, üles liikudes aga väheneb. Kuidas toimub põrkamine, kui pall ei kuku otse alla, vaid nurga all? Modelleeri põrkamist ka sel puhul. Mis saab, kui pall jõuab parempoolse seinani?
Ülesanne 4
Leia mingi huvitava kujuga joone valem ja pane pall liikuma mööda sellist trajektoori. Nagu matemaatikaski: pane üks koordinaatidest (näiteks x) ajas muutuma ning arvuta iga tsükli korduse ajal uus teine koordinaat (näiteks y) vastavalt leitud valemile.
Ülesanne 5
Püüa luua selline lahendus, kus valemi muutmine uue trajektoori jaoks oleks võimalikult lihtne. Katseta veel kolme erineva trajektooriga.
Ülesanne 6
Loo tähistaeva animatsioon. Tumedale taustale lisa "tähti": joonista mingeid ühesuguseid väikseid heledaid kujundeid vms tsükli abil juhuslikesse kohtadesse programmi aknas, iga uue "tähe" tekkimise ette lisa väike viivitus, et need tekiksid ükshaaval. Tähti võib programm joonistada seni, kuni programmiaken suletakse. Lisa ka "kuu", mis liigub aknas vasakust äärest ning paremasse äärde jõudes alustaks taas vasakult.
Ülesanne 7
Inimese taju on salapärane, levinud on hulgaliselt optiliste illusioonide pilte ja animatsioone. Uuri erinevaid animeeritud optilisi illusioone (otsi "optical illusion", mõned näited ka siin, siin ja siin) ja vali mõni Pygame'i abil animeerimiseks. Näiteks:
Ülesanne 8
Püüa tekitada ekraanile võimalikult loomulik lumesadu: väiksed lumehelbed langevad "maapinnale" juhusliku sagedusega. Langemissuund pole alati tingimata otse alla: vahel kalduvad vasakule, vahel paremale (lisaks muutuvale y-koordinaadile ka x-koordinaadi väike juhuslik muutumine).
Creative Commons litsentsiga Autorile viitamine + Mitteäriline eesmärk 3.0 Eesti (CC BY-NC 3.0 EE) - https://creativecommons.org/licenses/by-nc/3.0/ee/