If you're seeing this message, it means we're having trouble loading external resources on our website.

Ha webszűrőt használsz, győződj meg róla, hogy a *.kastatic.org és a *.kasandbox.org nincsenek blokkolva.

Fő tartalom
Pontos idő:0:00Teljes hossz:2:35

Videóátirat

A világ gyönyörű hely. Néha csak elmegyünk sétálni és csodáljuk. Máskor pedig - mert hogy programozók vagyunk és szeretünk mindent leprogramozni - séta közben ihletet kapunk, majd hazarohanunk, hogy leprogramozzunk egy szimulációt arról, amit láttunk. Lehet ez akár körbeforogva lehulló falevél, vagy akár száraz erdőben a tűz. Ezeket a dolgokat mind leprogramozhatjuk szimulációként itt a Khan Academyn is, JavaScriptet, ProcessingJS-t, és egy kis matekot használva. Ebben a természet által inspirált szimulációk kurzusban elgondolkozunk majd arról, hogyan és miért működnek úgy a dolgok ahogy működnek a való világban, majd kigondoljuk, hogyan tudjuk ezt lefordítani programkódra. Egyszerű példákat fogunk készíteni; mert nincs rá mindig szükség, hogy a való világot a teljes bonyolultságában modellezzük egy szimulációhoz. A számítógépeink nem is tudnának annyi bonyolultságot kezelni. Amikor tehát egy programozó a természetet szimulálja, az sosem lesz az eredetinek a 100%-os másolata. De szerintem azért elég lenyűgözőnek fogod találni, hogy mire vagyunk képesek pusztán egy böngészőben. A véletlenszerűséggel fogjuk kezdeni. Ezt a technikát valószínűleg már használtad a programjaidban. Aztán következik a zaj, ennek egy kifinomultabb formája. Ezekkel az objektumok mozgását modellezhetjük, például azt, hogy valaki elveszett az erdőben. A legtöbb objektum viszont nem mozog véletlenszerűen. Ezért ezt követően bemutatjuk a vektorokat és az erőket, amikről fizika órán már valószínűleg tanultál, és megmutatjuk, hogyan lehet programozással az erőkkel az objektumokra hatni úgy, hogy felgyorsuljanak az alapján, hogy mi húzza, tolja vagy taszítja őket. Ahhoz, hogy a tárgyainkat forgatni tudjuk a saját tengelyük körül, miközben mozognak, felidézzük a trigonometria ismereteinket, és képleteket dolgozunk ki a a szöggyorsuláshoz. A trigonometriát olyan dolgok modellezésére is használhatjuk, mint például az inga és a hullám, ami elég hipnotikus is tud lenni. Végül részecskerendszereket fogunk létrehozni, ahol sok minden mozog együtt, a saját és a rendszer tulajdonságaitól függően. Ez lehetővé teszi a természetes jelenségek - például a víz, a tűz vagy a füst - modellezését. Jól hangzik, nem? Készen állsz? Esetleg még konfettit is dobálsz a levegőbe, miközben azon gondolkozol, hogy nemsokára le fogod programozni a konfettit? Ismerem ez az érzést, és mindjárt bele is kezdhetsz, de előbb még mondjunk hálás köszönetet Daniel Shiffman-nek, aki a New York-i Egyetem professzora és aki természetes szimulációt tanít. Daniel írt egy könyvet is erről, a NatureofCode.com-ot. Engedélyt adott, hogy használjuk a könyvét, amit mi átírtuk JavaScriptre, és felhasználtuk itt a Khan Academyn, hogy bárki tanulhasson belőle. Ezen felül készítettünk hozzá kódolási feladatokat is. Daniel könyve nélkül nem készülhetett volna el ez az izgalmas tanfolyam. Szóval készen állsz? Akkor most már készítheted is a szimulációkat!