Matematiikan ja fysiikan soveltaminen pelimoottoreissaLaajuus (3 op)
Opintojakson tunnus: TT00CE22
Opintojakson perustiedot
- Laajuus
- 3 op
- Opetuskieli
- suomi
Osaamistavoitteet
Opiskelija osaa hallitsee matemattisia perusteita ja menetelmiä ja osaa ohjelmoida matemaattisia algoritmejä, joita tyypillisesti tarvitaan peleien ja simulaatioiden toteutuksessa. Opiskelija osaa ohjelmoida numeerisia menetelmiä differentiaaliyhtälön ratkaisemiseksi. Opiskelija oppii ohjelmoimaan lineaarialgebran (vektorit+matriisit) peruslaskutoimitukset. Opiskelija osaa soveltaa lineaarialgebraa peleissä ja simulaatioissa, sisältäen törmäysten havaitsemisen, törmäyksiin reagoinnin ja numeerisen integroinnin. Opiskelija pystyy soveltamaan oppimaansa ohjelmoimalla yksinkertaisen jäykän kappaleen simulaation.
Sisältö
- Moderni funktionaalinen C++
- Matemaattisten funktioiden visualisointi
- Numeerinen derivointi ja integrointi ohjelmoimalla
- Lineaarialgebran peruslaskutoimitusten ohjelmointi
- Lineaarialgebran soveltaminen: Törmäyksien tunnistaminen, Peiliheijastus
- Voimat, kiihtyvyys ja impulssi.
- Ympyrä ja pyörimisliikkeen ohjelmointi
- Jäykän kappaleen mekaniikka (sisältäen törmäyksien havainnoinnin ja reagoinnin + integroinnin massallisilla kappaleilla)
Oppimateriaalit
Luentomateriaalit, oheislukemisena esimerkiksi (ei pakollinen):
Flynt, J., P, Kodicek D.: Mathematics and Physics for Programmers, Course tecnology, 2013 tai
Bourg, David M.: Physics for Game Developers, O'Reilly, 2013.
Arviointikriteerit, kiitettävä (5)
Opiskelija hallitsee matemaattisen ohjelmoinnin erinomaisesti ja osaa osaa ohjelmoida täydellisesti toimivan fysiikkasimulaation, jossa on otettu pyörimisliike huomioon. 90% vaadituista ominaisuuksista on tehty. Koodi on laadukasta.
Arviointikriteerit, hyvä (3)
Opiskelija osaa matemaattisen ohjelmoinnin alkeet ja osaa ohjelmoida toimivan fysiikkasimulaation, jossa on otettu pyörimisliike huomioon. 75% vaadituista ominaisuuksista on tehty. Koodi on laadukasta.
Arviointikriteerit, tyydyttävä (1)
Opiskelija osaa matemaattisen ohjelmoinnin alkeet ja osaa ohjelmoida yksinkertaisen ja toimivan fysiikkasimulaation. 50% vaadituista ominaisuuksista on tehty. Koodin laadussa on merkittävästi parannettavaa.