Sisällys. T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi 11/2007. Mikä on OpenGL?
|
|
- Sofia Lattu
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 T Tietokonegrafiikan perusteet OpenGL-ohjelmointi 11/2007 Sisällys Mikä on OpenGL? historia nykytilanne OpenGL:n toiminta Piirtäminen ja matriisit Muuta hyödyllistä kameran sijoittaminen valaistus 1
2 Materiaalia Älä usko assaria, lue kirjoja ja kokeile! Kurssikirjaan (Hearn & Baker) hyvä tutustua OpenGL Programming Guide ja OpenGL Reference Manual erittäin hyviä oppaita, löytyvät myös verkosta: paljon tietoa, jota ei löydy näistä kalvoista Linkkejä verkosta löytyvään materiaaliin kurssin harjoitusten linkkisivuilla: Mikä on OpenGL? Matalan tason 2d- ja 3d-grafiikkakirjasto Pohjautuu SGI:n IRIS GL -kirjastoon 80-luvulta Tuettu kaikilla yleisimmillä käyttöjärjestelmillä Tarkoitettu vuorovaikutteiseen tietokonegrafiikkaan Yleiskäyttöinen, ei pelkkä pelikirjasto! Alun perin C-kielelle Nykyään voidaan käyttää myös Pythonilla, Javalla, Perlillä, C#:lla... Nykyiset versiot Version 2.0 lisäarvo OpenGL Shading Language Versio 2.1 julkaistu
3 OpenGL - kilpailu & tulevaisuus Tärkein kilpailija Microsoftin Direct3D Toimii ainoastaan Windows- ja Xboxympäristöissä Jyräämässä erityisesti peleissä OpenGL:n yli Poikkeuksena Doom 3 Molemmat näytönohjaimeista riippumattomia OpenGL:stä myös mobiililaitteisiin tarkoitettu OpenGL ES -versio OpenGL-apukirjastot OpenGL sisältää kolme erillistä kirjastoa: GL, GLU ja GLUT GL eli varsinainen OpenGL-kirjasto hoitaa ainoastaan renderöinnin GLU (OpenGL Utility Library) tarjoaa projektiofunktioita (esimerkiksi gluperspective, glulookat) GLUT (OpenGL Utility Toolkit) tarjoaa ikkunan hallinnan, fonttien käsittelyn ja erilaisia apufunktioita esimerkiksi yksinkertaisten mallien luomiseen ei virallisesti osa OpenGL-kirjastoa ei käytetä Javassa ikkunoiden luomiseen! 3
4 Mitä OpenGL ei sisällä? Nämä toiminnallisuudet täytyy ohjelmoida itse, tai käyttää valmiita, OpenGL:n päällä toimivia kirjastoja 1. Scene Graphit OpenGL ei sisällä pysyvää tietorakenetta malleista ja niiden sijainneista, joka säilyisi piirtokertojen välissä Tällaista rakennetta kutsutaan nimellä scene graph 2. Mallien lataaminen OpenGL ei osaa ladata kolmiulotteisia malleja tiedostoista 3. Ray Tracing OpenGL ei tue Ray Tracingia, eli kuvan muodostamista valonsäteiden polkuja seuraamalla Ei toteutettavissa OpenGL:llä Kolmion piirtäminen Kolmion piirtäminen OpenGL:ssä: gl.glbegin(gl.gl_triangles) // Yläkärki gl.glvertex3f( 0.0f, 1.0f,0.0f); // Vasen alanurkka gl.glvertex3f(-1.0f,-1.0f,0.0f); // Oikea alanurkka gl.glvertex3f( 1.0f,-1.0f,0.0f); gl.glend(); Polygoni esitetään sarjana verteksejä, Verteksien välille muodostuvat polygonin sivut Monimutkaisemmat kappaleet koostuvat useista polygoneista 4
5 OpenGL-ohjelmien toimintaperiaate OpenGL perustuu välittömään tilaan Kaikki kuviot piirretään uudelleen joka piirtokerralla Vastakohtana pysyvä tila Nykyisillä näytönohjaimilla onnistuu tehokkaasti Ihmissilmä kokee miellyttävänä ruudunpäivitysnopeuden, joka on vähintään 40 kuvaa sekunnissa OpenGL Tilakone 1 OpenGL oikeastaan iso tilakone Sisältää yli 100 tilamuuttujaa Kun tila on asetettu, se on voimassa kunnes sitä muutetaan Tilat asetetaan toisistaan riippumattomasti Funktioita tilojen muuttamiseksi Tilat vaikuttavat näytönohjaimen toimintaan Esimerkiksi aktiivinen väri, tekstuuri ja transformaatiot ovat tilan muutoksia Muita tilan muutoksia: valot, sumu... 5
6 OpenGL Tilakone 2 Tiloja vaihdetaan funktiokutsuilla Komennot vaikuttavat piirrosprosessiin Ei takeita, että lopputulos olisi samanlainen kahdella eri alustalla OpenGL Tilakone 3 6
7 OpenGL-komentojen syntaksi OpenGL-komennot alkavat etuliitteellä gl, jota seuraa komennon nimi Esim glbegin ja glvertex3f OpenGL-vakiot kirjoitetaan isoin kirjaimin alkavat etuliitteellä GL_ Esim GL_LINE_STRIP Yleensä funktioiden nimet kertovat, montako parametria ne ottavat ja mitä tyyppiä ne ovat Esimerkiksi: glvertex2f (2 float-muotoista parametria) glvertex3f (3 float-muotoista parametria) glvertex3i (3 integer-muotoista parametria) Piirtäminen OpenGL:ssä Kymmenen erilaista piirtoprimitiiviä Muut kuviot ja mallit piirretään näitä primitiivejä käyttäen 7
8 Yksinkertainen OpenGL-ohjelma public void display(gldrawable drawable) { GL gl = drawable.getgl(); gl.glclearcolor(0.0f, 0.0f, 0.0f, 0.0f); gl.glclear(gl.gl_color_buffer_bit); gl.glortho(-1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f); gl.glcolor3f(1.0f, 1.0f, 1.0f); gl.glbegin(gl.gl_polygon); gl.glvertex2f(-0.5f, -0.5f); gl.glvertex2f(-0.5f, 0.5f); gl.glvertex2f( 0.5f, 0.5f); gl.glvertex2f( 0.5f, -0.5f); gl.glend(); } gl.glflush(); Pohjautuu OpenGL Programming Guide -esimerkkiin OpenGL koordinaatistot OpenGL:ssä verteksit saadaan ruudulle sopivaan muotoon kolmella affiinimuunnoksella Kaikki 3d-muunnokset ovat affiinimuunnoksia Voidaan laskea homogeenisillä 4x4 matriiseilla Verteksin muuntaminen: 8
9 Matriisipinot 1 Matriiseilla määritellään Translaatiot Rotaatiot Skaalaukset Kallistukset (skew) Matriisipino sisältää sarjan muunnosmatriiseja Pinon päällimmäinen matriisi on käytössä oleva matriisi Matriisi lisätään pinoon glpushmatrix()-komennolla Päällimmäinen matriisi poistetaan pinosta glpopmatrix()-komennolla Tyhjää matriisia kutsutaan identiteettimatriisiksi ja sen voi ladata glloadidentity()-komennolla Matriisipinot 2 OpenGL:ssä on kolme matriisipinoa Katselumatriisit (GL_MODELVIEW) Projektiomatriisit (GL_PROJECTION) Tekstuurimatriisit (GL_TEXTURE) Aktiivista matriisipinoa vaihdetaan seuraavasti: glmatrixmode(gl_modelview); glmatrixmode(gl_projection); Objektien asettelu ja käsittely tapahtuu modelview-pinossa 9
10 3d-muunnokset 1 Kappaleiden saaminen oikeille paikoilleen onnistuu 3d-muunnosten avulla: glrotatef( ) kääntää kuvioita gltranslatef( ) siirtää piirrettävää kuviota. glscalef( ) muuttaa kuvion kokoa. Muunnoksilla muutetaan koordinaatistoa, ei kappaletta Vastaavat Modelview-matriisin ja sopivan muunnosmatriisin tuloa Esim muunnosmatriisi pisteiden kääntämiseksi y-akselin ympäri: 3d-muunnokset 2 1. Talleta ensin nykyinen matriisi pinoon glpushmatrix-komennolla 2. Tee tarvittavat muunnokset Järjestyksellä on väliä! 3. Piirrä objekti 4. Palauta edellinen matriisi glpopmatrixkomennolla 10
11 Muunnosten järjestys glrotatef(pi/4,0,0,1); gltranslatef(5,0,0); drawcar(); gltranslatef(5,0,0); glrotatef(pi/4,0,0,1); drawcar(); Perustuu Jeff Chastinen esimerkkiin: 11
12 12
13 Translaatio Translaatio Translaatio 13
14 Rotaatio Translaatio Translaatio 14
15 Translaatio Translaatio Translaatio2 Translaatio 15
16 Translaatio 16
17 Valaistus 1 Valaistu ja valaisematon pallo: Valaistus 2 Valaistus otettava erikseen käyttöön: glenable(gl_lighting); Jokainen valonlähde otettava erikseen käyttöön glenable(gl_light0); Kolmenlaisia valoja: Pointlight pistevalo, säteilee joka suuntaan Spotlight valokeila, säteet rajatussa kulmassa Directional light äärettömän kaukana oleva pistevalo Spotlightin leveyden määrittää GL_SPOT_CUTOFF -parametri 17
18 Valaistus 3 Valonlähteen paikka määritellään GL_POSITIONparametrin avulla Jos paikkamuuttujan viimeinen arvo on 0, valonlähde on suunnattu valo suunnattu valo on äärettömän kaukana float[] light_position = new float[] { 1.0f, 1.0f, 1.0f, 0.0f }; gl.gllightfv(gl.gl_light0, GL.GL_POSITION, light_position); Valaistus 4 Valonlähteen ominaisuuksia muutetaan gllightfvmetodin avulla, esim: float[] lightdiffuse = new float[] {1.0f, 1.0f, 1.0f, 1.0f}; gl.gllightfv(gl.gl_light0, GL.GL_DIFFUSE, lightdiffuse); Lisää valaistusoppia OpenGL Programming Guidessa: 18
19 Sävytys 1 (shading) Pinnan polygonien varjostusta OpenGL:ssä kaksi tapaa täyttää polygoni: GL_FLAT polygoni täytetään tasaisella värillä, joka on yhden verteksin väri GL_SMOOTH Gouraud-sävytys verteksien värit interpoloidaan polygonin sisäpuolisille pisteille Valitaan glshademodel()-metodilla Ruudun tyhjentäminen Ruudun tyhjennys OpenGL:ssä: glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); Tyhjentää sekä väri- ja syvyyspuskurin Ruuduntyhjennysvärin muuttaminen: glclearcolor(0.0f, 0.0f, 0.0f, 0.0f); 19
20 Kameran sijoittaminen Helpoin tapa sijoittaa kamera on käyttää glu-kirjaston glulookat()-metodia: eye-koordinaatit määrittävät kameran sijainnin center-koordinaatit pisteen, johon kamera katsoo up-koordinaatit ylöspäin osoittavan vektorin glulookat(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz); Geometriset primitiivit GLUT-kirjastosta löytyy metodit yleisimpien geometristen primitiivien piirtämiseen Erityisesti hyötyä yksinkertaisissa testiohjelmissa Kuution piirtäminen: glutsolidcube(1.0f); Muita GLUT-kirjastosta löytyviä primitiivinpiirtometodeja: glutsolidsphere(), glutsolidicosahedron(), glutsolidtorus() 20
T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi
T-111.4300 Tietokonegrafiikan perusteet OpenGL-ohjelmointi Id Softwaren huhtikuussa 2004 julkaisema Doom 3 -peli käyttää OpenGL-kirjastoa. Sisällys Mikä on OpenGL? historia nykytilanne OpenGL:n toiminta
Luento 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
Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014
Tietokonegrafiikka Jyry Suvilehto T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014 1. Sovellusalueita 2. Rasterigrafiikkaa 3. Vektorigrafiikkaa 4. 3D-grafiikkaa 1. Säteenheitto
Esimerkkejä. OpenGL ohjelma. OpenGL tilakone. Geometriset primitiivit. Hyvät ja huonot polygonit. OpenGL Pipeline. Rasterointi
Tietokonegrafiikka / perusteet Ako/T-111.300/301 4 ov / 2 ov OpenGL 1 Yleistä harjoituksista OpenGL:n toiminta Primitiivit Kuvapuskurit Koordinaatistot ja projisointi Transformaatiot ja matriisit Valaistus
T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka
Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka Timo Tossavainen Mediatekniikan laitos, Aalto-yliopiston perustieteiden korkeakoulu Timo.Tossavainen@tkk.fi 25.3.2011 Sisältö Historiaa
Tampereen 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
OpenGL:n perusteet - Osa 2: 3D grafiikka
OpenGL:n perusteet - Osa 2: 3D grafiikka OpenGL on käyttöjärjestelmäriippumaton kirjasto 2D- ja 3D-grafiikan piirtoon. Tämä artikkelisarja opettaa sinulle 3D-grafiikan perusteet OpenGL:ää käyttäen. Esimerkeissä
Tampereen 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)
Visualisoinnin perusteet
1 / 12 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto Visualisoinnin perusteet Mitä on renderöinti? 2 / 12 3D-mallista voidaan generoida näkymiä tietokoneen avulla. Yleensä perspektiivikuva Valon
Tilanhallintatekniikat
Tilanhallintatekniikat 3D grafiikkamoottoreissa Moottori on projektin osa joka vastaa tiettyjen toiminnallisuuksien hallinnasta hallitsee kaikki vastuualueen datat suorittaa kaikki tehtäväalueen toiminnot
6. Harjoitusjakso II. Vinkkejä ja ohjeita
6. Harjoitusjakso II Seuraavaksi harjoitellaan algebrallisten syötteiden, komentojen ja funktioiden käyttöä GeoGebrassa. Tarjolla on ensimmäisen harjoittelujakson tapaan kahden tasoisia harjoituksia: perustaso
Peilaus 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
Luento 7: 3D katselu. Sisältö
Tietokonegrafiikka / perusteet Tik-.3/3 4 ov / 2 ov Luento 7: 3D katselu Lauri Savioja /4 3D katselu / Sisältö Koorinaattimuunnokset Kameran ja maailmankoorinaatiston yhteys Perspektiivi 3D katselu / 2
JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++
JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.
AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin
AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013
http://info.edu.turku.fi/mato/
Matemaattisia VALOja Vapaita avoimen lähdekoodin ohjelmia matematiikan opettamiseen ja muuhun matemaattiseen käyttöön. http://info.edu.turku.fi/mato/ LaTeX ja Texmaker LaTeX on ladontaohjelmisto, joka
Luento 10: Näkyvyystarkastelut ja varjot. Sisältö
Tietokonegrafiikka / perusteet T-111.300/301 4 ov / 2 ov Luento 10: Näkyvyystarkastelut ja varjot Marko Myllymaa / Lauri Savioja 10/04 Näkyvyystarkastelut ja varjot / 1 Näkyvyystarkastelu Solurenderöinti
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?
Muilla kielillä: English Suomi Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia? Kun kaksi fysiikkaoliota törmää toisiinsa, syntyy törmäystapahtuma. Nämä tapahtumat voidaan ottaa kiinni
Pong-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ä
T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing
T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Keimo-visualisointijärjestelmän Ray tracing - visualisaation testisarja. Sarja sisältää testitapaukset ja testilokit Päivämäärä 13.4.2003 Projektiryhmä
GeoGebra-harjoituksia malu-opettajille
GeoGebra-harjoituksia malu-opettajille 1. Ohjelman kielen vaihtaminen Mikäli ohjelma ei syystä tai toisesta avaudu toivomallasi kielellä, voit vaihtaa ohjelman käyttöliittymän kielen seuraavasti: 2. Fonttikoon
Palauta jokainen funktio-tiedosto. Esitä myös funktiot vastauspaperissasi.
Tehtävä 1 Kirjoita neljä eri funktiota (1/2 pistettä/funktio): 1. Funktio T tra saa herätteenä 3x1-kokoisen paikkavektorin p. Se palauttaa 4x4 muunnosmatriisin, johon sijoitettu p:n koordinaattien mukainen
Sisältö. Luento 1: Transformaatiot (2D) 1. Koordinaattimuunnokset. Muunnokset (jatkuu) 2. Perustransformaatiot. Perustransformaatiot (jatkuu)
Sisältö ietokonegrafiikka / perusteet Ako/-.3/3 4 ov / 2 ov Perustransformaatiot ransformaatioiden hdistäminen Muunnosmatriisit Laskennallisia näkökohtia Luento : ransformaatiot (2D) Marko Mllmaa 6/4 2D
2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
Luento 6: Tulostusprimitiivien toteutus
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Tulostusprimitiivien toteutus Lauri Savioja 11/07 Primitiivien toteutus / 1 ntialiasointi Fill-algoritmit Point-in-polygon Sisältö Primitiivien toteutus
811120P 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
Pong-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
Harjoitus Bones ja Skin
LIITE 3 1(6) Harjoitus Bones ja Skin Harjoituksessa käsiteltävät asiat: Yksinkertaisen jalan luominen sylinteristä Luurangon luominen ja sen tekeminen toimivaksi raajaksi Luurangon yhdistäminen jalka-objektiin
Scratch ohjeita. Perusteet
Perusteet Scratch ohjeita Scratch on graafinen ohjelmointiympäristö koodauksen opetteluun. Se soveltuu hyvin alakouluista yläkouluunkin asti, sillä Scratchin käyttömahdollisuudet ovat monipuoliset. Scratch
Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
9. Harjoitusjakso III
9. Harjoitusjakso III Seuraavaksi harjoitellaan kuvien ja tekstin lisäämistä piirtoalueelle. Tarjolla on aikaisempien harjoittelujaksojen tapaan kahden tasoisia harjoituksia: perustaso ja edistynyt taso.
7. Kuvien lisääminen piirtoalueelle
7. Kuvien lisääminen piirtoalueelle Harjoitus 13: Symmetristen kuvioiden tutkiminen Takaisin koulun penkille... Avaa dynaaminen työtiedosto H13_symmetria.html. Se löytyy Työpöydälle luomastasi kansiosta
JUnit ja EasyMock (TilaustenKäsittely)
OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip
3. Harjoitusjakso I. Vinkkejä ja ohjeita
3. Harjoitusjakso I Tämä ensimmäinen harjoitusjakso sisältää kaksi perustason (a ja b) ja kaksi edistyneen tason (c ja d) harjoitusta. Kaikki neljä harjoitusta liittyvät geometrisiin konstruktioihin. Perustason
Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.
Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.
Johdatus Ohjelmointiin
Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin
Tietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8
Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8 Piirtoalue ja algebraikkuna Piirtoalueelle piirretään työvälinepalkista löytyvillä työvälineillä
Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi
Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on
Harjoitus 2: Oppijan aktivointi (15.3.2016)
Harjoitus 2: Oppijan aktivointi (15.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla
TIES471 Reaaliaikainen renderöinti
TIES471 Reaaliaikainen renderöinti Kotitehtävä 2.3.3 Muistin kaistanleveys Koko kaistanleveyden kustannus: B = d * Zr + o(d) * (Z w + C w + T r ) Lisätään vielä tekstuuri välimuisti (texture cache) vaikutus
OpenOffice.org Impress 3.1.0
OpenOffice.org Impress 3.1.0 Sisällysluettelo 1 Esityksen luominen...1 2 Dian rakenne...2 3 Dian lisääminen, poistaminen, siirtäminen ja kopioiminen...3 4 Diojen koon muuttaminen...3 5 Pohjatyylisivut...4
20. Javan omat luokat 20.1
20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)
Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang
Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)
1 Funktiot, suurin (max), pienin (min) ja keskiarvo
1 Funktiot, suurin (max), pienin (min) ja keskiarvo 1. Avaa uusi työkirja 2. Tallenna työkirja nimellä perusfunktiot. 3. Kirjoita seuraava taulukko 4. Muista taulukon kirjoitusjärjestys - Ensin kirjoitetaan
Pedacode 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
TIES471 Reaaliaikainen renderöinti
TIES471 Reaaliaikainen renderöinti 5.1 Valonlähteet Yksinkertaisin valolähde on pistemäinen valo (point light), joka säteilee joka suuntaan annetulla voimakkuudella ja värillä. Suunnattu valo (directional
3. Vasemman reunan resurssiselaimen Omiin resursseihin luodaan uusi Handmade -niminen kansio.
ActivInspire JATKO AINEISTON TUOTTAMINEN Uuden aineiston tekemisen alkua helpottaa etukäteen tehty suunnitelma (tekstit, kuvat, videot, linkit) miellekarttaa hyödyntäen. Valmista aineistoa voi muokata
Geodeettisen laitoksen koordinaattimuunnospalvelu
Geodeettisen laitoksen koordinaattimuunnospalvelu Janne Kovanen Geodeettinen laitos 10.3.2010 Koordinaattimuunnospalvelusta lyhyesti Ilmainen palvelu on ollut tarjolla syksystä 2008 lähtien. Web-sovellus
3D-Maailman tuottaminen
hyväksymispäivä arvosana arvostelija 3D-Maailman tuottaminen Eero Sääksvuori Helsinki 11.12.2017 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET
Olio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
Matriisilaskenta 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
Luento 6: Piilopinnat ja Näkyvyys
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Piilopinnat ja Näkyvyys Janne Kontkanen Geometrinen mallinnus / 1 Johdanto Piilopintojen poisto-ongelma Syntyy kuvattaessa 3-ulotteista maailmaa 2-ulotteisella
4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste
Suora 1/5 Sisältö KATSO MYÖS:, vektorialgebra, geometriset probleemat, taso Suora geometrisena peruskäsitteenä Pisteen ohella suora on geometrinen peruskäsite, jota varsinaisesti ei määritellä. Alkeisgeometriassa
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
T-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
Tasogeometriaa GeoGebran piirtoalue ja työvälineet
Tasogeometriaa GeoGebran piirtoalue ja työvälineet Näissä harjoituksissa työskennellään näkymässä Näkymät->Geometria PIIRRÄ (ja MITTAA) a) jana toinen jana, jonka pituus on 3 b) kulma toinen kulma, jonka
Osoita, että kaikki paraabelit ovat yhdenmuotoisia etsimällä skaalauskuvaus, joka vie paraabelin y = ax 2 paraabelille y = bx 2. VASTAUS: , b = 2 2
8. Geometriset kuvaukset 8.1. Euklidiset kuvaukset 344. Esitä muodossa x = Ax + b se avaruuden E 3 peilauskuvaus, jonka symmetriatasona on x 1 3x + x 3 = 6. A = 1 3 6 6 3, b = 1 1 18. 3 6 6 345. Tason
Jypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
Sovelmat. Janne Käki
Sovelmat Janne Käki 24.11.2006 Sovellus extends JFrame public static void main(string[] args), joka tyypillisesti vain luo kehysluokan ilmentymän luontimetodi Sovelma extends JApplet ei main-metodia, ei
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman
Tietorakenteet ja algoritmit syksy Laskuharjoitus 1
Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,
Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.
Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta
plot(f(x), x=-5..5, y=-10..10)
[] Jokaisen suoritettavan rivin loppuun ; [] Desimaalierotin Maplessa on piste. [] Kommentteja koodin sekaan voi laittaa # -merkin avulla. Esim. #kommentti tähän [] Edelliseen tulokseen voi viitata merkillä
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.
5. Grafiikkaliukuhihna: (1) geometriset operaatiot
5. Grafiikkaliukuhihna: () geometriset operaatiot Johdanto Grafiikkaliukuhihnan tarkoitus on kuvata kolmiulotteisen kohdeavaruuden kuva kaksiulotteiseen kuva eli nättöavaruuteen. aikka kolmiulotteisiakin
T harjoitustyö, kevät 2012
T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
Graikka yleisesti tietokonepeleissä
Graikka yleisesti tietokonepeleissä Mikko Heilimo Helsinki 22.2.2006 Seminaaritutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI
Demokoodaus Linuxilla, tapaus Eternity
Demokoodaus Linuxilla, tapaus Eternity Tuomo Sipola tuomo.sipola@iki.fi Linkin lanit 9.4.2010 Tuomo Sipola tuomo.sipola@iki.fi () Demokoodaus Linuxilla, tapaus Eternity Linkin lanit 9.4.2010 1 / 17 Sisältö
Rubikin kuutio ja ryhmät. Johanna Rämö Helsingin yliopisto, Matematiikan ja tilastotieteen laitos
Rubikin kuutio ja ryhmät Johanna Rämö Helsingin yliopisto, Matematiikan ja tilastotieteen laitos Kehittäjä unkarilainen Erno Rubik kuvanveistäjä ja arkkitehtuurin professori 1974 Halusi leikkiä geometrisilla
Johdatus ohjelmointiin
Johdatus ohjelmointiin EXAM tentin liitetiedostojen lataaminen, käyttäminen ja palauttaminen Kerro mahdolliset puutteet tai parannusehdotukset: pietari.heino@tut.fi Tällä sivulla on selitetty lyhyesti
Harjoitus Morphing. Ilmeiden luonti
LIITE 1 1(5) Harjoitus Morphing Harjoituksessa käsiteltävät asiat: Objektien kopioiminen Editoitavan polygonin muokkaaminen Morph-modifier käyttö ilmeiden luomiseen Lyhyen animaation luonti set key- toimintoa
PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2
PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä /+^2 Kirjoita muuten sama, mutta ota välilyönti :n jälkeen / +^2 Kopioi molemmat matematiikka-alueet ja liiku alueen sisällä
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta
4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon
Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon KA1-kurssi on ehkä mahdollista läpäistä, vaikkei osaisikaan piirtää suoraa yhtälön perusteella. Mutta muut kansiksen kurssit, no
Avaruuden muunnokset Jukka Liukkonen 24. joulukuuta 2009
Avaruuden muunnokset Jukka Liukkonen 24. joulukuuta 2009 Sisältö 1 Johdanto 1 2 Vektorilaskennan kertaus 3 2.1 Vektorit koordinaatistossa........................... 7 3 Siirto 9 3.1 Siirto koordinaatistossa.............................
Matematiikka vuosiluokat 7 9
Matematiikka vuosiluokat 7 9 Matematiikan opetuksen ydintehtävänä on tarjota oppilaille mahdollisuus hankkia sellaiset matemaattiset taidot, jotka antavat valmiuksia selviytyä jokapäiväisissä toiminnoissa
Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
Lataa Geometristen kuvien värittäminen - Sympsionics Design. Lataa
Lataa Geometristen kuvien värittäminen - Sympsionics Design Lataa Kirjailija: Sympsionics Design ISBN: 9789526787824 Sivumäärä: 59 Formaatti: PDF Tiedoston koko: 29.30 Mb Kirja sisältää runsaasti ohjeita
2. Aloitus -välilehti, leikepöytä- ja fontti -ryhmät
2. Aloitus -välilehti, leikepöytä- ja fontti -ryhmät Aloitus -välilehdelle on sijoitettu eniten käytetyt muotoiluihin liittyvät komennot. Välilehti sisältää viisi eri ryhmää, johon komennot on sijoitettu
P 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
POHDIN - projekti. Funktio. Vektoriarvoinen funktio
POHDIN - projekti Funktio Funktio f joukosta A joukkoon B tarkoittaa sääntöä, joka liittää jokaiseen joukon A alkioon jonkin alkion joukosta B. Yleensä merkitään f : A B. Usein käytetään sanaa kuvaus synonyymina
FOTONETTI BOOK CREATOR
F O T O N E T T I O Y FOTONETTI BOOK CREATOR 6 2012 Kemintie 6 95420 Tornio puhelin: 050-555 6500 pro/kirja: 050-555 6580 www.fotonetti.fi Ohjelman asentaminen 1 Hae ohjelma koneellesi osoitteesta http://www.fotonetti.fi/kuvakirjatilaa
ELM 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................................
58131 Tietorakenteet ja algoritmit (syksy 2015)
58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen
9. Kappale -ryhmä - Kappalemuotoilut
9. Kappale -ryhmä - Kappalemuotoilut Aloitus -välilehdellä Kappale -ryhmästä löytyvät kaikki kappalemuotoilut. Huomaa, että kappalemuotoilut ovat aina voimassa seuraavaan kappalemerkkiin asti. Kappalemerkki
INTERNETSELAIMEN ASETUKSET. Kuinka saan parhaan irti selaimesta
INTERNETSELAIMEN ASETUKSET Kuinka saan parhaan irti selaimesta ASETUKSET YLEISESTI Asetuksilla taataan, että Selaimen ulkoasu on toivotunlainen Kirjaimen ja kuvien koko Pop-up -ikkunoiden käsittely Joissakin
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ
TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ Windows XP-käyttöjärjestelmän asetuksilla sekä Word-asetuksilla voit vaikuttaa tietokoneen näytön ulkoasuun, selkeyteen ja helppokäyttöisyyteen.. 1) ASETUKSET
4.1 Kaksi pistettä määrää suoran
4.1 Kaksi pistettä määrää suoran Kerrataan aluksi kurssin MAA1 tietoja. Geometrisesti on selvää, että tason suora on täysin määrätty, kun tunnetaan sen kaksi pistettä. Joskus voi tulla vastaan tilanne,
WINDOWS 10 -kurssi. petri.kiiskinen@wellamo-opisto.fi
WINDOWS 10 -kurssi petri.kiiskinen@wellamo-opisto.fi Yleistä kurssista Keskiviikkoisin 9.9. 30.9. (15 oppituntia) 16:45 20:00 (viimeinen kerta 16:45 19:15) Puolivälissä 15 minuutin kahvitauko Materiaali
Valitse ruudun yläosassa oleva painike Download Scilab.
Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download
ClassPad 330 plus ylioppilaskirjoituksissa apuna
ClassPad 330 plus ylioppilaskirjoituksissa apuna Suomessa sallittiin CAS (Computer Algebra System) laskimien käyttö keväästä 2012 alkaen ylioppilaskirjoituksissa. Norjassa ja Ruotsissa vastaava kehitys
origo III neljännes D
Sijoita pisteet A(1,4) ja B(4,5;5) sekä C(-3,4) ja D(-4,--5) y II neljännes C A I neljännes B x origo III neljännes D IV neljännes KOTIT. Sijoita ja nimeä koordinaatistoon pisteitä niin, että pisteet yhdistettäessä
7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio