Pelimatematiikka ja ohjelmointi ATMOS, Mikkeli
|
|
- Maija-Leena Härkönen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Pelimatematiikka ja ohjelmointi ATMOS, Mikkeli Teemu Saarelainen, lehtori teemu.saarelainen@kyamk.fi GameLab gamelab.kyamk.fi & facebook.com/kyamk.gamelab
2 Sisältö Miksi pelimatematiikkaa? Esimerkkejä moderneista peleistä Perusongelmia Matemaattisia työkaluja Esimerkkejä ohjelmointityökaluista Mahdollisuuksia kehittämiseen AMK-opetuksessa
3 Miksi pelimatematiikkaa? Pelien laatuvaatimukset nousseet Laskentatehon jatkuva kasvu Fysiikkaperusteisten pelien suosio - AB video Pelit ovat miljardibisnes
4 Esimerkkejä moderneista peleistä TOP 10 Games Finland, week 42 (FIGMA) 1. NHL13 (trailer) 2. FIFA13 3. SKYLANDERS GIANTS 4. DISHONORED 5. ANGRY BIRDS TRILOGY 6. XCOM: ENEMY UNKNOWN 7. WRC: FIA WORLD RALLY CHAMPIONSHIP 8. RESIDENT EVIL 6 9. BORDERLANDS CALL OF DUTY: MODERN WARFARE 3 TOP 10 Games U.S., September 12 (NPD) 1.MADDEN NFL 13 2.BORDERLANDS 2 3.FIFA SOCCER 13 4.NEW SUPER MARIO BROS. 2 5.GUILD WARS 2 6.NHL 13 7.WORLD OF WARCRAFT: MISTS OF PANDARIA 8.NCAA FOOTBAL 13 9.LEGO BATMAN 2: DC SUPER HEROES 10.BATTLEFIELD 3
5 EA
6 EA
7 RedLynx
8 Perusongelmia Pelit ovat reaaliaikaisia ja sisältävät paljon objekteja Frame-rate eli kuvien määrä sekunnissa yleensä 60+ Pelimaailmassa tapahtuvat muutokset pitää pystyä päivittämään kahden peräkkäisen framen välissä Aiheuttaa yleensä ongelmia, mm. epäjatkuvuuksia Laskennassa joudutaan yksinkertaistamaan asioita
9 Perusongelmia Törmäystarkastelu (collision detection) erilaisille muodoille Liikeradat ja rotaatiot Dynamiikka Erilaiset projektiot Hyvin paljon mielenkiintoisia matemaattisia ongelmia
10 Perusongelma: törmäystarkastelu Peliobjektit ovat usein monimutkaisia ja koostuvat todella monesta pienemmästä osasta (vertices, triangles) Todellisen fysiikkamallin tai törmäysmallin käyttäminen on epärealistista yksinkertaistetaan asioita Toivotaan, ettei pelaaja huomaa eroa ja pelimaailma käyttäytyy järkevästi Fysiikkamallin laskenta tehdään yleensä erillään ruudun päivityksestä, mutta silti muutokset ovat diskreettejä epäjatkuvuusongelmia
11 Perusongelma: törmäystarkastelu Esimerkki mesh colliderien käytöstä alkuperäisen meshin päällä. Lähde: Unity3D dokumentaatio, RigidBody.
12 Perusongelma: törmäystarkastelu Halutaan käyttää yksinkertaisia muotoja: Ympyrät, suorakaiteet, pallot, kuutiot, laatikot Toimivat hyvin esitarkasteluna ennen tarkempaa törmäystarkastelua Nopeita toteuttaa eivät vie paljon prosessoriaikaa
13 Perusongelma: törmäystarkastelu Sphere collisions d C1 r1 r 2 C 2 Törmäys tapahtuu, jos d < r 1 + r 2 Pistetulo on äärimmäisen kätevä, sillä (C 1 C 2 ) (C 1 C 2 ) r 1 + r 2 2
14 Perusongelma: törmäystarkastelu Bounding boxes Oletetaan 2 laatikkoa A ja B, joiden koordinaatit ovat (A x_min, A y_min, A z_min ), (A x_max, A y_max, A z_max ) ja (B x_min, B y_min, B z_min ), (B x_max, B y_max, B z_max )
15 Perusongelma: törmäystarkastelu Törmäyksen tarkastelu helppoa: Tarkistetaan jokaiselle akselille ja kummallekin laatikolle, onko toisen laatikon maksimi pienempi kuin toisen minimi. Jos pätee jollekin akselille, niin laatikot eivät leikkaa Nopea laskea, mutta ei välttämättä hyvä sovitus monimutkaisiin objekteihin tarvitaan useamman bounding boxin yhdistelmä
16 Perusongelma: törmäystarkastelu Periaatteessa minkä tahansa kahden monitahokkaan törmäystarkastelu on ratkaistavissa Lasketaan jokaiselle objektien väliselle pisteparille erotusvektori Jos erotusvektorijoukko sisältää origon, niin objektit törmäävät Matemaattisesti hieman raskaampi operaatio kuin edelliset
17 Perusongelma: koordinaattimuunnokset Peleissä lasketaan asioita monessa koordinaatistossa: maailman koordinaatit peliobjektien koordinaatit Tekoälyä ja pelilogiikkaa lasketaan usein objektin suhteessa toiseen objektiin Lisäksi on erilaisia niveliä (joints) ja räsynukkemalleja (ragdolls), joita tarvitsee päivittää Tarve siirtyä nopeasti maailman koordinaateista peliobjektien koordinaatteihin Tehdään affiinimuunnos eli yksinkertainen matriisioperaatio
18 Perusongelma: interpolointi Paljon käytetty peleissä (myös tweening, easing) Esim. erilaiset efektit ja siirtymät Helppo ja nopea laskea Esim. siirtymään pitäisi mennä aika t, tiedetään frame rate eli fps ja päivitetään paikka jokaisella framella (iteraatiolla) x=x+(target-x)/(t*fps) Voidaan varioida ja saada aikaan erilaisia efektejä:
19 Matemaattisia työkaluja Trigonometriset funktiot Vektorit Matriisit Matriisioperaatiot - pistetulo!!! Interpolointi
20 Esimerkkejä ohjelmointityökaluista Unity3D pelimoottori + editori + Pallon liikuttelua, tehty (nopeasti) Unity3D:llä: Unityyn on saatavilla paljon erilaisia lisäosia, esim. Box2D, jota on käytetty myös Angry Birdsin fysiikkamoottorina
21 Esimerkkejä ohjelmointityökaluista Matlab (tai Scilab) Helppo tehdä matriisilaskentaa ja (yksinkertaista) grafiikkaa Voidaan tehdä pelejäkin (GUI-komponentit, yms.) Ei vaadi kovin paljon ohjelmointitaitoa Voidaan simuloida erittäin vaativiakin asioita
22 Esimerkkejä ohjelmointityökaluista Tavalliset ohjelmointikielet, esim. Java Kohtuullisen helppo tehdä pieniä pelejä Eclipse SDK tarjoaa hyvän editorin ja kehitysympäristön Javalle Tehdyt Java Applet-sovelmat voidaan laittaa myös verkkoon Myös valmista koodia pelien tekoon sekä jopa fysiikkamalleja löytyy Verlet-demo:
23 Mahdollisuuksia kehittämiseen AMKopetuksessa? Ainakin ohjelmointitekniikan opiskelussa voitaisiin yhdistää matematiikkaa ja peliohjelmointia Ammusten lentoradat, maan vetovoima, pallon liike, törmäykset, Oma pelimatematiikan kurssi KyAMK:ssa järjestetään peliohjelmoinnin sv:ssa: Perusasiat ja fysiikkamoottorin opiskelua
24 Mahdollisuuksia kehittämiseen AMKopetuksessa? Otetaan sopivat (peli)työkalut käyttöön matematiikan opiskelussa? Käytännön tekemistä Näkyviä tuloksia Lisää mielenkiintoa opiskeluun
25 Mahdollisuuksia kehittämiseen AMKopetuksessa? Peleissä on miltei rajattomat mahdollisuudet käyttää matematiikkaa ja fysiikkamallinnusta sekä tekoälyä (AI) Tällä hetkellä pystytään hyödyntämään jo varsin uskottavia fysiikkamoottoreita Tekoälyä ja algoritmeja vaativat mm. järkevästi toimivien itsenäisten agenttien tekeminen Nykyään peleihin voidaan tehdä useiden satojen agenttien joukkoja sekä pienempiä joukkoja, jotka pyrkivät toimimaan yhdessä Tuloksena on uskottavampia ja parempia pelejä!
26 Kiitos kysymyksiä? Teemu Saarelainen, DI / Lehtori KyAMK GameLab gamelab.kyamk.fi teemu.saarelainen@kyamk.fi Lähteet: Unity3D Documentation Physics for Game Programmers, Squirrel Eiserloh, GDC 08 Math for Gameplay / AI, John O Brien, GDC 12 Solving Rigid Body Contacts, Richard Tonge, GDC 12
27 Rovio
Fysiikkamoottori. Katri Roos. Seminaariraportti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Fysiikkamoottori Katri Roos Seminaariraportti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 7. joulukuuta 2017 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotLuento 3: 3D katselu. Sisältö
Tietokonegrafiikan perusteet T-.43 3 op Luento 3: 3D katselu Lauri Savioja Janne Kontkanen /27 3D katselu / Sisältö Kertaus: koordinaattimuunnokset ja homogeeniset koordinaatit Näkymänmuodostus Kameran
LisätiedotOHJ-2710 Peliohjelmointi. Syksy 2012 Timo Kellomäki
OHJ-2710 Peliohjelmointi Syksy 2012 Timo Kellomäki timo.kellomaki@tut.fi Käytännön juttuja Kurssihenkilökunta koostuu Timo Kellomäestä Luennot torstaisin salissa TB223 klo 12-14 2. viikko harkkatyöinfo,
LisätiedotEsityson kaksiosainen. Luento, jossa esittelen käyttämiäni työkaluja ja työpajaosa, jossa pääsette kokeilemaan niitä. Mutta ennenkö mennään sinne,
Esityson kaksiosainen. Luento, jossa esittelen käyttämiäni työkaluja ja työpajaosa, jossa pääsette kokeilemaan niitä. Mutta ennenkö mennään sinne, pitää vastata yhteen tärkeään kysymykseen: (seuraava slide)
LisätiedotSelainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotReaaliaikainen yli 2 pelaajan moninpeli mobiilille!
Reaaliaikainen yli 2 pelaajan moninpeli mobiilille! Mobiilipelaajat haluavat pelata toisia ihmisiä vastaan tai heidän kanssaan Kuten mm. nämä moninpelattavat menestyspelit osoittavat Clash of Clans Supercell
LisätiedotPELIALAN KEHITYS POHJOIS-SAVOSSA
PELIALAN KEHITYS POHJOIS-SAVOSSA TIINA ARPOLA YRITYSKEHITYS, UUDET AVAUKSET KUOPIO INNOVATION OY 8.9.2016 Suomessa on yksi maailman aktiivisimmista ja nopeimmin kasvavista peliteollisuuden aloista Lähde:
Lisätiedotz 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2
BM20A5700 - Integraauunnokset Harjoitus 2 1. Laske seuraavat raja-arvot. -kohta ratkeaa, kun pistät sekä yläkerran että alakerran muotoon (z z 1 )(z z 2 ), missä siis z 1 ja z 2 ovat näiden lausekkeiden
LisätiedotKanta ja Kannan-vaihto
ja Kannan-vaihto 1 Olkoon L vektoriavaruus. Äärellinen joukko L:n vektoreita V = { v 1, v 2,..., v n } on kanta, jos (1) Jokainen L:n vektori voidaan lausua v-vektoreiden lineaarikombinaationa. (Ts. Span(V
LisätiedotJohdanto: Parametrigrafiikka Parametriyhtälöiden piirtämisen vaiheet Parametri- ja funktiografiikan eroja
Kappale 7: Parametrigrafiikka 7 Johdanto: Parametrigrafiikka... 128 Parametriyhtälöiden piirtämisen vaiheet... 129 Parametri- ja funktiografiikan eroja... 130 Tässä kappaleessa kerrotaan, miten parametriyhtälöitä
LisätiedotPong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä
LisätiedotC-ohjelmointikielen perusteet, osa 1
C-ohjelmointikielen perusteet, osa 1 Kurssi johdattaa sinut askel askeleelta C-ohjelmoinnin perusteisiin. Kurssi suoritetaan kokonaan netissä vuorovaikutteisella alustalla itseopiskeluna tutorin avustuksella.
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 4 OP PERIODI 1: 6.9.2012-12.10.2012 (6 VIIKKOA) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14 LASKUHARJOITUKSET
LisätiedotPedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 1: 4.9.2014-17.10.2012 (7 VIIKKOA+KOE) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14
Lisätiedot2 Pistejoukko koordinaatistossa
Pistejoukko koordinaatistossa Ennakkotehtävät 1. a) Esimerkiksi: b) Pisteet sijaitsevat pystysuoralla suoralla, joka leikkaa x-akselin kohdassa x =. c) Yhtälö on x =. d) Sijoitetaan joitain ehdon toteuttavia
LisätiedotYleistä vektoreista GeoGebralla
Vektoreita GeoGebralla Vektoreilla voi laskea joko komentopohjaisesti esim. CAS-ikkunassa tai piirtämällä piirtoikkunassa. Ensimmäisen tavan etuna on, että laskujen tueksi muodostuu kuva. Tästä on varmasti
LisätiedotMS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /
MS-A3/A5 Matriisilaskenta, II/27 MS-A3/A5 Matriisilaskenta Laskuharjoitus 3 / 3. 7..27 Tehtävä (L): Etsi kaikki yhtälön Ax = b ratkaisut, kun 3 5 4 A = 3 2 4 ja b = 6 8 7 4. Ratkaisu : Koetetaan ratkaista
LisätiedotPelisuunnittelua tulevaisuudessa. Karoliina Korppoo / Colossal Order
Pelisuunnittelua tulevaisuudessa Karoliina Korppoo / Colossal Order Puhuja Karoliina Korppoo Game Designer Lead designer projektissa Cities: Skylines Medianomi, Tampereen Ammattikorkeakoulu Filosofian
LisätiedotLineaarialgebra ja matriisilaskenta I
Lineaarialgebra ja matriisilaskenta I 30.5.2013 HY / Avoin yliopisto Jokke Häsä, 1/19 Käytännön asioita Kurssi on suunnilleen puolessa välissä. Kannattaa tarkistaa tavoitetaulukosta, mitä on oppinut ja
LisätiedotTieteellinen laskenta 2 Törmäykset
Tieteellinen laskenta 2 Törmäykset Aki Kutvonen Op.nmr 013185860 Sisällysluettelo Ohjelman tekninen dokumentti...3 Yleiskuvaus...3 Kääntöohje...3 Ohjelman yleinen rakenne...4 Esimerkkiajo ja käyttöohje...5
LisätiedotDiplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)
Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 017 Insinöörivalinnan matematiikan koe 30..017, Ratkaisut (Sarja A) 1. a) Lukujen 9, 0, 3 ja x keskiarvo on. Määritä x. (1 p.) b) Mitkä reaaliluvut
LisätiedotAntitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009
Antitammirobotti Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Helsingin yliopisto Tietojenkäsittelytieteen laitos Robottiohjelmoinnin harjoitustyö
LisätiedotUNITYN 2D-FYSIIKKAMOOTTORI
Olli Ketola UNITYN 2D-FYSIIKKAMOOTTORI Opinnäytetyö Tietojenkäsittely Marraskuu 2014 KUVAILULEHTI Opinnäytetyön päivämäärä 06.11.2014 Tekijä(t) Olli Ketola Koulutusohjelma ja suuntautuminen Tietojenkäsittely
LisätiedotMS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 8: Divergenssi ja roottori. Gaussin divergenssilause.
MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 8: Divergenssi ja roottori. Gaussin divergenssilause. Antti Rasila Aalto-yliopisto Syksy 2015 Antti Rasila (Aalto-yliopisto) MS-A0305 Syksy 2015
LisätiedotTenniksen pistelaskusäännöt, lukio/ammatilliset oppilaitokset
Tenniksen pistelasku Useimmat meistä ovat joskus katsoneet TV:stä tennisottelua. Katsoja kokee jännitystä voidessaan seurata kuinka pisteden kertyminen johtaa ottelun päättymisen toisen pelaajan voittoon
LisätiedotAvaruuden kolme sellaista pistettä, jotka eivät sijaitse samalla suoralla, määräävät
11 Taso Avaruuden kolme sellaista pistettä, jotka eivät sijaitse samalla suoralla, määräävät tason. Olkoot nämä pisteet P, B ja C. Merkitään vaikkapa P B r ja PC s. Tällöin voidaan sanoa, että vektorit
LisätiedotLappeenrannan teknillinen yliopisto Tuotantotalouden tiedekunta Tietotekniikan koulutusohjelma. Kandidaatintyö. Joona Hasu PELIOHJELMOINNIN ALKEET
Lappeenrannan teknillinen yliopisto Tuotantotalouden tiedekunta Tietotekniikan koulutusohjelma Kandidaatintyö Joona Hasu PELIOHJELMOINNIN ALKEET Työn tarkastaja(t): Tutkijatohtori Jussi Kasurinen Työn
LisätiedotTekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).
Tekijä Pitkä matematiikka 4 9.12.2016 212 Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4). Vastaus esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4) 213 Merkitään pistettä
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 7. Kombinatoriikka 7.1 Johdanto Kombinatoriikka tutkii seuraavan kaltaisia kysymyksiä: Kuinka monella tavalla jokin toiminto voidaan suorittaa? Kuinka monta tietynlaista
LisätiedotT Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mediatekniikan laitos / Informaatioverkostot
Selainohjelmointi Edistynyt verkkosivujen (JavaScript) kehitys T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) DI Mari Markku HirviLaine Mediatekniikan laitos
LisätiedotPelejä tällä ikäluokituksella: FIFA-pelisarja ja Super Mario -pelisarja
Tämän luokituksen mukaisten pelien sisällön katsotaan soveltuvan kaikenikäisille. Väkivaltaa voi esiintyä vähän komiikan yhteydessä (esimerkiksi Väiski Vemmelsäären tai Tomin ja Jerryn kaltaisten piirroshahmojen
LisätiedotPong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan
LisätiedotOppimistavoitematriisi
Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Esitiedot Arvosanaan 1 2 riittävät Arvosanaan 3 4 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 3: 16.1.2017-3.3.2016 (7 VIIKKOA+KOE) LUENNOT (CK112): MA 14-16, TI 14-16 LASKUHARJOITUKSET: RYHMÄ
Lisätiedot7 tapaa mallintaa maasto korkeuskäyristä ja metodien yhdistäminen
1 / 11 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto 7 tapaa mallintaa maasto korkeuskäyristä ja metodien yhdistäminen Kertauslista yleisimmistä komennoista 2 / 11 Kuvan tuominen: PictureFrame Siirtäminen:
LisätiedotNewtonin ominaisuudet
Verkkopeli Newton Newtonin ominaisuudet Reaaliaikaisuus Fysiikan simulointi Verkkopeli Tikku-ukko grafiikka Ikkunan koosta riippumaton (eri resoluutiot) Skrollaava, sisältää näkymän peliin Ei ääniä Fysiikkamoottori
LisätiedotJOHDATUS TEKOÄLYYN TEEMU ROOS
JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 3: 18.1.2016-6.3.2016 (7 VIIKKOA+KOE) LUENNOT (CK112): MA 14-16, TI 14-16 LASKUHARJOITUKSET: RYHMÄ
LisätiedotGeneettiset algoritmit
Geneettiset algoritmit Evoluution piirteitä laskennassa Optimoinnin perusteet - Kevät 2002 / 1 Sisältö Geneettisten algoritmien sovelluskenttä Peruskäsitteitä Esimerkkejä funktion ääriarvon etsintä vangin
LisätiedotMatriisilaskenta Laskuharjoitus 5 - Ratkaisut / vko 41
MS-A0004/MS-A0006 Matriisilaskenta, I/06 Matriisilaskenta Laskuharjoitus 5 - Ratkaisut / vko 4 Tehtävä 5 (L): a) Oletetaan, että λ 0 on kääntyvän matriisin A ominaisarvo. Osoita, että /λ on matriisin A
LisätiedotKYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / ohjelmistotekniikka. Sami Husso 2D-PELIOHJELMOINTI UNITYÄ KÄYTTÄEN
KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka / ohjelmistotekniikka Sami Husso 2D-PELIOHJELMOINTI UNITYÄ KÄYTTÄEN Opinnäytetyö 2013 TIIVISTELMÄ KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikka HUSSO, SAMI
LisätiedotMATEMATIIKKA 5 VIIKKOTUNTIA. PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009
EB-TUTKINTO 2009 MATEMATIIKKA 5 VIIKKOTUNTIA PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009 KOKEEN KESTO: 4 tuntia (240 minuuttia) SALLITUT APUVÄLINEET: Eurooppa-koulun antama taulukkovihkonen Funktiolaskin, joka ei saa
LisätiedotPelin tekoäly. Aleksi Vuorela IIO14S1. Tietorakenteet ja algoritmit harjoitustyö Joulukuu 2015
Pelin tekoäly Aleksi Vuorela IIO14S1 Tietorakenteet ja algoritmit harjoitustyö Joulukuu 2015 Ohjelmistotekniikan koulutusohjelma Tekniikan ja liikenteen ala 1 1 Johdanto Harjoitustyön aiheena oli tutustua
LisätiedotPistepilvestä virtuaalimalliksi työpolku
Pistepilvestä virtuaalimalliksi työpolku ProDigiOUs-hanke: Osallistava Virtuaalitodellisuus -työpaja 13.02.2018 Työryhmä: Hannu Kupila, Tero Markkanen, Jani Mäkinen, Kalle Tammi ja Toni Teittinen Työpolku
LisätiedotTampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus
Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus 2 7.2.2013 1. Matematiikan lukiokurssissa on esitetty, että ylöspäin aukeavan paraabelin f(x) = ax 2 +bx+c,a > 0,minimikohtasaadaan,kunf
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotOHJELMOINTIA MONIPUOLISESTI MATEMATIIKAN OPETUKSESSA LUMA-PÄIVÄT, TAMPERE
OHJELMOINTIA MONIPUOLISESTI MATEMATIIKAN OPETUKSESSA LUMA-PÄIVÄT, TAMPERE Tuomo Riekkinen Pyhäselän koulu, Joensuu MIKSI OHJELMOINTIA MATEMATIIKKAAN? Joensuun kaupunki päätti hankkia kaikille 7. luokkalaisille
LisätiedotS09 04 Kohteiden tunnistaminen 3D datasta
AS 0.3200 Automaatio ja systeemitekniikan projektityöt S09 04 Kohteiden tunnistaminen 3D datasta Loppuraportti 22.5.2009 Akseli Korhonen 1. Projektin esittely Projektin tavoitteena oli algoritmin kehittäminen
LisätiedotYhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.
2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2
LisätiedotTampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus
Tampereen yliopisto Tietokonegrafiikka 201 Tietojenkäsittelytiede Harjoitus 6 1..201 1. Tarkastellaan Gouraudin sävytysmallia. Olkoon annettuna kolmio ABC, missä A = (0,0,0), B = (2,0,0) ja C = (1,2,0)
LisätiedotOhjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.
Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta. Vastauksia kysymyksiin Miten hahmon saa hyppäämään? Yksinkertaisen hypyn
LisätiedotKoodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/
Koodaamme uutta todellisuutta FM Maarit Savolainen 19.1.2017 https://blog.edu.turku.fi/matikkaajakoodausta/ Mitä on koodaaminen? Koodaus on puhetta tietokoneille. Koodaus on käskyjen antamista tietokoneelle.
LisätiedotTörmäyksen tunnistus. Törmäyksen tunnistus tietokonopeleissä. Törmäyksen tunnistus. Sijainti pelisilmukassa. Timo Suomela
Törmäyksen tunnistus tietokonopeleissä Timo Suomela Törmäyksen tunnistus Halutaan tietää, kun Pelaajahahmo kävelee seinää päin Jotta hahmon animaatio sekä liike voidaan pysäyttää/muuttaa Auto palaa ilmahypyn
LisätiedotKodu Ohjeet. Jos päivityksiä ei löydy niin ohjelma alkaa latautumaan normaalisti.
1 Kodu Ohjeet Kodun käynnistys - Kodu peli kun on asennettu ja hienosäädetty omalle koneelle kohdilleen, niin sitten ei muutakuin pelaamaan / tekemään pelejä. Vihreästä Kodu kuvakkeesta pääset aloittamaan.
LisätiedotMillaiset mahdollisuudet avautuvat KODUpeliohjelmoinnilla. Lehtori Jarkko Sievi 3.12.2012 Virtuaaliopetuksen päivät
Millaiset mahdollisuudet avautuvat KODUpeliohjelmoinnilla Lehtori Jarkko Sievi 3.12.2012 Virtuaaliopetuksen päivät Työpajan sisältö Oppimisympäristönä peliohjelmointi hanke Hankkeen esittely Hankkeen tavoitteet
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 4 Supremum ja inmum Tarkastellaan aluksi avointa väliä, Tämä on joukko, johon kuuluvat kaikki reaaliluvut miinus yhdestä yhteen Kuitenkaan päätepisteet eli luvut ja
LisätiedotMatlabin perusteita Grafiikka
BL40A0000 SSKMO KH 1 Seuraavassa esityksessä oletuksena on, että Matlabia käytetään jossakin ikkunoivassa käyttöjärjestelmässä (PC/Win, Mac, X-Window System). Käytettäessä Matlabia verkon yli joko tekstipäätteeltä,
LisätiedotTämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:
Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus
LisätiedotCODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
LisätiedotA-osio. Tehdään ilman laskinta ja taulukkokirjaa! Valitse tehtävistä A1-A3 kaksi ja vastaa niihin. Maksimissaan tunti aikaa suorittaa A-osiota.
MAA5.2 Loppukoe 24.9.2013 Jussi Tyni Valitse 6 tehtävää Muista merkitä vastauspaperiin oma nimesi ja tee etusivulle pisteytysruudukko Kaikkiin tehtävien ratkaisuihin välivaiheet näkyviin! A1. A-osio. Tehdään
LisätiedotSolmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:
Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman
LisätiedotKaikkien paikallisten ääriarvojen haku
Kaikkien paikallisten ääriarvojen haku 30.4.2017 Heikki Apiola Tiedosto: opi_minimointiliven.mlx, opi_minimointiliven.m Funktio: lok_min.m (help lok_min) Lisää esimerkkejä: ex_lok_min.m Abstrakti Lähdetään
LisätiedotYhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
LisätiedotSäätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia 29.7.2002
Matlab tehtäviä 1. Muodosta seuraavasta differentiaaliyhtälöstä siirtofuntio. Tämä differentiaaliyhtälö saattaisi kuvata esimerkiksi yksinkertaista vaimennettua jousi-massa systeemiä, johon on liitetty
LisätiedotSisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.
3. Muuttujat ja operaatiot Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi.. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit. Arvojen
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 3 Supremum ja infimum Tarkastellaan aluksi avointa väliä, ) = { : < < }. Tämä on joukko, johon kuuluvat kaikki reaaliluvut miinus yhdestä yhteen. Kuitenkaan päätepisteet
LisätiedotKJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme
KJR-C1001 Statiikka ja dynamiikka Luento 23.2.2016 Susanna Hurme Tervetuloa kurssille! Mitä on statiikka? Mitä on dynamiikka? Miksi niitä opiskellaan? Päivän aihe: Voiman käsite ja partikkelin tasapaino
LisätiedotA ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
LisätiedotP e d a c o d e ohjelmointikoulutus verkossa
P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN
LisätiedotPELIPROJEKTIN TOTEUTUS UNITYLLÄ
Markus Hänninen PELIPROJEKTIN TOTEUTUS UNITYLLÄ Opinnäytetyö Tietojenkäsittely Toukokuu 2013 KUVAILULEHTI Opinnäytetyön päivämäärä 31.5.2013 Tekijä(t) Markus Hänninen Koulutusohjelma ja suuntautuminen
LisätiedotMobiilipelin toteuttaminen Unity 2D:llä
Mobiilipelin toteuttaminen Unity 2D:llä Ammattikorkeakoulututkinnon opinnäytetyö Hämeen ammattikorkeakoulu, Tietojenkäsittelyn koulutusohjelma Hämeenlinna, kevät 2017 Miklas Hakkarainen TIIVISTELMÄ Tietojenkäsittelyn
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 7 1 Useamman muuttujan funktion raja-arvo Palautetaan aluksi mieliin yhden muuttujan funktion g(x) raja-arvo g(x). x a Tämä raja-arvo kertoo, mitä arvoa funktio g(x)
LisätiedotSamuli Jylhä MOBIILIPELIOHJELMOINTI JA KÄYTTÖLIITTYMÄN TOTEUTUS UNITYLLÄ
Samuli Jylhä MOBIILIPELIOHJELMOINTI JA KÄYTTÖLIITTYMÄN TOTEUTUS UNITYLLÄ MOBIILIPELIOHJELMOINTI JA KÄYTTÖLIITTYMÄN TOTEUTUS UNITYLLÄ Samuli Jylhä Opinnäytetyö Kevät 2018 Tietotekniikan tutkinto-ohjelma
LisätiedotMäärittelydokumentti
Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta
Lisätiedot{ 2v + 2h + m = 8 v + 3h + m = 7,5 2v + 3m = 7, mistä laskemmalla yhtälöt puolittain yhteen saadaan 5v + 5h + 5m = 22,5 v +
9. 0. ÄÙ ÓÒ Ñ Ø Ñ Ø ÐÔ ÐÙÒ Ð Ù ÐÔ ÐÙÒ Ö Ø ÙØ 009 È ÖÙ Ö P. Olkoon vadelmien hinta v e, herukoiden h e ja mustikoiden m e rasialta. Oletukset voidaan tällöin kirjoittaa yhtälöryhmäksi v + h + m = 8 v +
LisätiedotKenguru Student (lukion 2. ja 3. vuosi) sivu 1 / 6
Kenguru Student (lukion 2. ja 3. vuosi) sivu 1 / 6 NIMI LUOKKA/RYHMÄ Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto.
LisätiedotMAA15 Vektorilaskennan jatkokurssi, tehtävämoniste
MAA15 Vektorilaskennan jatkokurssi, tehtävämoniste Tason ja avaruuden vektorit 1. Olkoon A(, -, 4) ja B(5, -1, -3). a) Muodosta pisteen A paikkavektori. b) Muodosta vektori AB. c) Laske vektorin AB pituus.
Lisätiedot17/20: Keittokirja IV
Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita
LisätiedotKJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme
KJR-C1001 Statiikka ja dynamiikka Luento 15.3.2016 Susanna Hurme Päivän aihe: Translaatioliikkeen kinematiikka: asema, nopeus ja kiihtyvyys (Kirjan luvut 12.1-12.5, 16.1 ja 16.2) Osaamistavoitteet Ymmärtää
LisätiedotLuento 8. June 3, 2014
June 3, 2014 Luokka pelejä, joissa pelaajilla on epätäydellistä informaatiota toistensa preferensseistä ja joissa valinnat tehdään samanaikaisesti. Tämä tarkoittaa, että pelaajat eivät tiedä toistensa
LisätiedotMS-A0402 Diskreetin matematiikan perusteet
MS-A040 Diskreetin matematiikan perusteet Osa : Relaatiot ja funktiot Riikka Kangaslampi 017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Relaatiot Relaatio Määritelmä 1 Relaatio joukosta A
LisätiedotLineaarialgebra ja matriisilaskenta I
Lineaarialgebra ja matriisilaskenta I 13.6.2013 HY / Avoin yliopisto Jokke Häsä, 1/12 Käytännön asioita Kesäkuun tentti: ke 19.6. klo 17-20, päärakennuksen sali 1. Anna palautetta kurssisivulle ilmestyvällä
LisätiedotBayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly
Bayesin pelit Kalle Siukola MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly 12.10.2016 Toistetun pelin esittäminen automaatin avulla Ekstensiivisen muodon puu on tehoton esitystapa, jos peliä
LisätiedotPeilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka
LisätiedotJohdantoa. Jokaisen matemaatikon olisi syytä osata edes alkeet jostakin perusohjelmistosta, Java MAPLE. Pascal MathCad
Johdantoa ALGORITMIT MATEMA- TIIKASSA, MAA Vanhan vitsin mukaan matemaatikko tietää, kuinka matemaattinen ongelma ratkaistaan, mutta ei osaa tehdä niin. Vitsi on ajalta, jolloin käytännön laskut eli ongelman
LisätiedotVektorit, suorat ja tasot
, suorat ja tasot 1 / 22 Koulussa vektori oli nuoli, jolla oli suunta ja suuruus eli pituus. Siirretään vektori siten, että sen alkupää on origossa. Tällöin sen kärki on pisteessä (x 1, x 2 ). Jos vektorin
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14
LisätiedotMS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I
MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetesimerkkejä,
LisätiedotT-111.4310 Vuorovaikutteinen tietokonegrafiikka Tentti 14.12.2011
T-111.4310 Vuorovaikutteinen tietokonegrafiikka Tentti 14.12.2011 Vastaa kolmeen tehtävistä 1-4 ja tehtävään 5. 1. Selitä lyhyesti mitä seuraavat termit tarkoittavat tai minkä ongelman algoritmi ratkaisee
LisätiedotMS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I
MS-A040 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 014 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteetesimerkkejä,
Lisätiedotf(x 1, x 2 ) = x x 1 k 1 k 2 k 1, k 2 x 2 1, 0 1 f(1, 1)h 1 = h = h 2 1, 1 12 f(1, 1)h 1 h 2
HY / Matematiikan ja tilastotieteen laitos Vektorianalyysi I, syksy 7 Harjoitus 6 Ratkaisuehdotukset 6.. Olkoon f : G R, G = {(x, x ) R x > }, f(x, x ) = x x. Etsi differentiaalit d k f(, ), k =,,. Ratkaisu:
LisätiedotHarjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006
Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten
LisätiedotTEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Mat Systeemien Identifiointi. 4. harjoitus
TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2.4129 Systeemien Identifiointi 4. harjoitus 1. a) Laske valkoisen kohinan spektraalitiheys. b) Tarkastellaan ARMA-prosessia C(q 1 )y = D(q 1 )e,
Lisätiedotmlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä
Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä osittaisderivaatoista: y 1... J F =.
LisätiedotPeliteoria Strategiapelit ja Nashin tasapaino. Sebastian Siikavirta sebastian.siikavirta@helsinki.fi
Peliteoria Strategiapelit ja Nashin tasapaino Sebastian Siikavirta sebastian.siikavirta@helsinki.fi Helsinki 11.09.2006 Peliteoria Tomi Pasanen HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 8 Väliarvolause Oletetaan, että funktio f on jatkuva jollain reaalilukuvälillä [a, b] ja derivoituva avoimella välillä (a, b). Funktion muutos tällä välillä on luonnollisesti
LisätiedotAlkuun HTML5 peliohjelmoinnissa
Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä
Lisätiedot0, niin vektorit eivät ole kohtisuorassa toisiaan vastaan.
Tekijä Pitkä matematiikka 4 9.1.016 168 a) Lasketaan vektorien a ja b pistetulo. a b = (3i + 5 j) (7i 3 j) = 3 7 + 5 ( 3) = 1 15 = 6 Koska pistetulo a b 0, niin vektorit eivät ole kohtisuorassa toisiaan
LisätiedotProjektityö ja pelikehitys
Projektityö ja pelikehitys Selainohjelmointi (JavaScript) T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Pinja Hokkanen DI Markku Laine Mediatekniikanlaitos
Lisätiedot