Esimerkkejä. OpenGL ohjelma. OpenGL tilakone. Geometriset primitiivit. Hyvät ja huonot polygonit. OpenGL Pipeline. Rasterointi

Koko: px
Aloita esitys sivulta:

Download "Esimerkkejä. OpenGL ohjelma. OpenGL tilakone. Geometriset primitiivit. Hyvät ja huonot polygonit. OpenGL Pipeline. Rasterointi"

Transkriptio

1 Tietokonegrafiikka / perusteet Ako/T /301 4 ov / 2 ov OpenGL 1 Yleistä harjoituksista OpenGL:n toiminta Primitiivit Kuvapuskurit Koordinaatistot ja projisointi Transformaatiot ja matriisit Valaistus ja materiaalit GLUT Sisällys Marko Myllymaa 06/04 OpenGL / 1 OpenGL / 2 Harjoitukset Pieniä harjoituksia 5 kappaletta Lopuksi isompi harjoitus Pikkuharjoituksista saa pisteitä 0-4, eli yhteensä 20 Lopputyöstä saa pisteitä 0-20 Lopputyön arvostelu: näyttävyys 0-6p laajuus ja vaativuus 0-5p koodi 0-3p dokumentti 0-3p UI+muuta 0-3p Pienet harjoitustyöt OpenGL/GLUT C/C++ (pohjakoodi C:tä) ympäristönä O2 ja Windows/Dev-Cpp Tehdään yksin DL viikon välein, alkaen Palautetaan mailitse osoitteeseen ti111300@niksula.hut.fi Kaikista kohdista on saata vähintään 1 piste Koko kurssin arvosana määräytyy harjoitustyöarvosanan ja tenttiarvosanan keskiarvona OpenGL / 3 OpenGL / 4 Pienet harjoitustyöt 1.harjoitus Objektien luominen, väritys ja liikuttaminen Kameran liikuttaminen 2.harjoitus Display listat Erilaiset valot 3.harjoitus Teksturointi Alpha blendaus 4.harjoitus Tekstit Animaatio Kameran ohjaus hiirellä 5.harjoitus Objektien valitseminen hiirellä varjot OpenGL / 5 Materiaalia OpenGL Programmin Guide Neider/Davis/Woo Addison Wesley O2:sten Insight-kirjat Programming Guide Komentona insight -n Web nehe.gamedev.net OpenGL / 6 1

2 Esimerkkejä ~ti111300/o2/opengl-aloita-taalta tutor: hyviä demoja util: sekalaisia hyödyllisiä ohjelmanpätkiä ~ti111300/o2/opengl-esim tutoriaaleja ja esimerkkikoodia nehe.gamedev.net tutoriaaleja OpenGL ohjelma OpenGL tekee ainoastaan renderöinnin Event loopit, ikkunan avaaminen, syöttölaitteiden lukeminen, ei kuulu OpenGL:ään GLUT (OpenGL Utility Toolkit) tarjoaa ikkunakontrollin ja syöttölaitteiden lukufunktiot GLU (OpenGL Utility Library) tarjoaa muutamia muutamia geometrisiä malleja, projektiofunktioita, glulookat(), OpenGL / 7 OpenGL / 8 Vertex Data Display List OpenGL Pipeline Evaluaattorit Rasterointi Vertex-operaatiot Primitiivit Fragmentointioperaatiot Näyttö OpenGL tilakone Kaikki renderöinti tapahtuu ns. Nykyisessä tilassa 100 erilaista tilamuuttujaa Kaikki tilamuuttujat globaaleja Väri, nykyinen textuuri, transformaatio matriisi, Disable/Enable liput Pixel Data Data (cached tai evaluoitu) Transform/ valaistus leikkaus Pikselioperaatiot Pikselioperaatiot Tekstuurit Teksturointi Rasterointi Z-puskuri stencil blending Framepuskuri glcolor3f(1.0,0.0,0.0); glenable(gl_depth_test); gltranslate(x,y,z); glget*(glstate, *parameter); glisenabled(mode); glpushattrib(attributegroup); glpopattrib(attributegroup); CPU/muisti Laitteisto/grafiikkapuskurit OpenGL / 9 OpenGL / 10 Geometriset primitiivit Hyvät ja huonot polygonit GL_POINTS GL_TRIANGLES GL_POLYGON GL_LINES GL_LINE_STRIP GL_LINE_LOOP V1 GL_TRIANGLE_STRIP v5 GL_TRIANGLE_FAN GL_QUADS v7 v6 v5 GL_QUAD_STRIP v6 v5 v7 Hyviä: konveksit Huonoja: konkaavit, reikiä Default: glfrontface(gl_ccw); OpenGL / 11 OpenGL / 12 2

3 Polygonin etupuoli Polygonin etupuoli Vertexien järjestys Piirto moodi: void glpolygonmode(glenum pinta, Glenum moodi); pinta: GL_FRONT_AND_BACK, GL_FRONT, GL_BACK moodi: GL_POINT, GL_LINE, GL_FILL glfrontface(gl_ccw); Taustapintojen poisto (backface culling): glcullface(gl_back); glenable(gl_cull_face); (moodi = GL_FRONT, GL_BACK tai glfrontface(gl_cw); GL_FRONT_AND_BACK) glfronface(gl_cw); glpolygonmode(gl_front, GL_FILL); glpolygonmode(gl_back, GL_LINE); glbegin(gl_triangles); glcolor3f(0.0,0.7,0.0); glvertex3f(0.25,0.0,0.0); glvertex3f(0.25,1.0,0.0); glvertex3f(1.0,0.0,0.0); glcolor3f((0.0,0.0,0.7); glvertex3f(-0.25,0.0,0.0); glvertex3f(-0.25,1.0,0.0); glvertex3f(-1.0,0.0,0.0); glend(); V2 +Z V1 V0 +Y V0 V1 V2 +X Huomaa koordinaatisto! OpenGL / 13 OpenGL / 14 Vertexit glbegin():n ja glend():n välissä määritettävät primitiivit (pisteet, kolmiot, kolmioviuhkat, ) Vertexissä oleva informaatio, ei vain paikka; Vertexit glbegin():n ja glend():n välissä voi olla vain rajoitettuja OpenGL kutsuja Muuta koodia siellä voi olla: glvertex*() glcolor*() glindex*() glnormal*() gltexcoord*() glmultitexcoord*arb() glmaterial*() gledgeflag*() glarrayelement() glevalcoord*() glevalpoint() glcalllist() glcalllists() vertexin koordinaatit nykyinen väri nykyinen väri-indexi normaalivektorin koordinaatit tekstuurikoordinaatit tekstuurikoordinaatit(multiteksturointi) materiaaliominaisuudet kontrolloi reunojen piirtoa haetaan vertexitaulukosta dataa generoi koordinaatteja generoi koordinaatteja suorittaa display listan suorittaa display listoja Glint circle_points = 8; glbegin(gl_line_loop); for(i = 0; i < circel_points; i++) { angle = 2*PI*I/circle_points; glvertex2f(cos(angle), sin(angle)); } glend(); OpenGL / 15 OpenGL / 16 Esimerkki #include <mitätarvitaan.h> main() { OpenWindowPlease(); glclearcolor(0.0,0.0,1.0,0.0); glclear(gl_color_buffer_bit); glortho(-1.0,1.0,-1.0,1.0,-1.0,1.0); glcolor3f(0.0,1.0,0.0); glbegin(gl_polygon); glvertex2f(-0.5,-0.5); glvertex2f(-0.5,0.5); glvertex2f(0.5,0.5); glvertex2f(0.5,-0.5); glend(); glflush(); KeepTheWindowOnTheScreen(); } Stencil buffer maskaus 1 bitti tai enemmän OpenGL:n grafiikkapuskurit Accumulation buffer kumulatiivinen rendaus Depth buffer (Z buffer) syvyysinfo: näkyvyys bittiä Frame buffer RGBA (4*8bittiä) tupla: 2 stereo: 2+2 alpha-arvo: blendaus läpinäkyvyys Puskureiden bittimäärä riippuu implementaatiosta OpenGL / 17 OpenGL / 18 3

4 Puskureiden tyhjennys Muista tyhjentää puskurit ennen rendaamista Puskurit saattavat sisältää mitä tahansa ennen tyhjennystä aseta tyhjennysarvot frame bufferille: (0.0,0.0,0.0,0.0) Z bufferille: (1) (maksimi etäisyys) defaultit yleensä järkeviä tyhjennä puskurit tyhjennys pitää tehdä ennen jokaisen kuvan piirtoa esim: glclearcolor(0.0,0.0,0.0,0.0); glcleardepth(1.0); glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); Tuplapuskurointi Välttääksesi rendauksen näkymistä ja välkkymistä, käytä tuplapuskurointia Rendataan taustalla olevaan puskuriin ja vaihdetaan luettavaa puskuria Stereo-ohjelmassa tarvitaan kaksi puskuria molemmille silmille redraw(void) { glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glcalllist(dinosaur); glutswapbuffers(); } main(int argc, char **argv) { glutinit(&argc, argv); glutinitdisplaymode(glut_rgb GLUT_DOUBLE GLUT_DEPTH); glutdisplayfunc(redraw); glutmainloop(); OpenGL / 19 OpenGL / 20 Pikseli testit Piirrettävien pikselien valinta perustuu dataan erilaisissa puskureissa taikka muihin sääntöihin Scissor test rajoitetaan rendau nelikulmaiseen alueeseen Pikseli testit Puskuritestien toiminnallisuus voidaan valita Oletusarvot päästävät pikselit läpi, paitsi syvyystestissä gldepthfunc(gl_less); glalphafunc(gl_always); glstencilfunc(gl_always,0,255); GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GEQUAL, GL_GREATER, GL_NOTEQUAL Stencil test maskaus puskuri Depth test näkyvyys testi Alpha test valinta perustuu läpinäkyvyyteen Disabloi syvyys ja alpha testi, kun blendaat! void glstencilop(gl_keep, GL_KEEP, GL_KEEP); // fail, zfail, zpass GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_DECR, GL_INVERT glscissor(x, y, width, height); Muista enabloida testit: glenable(gl_depth_test); glenable(gl_stencil_test); glenable(gl_alpha_test); glenable(gl_scissor); OpenGL / 21 OpenGL / 22 3D katselu Kaikki 3D transformaatiot voidaan laskea homogeenisillä 4x4 matriiseilla OpenGL:ssä on kaksi matriisipinoa: katselumatriisit (modelview) projektiomatriisit (projection) Katselumatriisipinossa vähintää 32 kerrosta Projektiomatriisipinossa vähintään 2 kerrosta glmatrixmode(gl_modelview); glmatrixmode(gl_projection); 3D katselu OpenGL:n ja GLU kirjaston funktioita matriisipinojen käsittelyyn: Initialisoidaan nykyinen matriisi (katse negatiivisen Z-akselin suuntaan) Transformaatiomatriisit objektion manipuloimiseksi: gltranslate*(x,y,z); glrotate*(a,x,y,z); glscale*(x,y,z); Asetetaan projektio: glfrustum(left,right,bottom,top,near,far); gluperspective(field-of-view, aspect, near, far); glortho(left,right,top,bottom,near,far); OpenGL / 23 OpenGL / 24 4

5 3D katselu Objektin saaminen ruudulle tarvitsee sarjan tranformaatioita eri koordinaatistojen välillä: Vertexit Objektin koordinaatit Kameran koordinaatit Ja tämä tehdään jokaiselle vertexille Perspektiivijako Normalisoidut laitekoordinaatit Ikkunakoordinaatit Katselumatriisi Projektiomatriisi Katselutransformaatio Leikkauskoordinaatit Projektiot Perspektiiviprojektio gluperspective(fovy, aspect, znear, zfar); glfrustum(left, right, bottom, top, near, far); Orthogonaaliprojektio glortho(left, right, bottom, top, near, far); Orthogonaaliprojektio määrittää vain katselutilavuuden, perspektiivijakoa ei ole käytössä Muista käyttää projektiomatriisia, kun kutsut näitä! glmatrixmode(gl_projection); OpenGL / 25 OpenGL / 26 Kameran sijoittaminen Ensin vaihdetaan katselumatriisiin ja alustetaan se: glmatrixmode(gl_modelview); Käytä glulookat:iä tuottamaan katselumatriisi haluamallesi katselukulmalle (tai käytä glrotate:a ja gltranslate:a) glulookat(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz); Oletus on negatiivisen Z-akselin suuntaan/pitkin Translaatio Talleta nykyinen matriisi Tee transformaatiot ennen vertexien syöttämistä glmatrixmode(gl_modelview); glulookat(3,3,8, 0,0,0, 0,1,0); glpushmatrix(); gltranslatef(0.0,0.0,3.0); glutwiresphere(1.0,20,16); glpopmatrix(); OpenGL / 27 OpenGL / 28 Rotaatio Alusta projektiomatriisi: glmatrixmode(gl_projection); gluperspective(45,1.77,1,30); Katselu - yhteenveto Rotaatio ensin glrotatef(45,0,1,0); gltranslatef(0,0,3); Translaatio ensin gltranslatef(0,0,3); glrotatef(45,0,1,0); alusta katselumatriisi: glmatrixmode(gl_modelview); Sijoita kamera (glulookat tai gltranslate ja glrotate) Sijoita objektit maailmaan: talleta nykyinen matriisi: glpushmatrix() muokkaa matriisia: gltranslate(), glrotate() piirrä objekti palaa aiemmin talletettuun matriisiin: glpopmatrix() OpenGL / 29 OpenGL / 30 5

6 Värit Nykyinen väri on tila, jota voidaan muuttaa haluttaessa Sheidatussa rendauksessa pikselin lopullinen väri riippuu monesta parametristä RGBA red, green, blue, alpha oletus esitysmuoto valaistus, blendaus, teksturointi yms. toimivat intuitiivisesti glutinitdisplaymode(glut_rgba); glcolor(0,1,0); Indeksoitu lista indeksoituja värejä alijoukko koko väriavaruudesta renderöinnissä saattaa tulla ongelmia indeksoiduilla väreillä ei suositella glutinitdisplaymode(glut_indexed); Sävytys (shading) Lasketaan (aproksimoidaan) pinnalta lähtevän valon määrä OpenGL:ssä on kaksi tapaa täyttää polygoni: FLAT polygoni täytetään tasaisella värillä väri on yhden vertexin väri SMOOTH värit lasketaan jokaisessa vertexissä lasketut värit interpoloidaan polygonin sisäpuolisille pisteille (Gouraud shading) Huom. Käytä glcolor():ia vain ilman valoja ja materiaaleja OpenGL / 31 OpenGL / 32 Valaistus ja materiaalit Objektin muotoja ei näy ilman valoja, pallo vaikuttaa ympyrältä Sama objekti saadaan näyttämään täysin erilaiselta erilaisilla valoilla ja materiaaleilla Täydellistä valaistusyhtälöä ei ole Yksinkertainenkin valaistus ja materiaalien käyttö voi osoittautua riittäväksi Valot määrittävät emission, materiaalit määrittävät haijastuksen Ambient tasainen kaikkialla Diffuse valolla on suunta Valon komponentit Specular valolla on suunta, aiheuttaa heijastukset Materiaaleilla on samat ominaisuudet sekä vielä emissiivinen materiaali OpenGL:ssä nämä ovat täysin toisistaan riippumattomat OpenGL / 33 OpenGL / 34 Valaistuksen suunnittelu Määritä vertexeille normaalit heijastuskulmat lasketaan niiden avulla Luo ja sijoita valonlähteet käytä mahdollimman vähän valonlähteitä Määritä ambientti valo sekä yleinen valaistusmalli local viewer <> infinte viewer Määritä objektille materiaalit pyri todellisuuteen Pinnan normaalit Normaalit ovat vertexien ominaisuus OpenGL:ssä ei ole pintoja Vertexinormaalit ovat tasaiselle objektille vakiot, yleensä kuitenkin objektit ovat epätasaisia/kaarevia.. Kaarevilla objekteilla normaalit muuttuvat joka vertexillä Polygonipinnoilla on hyvä käyttää normaalien keskiarvoa: n[0]=(n1[0]+n2[0])/2.0; n[1]=(n1[1]+n2[1])/2.0; n[2]=(n1[2]+n2[2])/2.0; glnormal3f(n[0],n[1],n[2]); glbegin(...); glend(); OpenGL / 35 OpenGL / 36 6

7 Valon ominaisuudet OpenGL tukee vähintään 8 valonlähdettä Ominaisuuksia: väri, paikka, suunta, kulma, void gllight{if}[v](glenum light, Glenum pname, TYPEparam); Parametrin nimi Oletusarvo Tarkoitus GL_AMBIENT (0.0,0.0,0.0,1.0) ambient väri, RGBA GL_DIFFUSE (1.0,1.0,1.0,1.0) diffuusi väri, RGBA GL_SPECULAR (1.0,1.0,1.0,1.0) kiiltoväri, RGBA GL_POSITION (0.0,0.0,1.0,0.0) (x,y,z,w) paikka GL_SPOT_DIRECTION (0.0,0.0,-1.0) (x,y,z) kohdevalon suunta GL_SPOT_EXPONENT 0.0 kohdevalokerroin GL_SPOT_CUTOFF kohdevalon valokeilan leveys GL_CONSTANT_ATTENUATION 1.0 vakio vaimentuminen GL_LINEAR_ATTENUATION 0.0 lineaarinen vaimentuminen GL_QUADRATIC_ATTENUATION 0.0 neliöllinen vaimentuminen Yleiset valaistusmallit Ambientti taustavalo: Glfloat ambient[] = {0.1,0.1,0.1,1.0}; gllightmodelfv(gl_light_model_ambient, ambient); Hypoteettisen katsojan paikka: FALSE:lla saa nopeammat valaistuslaskut gllightmodeli(gl_light_model_local_viewer,gl_true); gllightmodeli(gl_light_model_local_viewer,gl_false); Kaksipuoleinen valaistus yksipuoleinen on luonnillisesti nopeampaa gllightmodeli(gl_light_model_two_side,gl_true); gllightmodeli(gl_light_model_two_side,gl_false); Oletusarvot pätevät vain valolle GL_LIGHT0 Muille valoille GL_DIFFUSE ja GL_SPECULAR ovat oletuksena (0.0,0.0,0.0,1.0) OpenGL / 37 OpenGL / 38 Materiaalin ominaisuudet Materiaaleilla on pääosin samat ominaisuudet kuin valoillakin, sekä emissiivisyys vielä lisäksi Emissiivisyys ei kuitenkaan vaikuta valaistuslaskentaan void glmaterial{if}[v](glenum face, Glenum pname, TYPEparam); Parametrin nimi Oletusarvo Tarkoitus GL_AMBIENT (0.2,0.2,0.2,1.0) materiaalin ambientti väri GL_DIFFUSE (0.8,0.8,0.8,1.0) diffuusi väri GL_AMBIENT_AND_DIFFUSE ambientti ja diffuusi väri GL_SPECULAR (0.0,0.0,0.0,1.0) kiiltoväri GL_SHININESS 0.0 kiiltokerroin GL_EMISSION (0.0,0.0,0.0,1.0) emissiivinen väri GL_COLOR_INDEXES (0,1,1) ambientti, diffuusi ja kiiltovärien indeksit Voit laittaa ambientin ja diffuusin värin seuraan nykyistä väriä: glenable(gl_color_material); glcolormaterial(gl_front_and_back, GL_AMBIENT_AND_DIFFUSE); GLUT GLUT OpenGL Utility Toolkit Tekijä: Mark J. Kilgard Ikkunointijärjestelmästä riippumaton OpenGL API (C) Tapahtumien hallintaa rekisteröimällä callback funktioita Voi hallita montaa OpenGL-ikkunaa Idle looppi Syöttölaitteet Pop-up menut 3D primitiivejä: torus, pallo, kartio, teekannu, Overlay Fontit Sekalaisia apufunktioita OpenGL / 39 OpenGL / 40 Esimerkki OpenGL / 41 7

T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi

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

Lisätiedot

Sisällys. T-111.4300 Tietokonegrafiikan perusteet. OpenGL-ohjelmointi 11/2007. Mikä on OpenGL?

Sisällys. T-111.4300 Tietokonegrafiikan perusteet. OpenGL-ohjelmointi 11/2007. Mikä on OpenGL? T-111.4300 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

Lisätiedot

Luento 3: 3D katselu. Sisältö

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

Lisätiedot

Sisällys. OpenGL 2. Display-listat. Display-Listat. Display-listat. Display-listat. Tietokonegrafiikka / perusteet Ako/T /301 4 ov / 2 ov

Sisällys. OpenGL 2. Display-listat. Display-Listat. Display-listat. Display-listat. Tietokonegrafiikka / perusteet Ako/T /301 4 ov / 2 ov Tietokonegrafiikka / perusteet Ako/T-111.300/301 4 ov / 2 ov OpenGL 2 Display Listat Tekstitys GLUT:lla Teksturointi Varjot Lopuista harjoituksista Valaistus ja materiaalit GLUT Sisällys Marko Myllymaa

Lisätiedot

OpenGL:n perusteet - Osa 2: 3D grafiikka

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ä

Lisätiedot

Luento 10: Näkyvyystarkastelut ja varjot. Sisältö

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

Lisätiedot

OpenGL:n perusteet Osa 4: Valot ja varjot

OpenGL:n perusteet Osa 4: Valot ja varjot OpenGL:n perusteet Osa 4: Valot ja varjot 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ä

Lisätiedot

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

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)

Lisätiedot

OpenGL 2. Sisältö. Tietokonegrafiikka / perusteet T /301 4 ov / 2 ov

OpenGL 2. Sisältö. Tietokonegrafiikka / perusteet T /301 4 ov / 2 ov Tietokonegrafiikka / perusteet T-111.300/301 4 ov / 2 ov OpenGL 2 Iikka Olli OpenGL / 1 GLUT Display listat Teksturointi Sumu Blendaus Antialiasointi Picking Optimointi Sisältö OpenGL / 2 1 GLUT = OpenGL

Lisätiedot

Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

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

Lisätiedot

T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

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

Lisätiedot

Luento 7: Lokaalit valaistusmallit

Luento 7: Lokaalit valaistusmallit Tietokonegrafiikan perusteet T-111.4300 3 op Luento 7: Lokaalit valaistusmallit Lauri Savioja 11/07 Lokaalit valaistusmallit / 1 Sävytys Interpolointi Sisältö Lokaalit valaistusmallit / 2 1 Varjostustekniikat

Lisätiedot

Luento 6: Piilopinnat ja Näkyvyys

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

Lisätiedot

Tilanhallintatekniikat

Tilanhallintatekniikat Tilanhallintatekniikat 3D grafiikkamoottoreissa Moottori on projektin osa joka vastaa tiettyjen toiminnallisuuksien hallinnasta hallitsee kaikki vastuualueen datat suorittaa kaikki tehtäväalueen toiminnot

Lisätiedot

Luento 4: Näkyvyystarkastelut ja varjot

Luento 4: Näkyvyystarkastelut ja varjot Tietokonegrafiikan jatkokurssi T-111.5300 4 op Luento 4: Näkyvyystarkastelut ja varjot Lauri Savioja 02/07 Näkyvyystarkastelut ja varjot / 1 Näkyvyystarkastelu Solurenderöinti Portaalirenderöinti Quad-/Octtree

Lisätiedot

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat 2D-piirto 2-ulotteisen grafiikan piirto perustuu yleensä valmiiden kuvien kopioimiseen näyttömuistiin (blitting)

Lisätiedot

OpenGL:n perusteet - Osa 1: Ikkunan luominen

OpenGL:n perusteet - Osa 1: Ikkunan luominen OpenGL:n perusteet - Osa 1: Ikkunan luominen 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.

Lisätiedot

Visualisoinnin perusteet

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

Lisätiedot

TIES471 Reaaliaikainen renderöinti

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

Lisätiedot

Harjoitus Bones ja Skin

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

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Tietokonegrafiikan kertausta eli mitä jokaisen animaattorin tulisi tietää tekniikasta

Tietokonegrafiikan kertausta eli mitä jokaisen animaattorin tulisi tietää tekniikasta Tassu Takala Tietokonegrafiikan kertausta eli mitä jokaisen animaattorin tulisi tietää tekniikasta Mallinnustekniikkaa Animaation perustekniikkaa Harjoitustyöt 12.10.2006 1 Aiheita mallintaminen muodon

Lisätiedot

OpenGL:n perusteet Osa 3: Teksturointi

OpenGL:n perusteet Osa 3: Teksturointi OpenGL:n perusteet Osa 3: Teksturointi 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ä

Lisätiedot

3D-Maailman tuottaminen

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

Lisätiedot

LIITE 1 1. Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa.

LIITE 1 1. Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa. LIITE 1 1 HARJOITUS 1 Kitara Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa. Käsiteltävät asiat Edit Poly Muokkaus kuvan mukaan TurboSmooth Extrude 1. Tarkistetaan että mittayksiköt

Lisätiedot

Harjoitus Morphing. Ilmeiden luonti

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

Lisätiedot

T-111.4310 Vuorovaikutteinen tietokonegrafiikka Tentti 14.12.2011

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

Lisätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

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

Lisätiedot

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

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

Lisätiedot

T-111.1100 Johdatus Tietoliikenteeseen ja Multimediaan

T-111.1100 Johdatus Tietoliikenteeseen ja Multimediaan T-111.1100 Johdatus Tietoliikenteeseen ja Multimediaan Tietokonegrafiikka Timo Tossavainen Mediatekniikan laitos Timo.Tossavainen@tkk.fi T-111.1100 p. 1 Sisältö Rasterigrafiikka Grafiikan matematiikkaa

Lisätiedot

T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio T-106.1041 Tietotekniikan peruskurssi: Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio Luennon aiheita (1) mitä on tietokonegrafiikka? tietokone piirtää kuvia mikä on digitaalinen

Lisätiedot

3D animaatio: liikekäyrät ja interpolointi. Tommi Tykkälä

3D animaatio: liikekäyrät ja interpolointi. Tommi Tykkälä 3D animaatio: liikekäyrät ja interpolointi Tommi Tykkälä Läpivienti Keyframe-animaatio Lineaarisesta interpoloinnista TCB-splineihin Bezier-käyrät Rotaatioiden interpolointi Kameran animointi Skenegraafit

Lisätiedot

Luento 7: 3D katselu. Sisältö

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

Lisätiedot

Demokoodaus Linuxilla, tapaus Eternity

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ö

Lisätiedot

CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia.

CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia. CSS1 CSS (Cascading Style Sheets) CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia. Esim.

Lisätiedot

Sisältö. Luento 6: Piilopinnat. Peruskäsitteet (jatkuu) Peruskäsitteitä. Yksinkertaisia tapauksia. Yksinkertaiset tapaukset jatkuu

Sisältö. Luento 6: Piilopinnat. Peruskäsitteet (jatkuu) Peruskäsitteitä. Yksinkertaisia tapauksia. Yksinkertaiset tapaukset jatkuu Tietokonegrafiikka / perusteet T-111.300/301 4 ov / 2 ov Peruskäsitteitä Z-buffer Syvyyslajittelu Juovalajittelu Rekursiivinen aluejako Piiloviivat Sisältö Luento 6: Piilopinnat Marko Myllymaa 09/03 Piilopinnat

Lisätiedot

Luento 2: Tulostusprimitiivit

Luento 2: Tulostusprimitiivit Tietokonegrafiikan perusteet T-111.4300 3 op Luento : Tulostusprimitiivit Lauri Savioja 11/06 D primitiivit / 1 Sisältö Mallintamisen alkeita Perusprimitiivit (GKS) attribuutteineen Näyttömuisti D primitiivit

Lisätiedot

Racket ohjelmointia osa 1. Tiina Partanen Lielahden koulu 2014

Racket ohjelmointia osa 1. Tiina Partanen Lielahden koulu 2014 Racket ohjelmointia osa 1 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Peruslaskutoimitukset 2) Peruskuvioiden piirtäminen 3) Määrittelyt (define) 4) Yhdistettyjen kuvien piirtäminen 5) Muuttujat ja

Lisätiedot

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla 1 ENTITEETIT Tehtävä 1. Tietokoneet ja käyttöjärjestelmät käyttävät erilaisia merkkijärjestelmiä ja varsinkin Internetin alkutaipaleella aiheutti sen, että jotkut merkit eivät näkyneet kaikilla oikein.

Lisätiedot

10. Globaali valaistus

10. Globaali valaistus 10. Globaali valaistus Globaalilla eli kokonaisvalaistuksella tarkoitetaan tietokonegrafiikassa malleja, jotka renderöivät kuvaa laskien pisteestä x heijastuneen valon ottamalla huomioon kaiken tähän pisteeseen

Lisätiedot

TIES471 Reaaliaikainen renderöinti

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

Lisätiedot

T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan: Tietokonegrafiikka. Tassu Takala. Mediatekniikan laitos 23.3.2012

T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan: Tietokonegrafiikka. Tassu Takala. Mediatekniikan laitos 23.3.2012 T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan: Tassu Takala Mediatekniikan laitos Luennon aiheita (1) Mitä on tietokonegrafiikka? tietokone piirtää kuvia Mikä on digitaalinen kuva? rasterikuva

Lisätiedot

3D Studio Viz: Valot ja kamerat

3D Studio Viz: Valot ja kamerat 3D Studio Viz: Valot ja kamerat (Huom. Ohjeet Vizin versio 3:lle, mutta samat asiat löytyvät myös versiosta 4.) 1 1. Valot 1.1 Valotyypit 3D Studio Viz:ssä on mahdollista tuottaa kahdentyyppisiä valoja:

Lisätiedot

Käyttöliittymän muokkaus

Käyttöliittymän muokkaus Käyttöliittymän muokkaus Ohjelman pitkän kehityshistorian takia asetukset ovat jakaantuneet useampaan eri kohtaan ohjelmassa. Ohessa yhteenveto nykyisistä asetuksista (versio 6.4.1, 2/2018). Ylä- ja sivupalkkien

Lisätiedot

3D-renderöinti OpenGL-ohjelmointirajapinnalla

3D-renderöinti OpenGL-ohjelmointirajapinnalla Mikko Kemppainen 3D-renderöinti OpenGL-ohjelmointirajapinnalla Tietotekniikan kandidaatintutkielma 28. huhtikuuta 2017 Jyväskylän yliopisto Tietotekniikka Tekijä: Mikko Kemppainen Yhteystiedot: mikko.t.a.kemppainen@student.jyu.fi

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS TERMINATOR SIGNAALINKÄSITTELY KUVA VOIDAAN TULKITA KOORDINAATTIEN (X,Y) FUNKTIONA. LÄHDE: S. SEITZ VÄRIKUVA KOOSTUU KOLMESTA KOMPONENTISTA (R,G,B). ÄÄNI VASTAAVASTI MUUTTUJAN

Lisätiedot

Luento 6: Tulostusprimitiivien toteutus

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

Lisätiedot

IDL - datan sovitus. ATK tähtitieteessä. IDL - esimerkiksi linfit. IDL - esimerkiksi linfit

IDL - datan sovitus. ATK tähtitieteessä. IDL - esimerkiksi linfit. IDL - esimerkiksi linfit IDL - datan sovitus 3. toukokuuta 2017 IDL sisältää monia yleisimpiä funktioita, joita voi helposti sovittaa datapisteisiin. Jos valmiista funktioista ei löydy mieleistä, voi oman mielivaltaisen sovitusfunktion

Lisätiedot

Reaaliaikaiset varjoalgoritmit. Atso Kauppinen

Reaaliaikaiset varjoalgoritmit. Atso Kauppinen Reaaliaikaiset varjoalgoritmit Atso Kauppinen Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyoppi Pro gradu -tutkielma Maaliskuu 2008 Tampereen yliopisto Tietojenkäsittelytieteiden

Lisätiedot

Esityksen sisältö. Peruskäsitteitä. 3D Grafiikka tietokonepeleissä. Piirto- ja taustapuskuri

Esityksen sisältö. Peruskäsitteitä. 3D Grafiikka tietokonepeleissä. Piirto- ja taustapuskuri Esityksen sisältö 3D Grafiikka tietokonepeleissä Peruskäsitteitä Korkean tason rakenne Piirron alkeisobjektit Tekstuurit Valotus Laitteistopiirtoliukuhihna Yhteenveto Peruskäsitteitä Piirto- ja taustapuskuri

Lisätiedot

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys 10.2. Säteenjäljitys ja radiositeettialgoritmi Säteenjäljitys Säteenjäljityksessä (T. Whitted 1980) valonsäteiden kulkema reitti etsitään käänteisessä järjestyksessä katsojan silmästä takaisin kuvaan valolähteeseen

Lisätiedot

T-76.115 Tietojenkäsittelyopin ohjelmatyö

T-76.115 Tietojenkäsittelyopin ohjelmatyö T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on tietokonegrafiikka-algoritmien visualisointiin tarkoitettujen visualisointien ja niiden kehitykseen tarkoitetun ohjelmointirajapinnan käyttäjävaatimusdokumentti.

Lisätiedot

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Tekijä 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ätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Jypelin käyttöohjeet» Ruutukentän luominen

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

Lisätiedot

Peliohjelmointirajapinnoista

Peliohjelmointirajapinnoista Peliohjelmointi: Peliohjelmointirajapinnoista Teppo Soininen & Antti Puhakka Lähteet: www.opengl.org, OpenGL-spesifikaatio, Tietokonegrafiikka luentomoniste, MSDN, Introduction to 3D Game Programming with

Lisätiedot

Käsiteltävät asiat LIITE 3 1. Tehtävänä on mallintaa lipputanko ja siihen lippu ohjeiden mukaan. Cloth. Wind Garment Maker

Käsiteltävät asiat LIITE 3 1. Tehtävänä on mallintaa lipputanko ja siihen lippu ohjeiden mukaan. Cloth. Wind Garment Maker LIITE 3 1 HARJOITUS 3 Cloth Tehtävänä on mallintaa lipputanko ja siihen lippu ohjeiden mukaan. Käsiteltävät asiat Cloth Wind Garment Maker 1. Tarkistetaan että mittayksiköt ovat Generics Units, valikosta

Lisätiedot

LightWorks. 1 Renderoijan perussäädöt. 1.1 Sisältö. 1.2 LightWorksin käytön aloitus

LightWorks. 1 Renderoijan perussäädöt. 1.1 Sisältö. 1.2 LightWorksin käytön aloitus 1.9.2009 ArchiCAD 13 VI. - 1 LightWorks 1 Renderoijan perussäädöt 1.1 Sisältö Tässä luvussa käsitellään LightWorks-renderoijan käyttöönottoa ja säätöjä erilaisissa renderointitilanteissa. Lightworks-renderoija

Lisätiedot

Käsiteltävät asiat LIITE 2 1. Tehtävänä on mallintaa keilarata ohjeiden mukaan. MassFX Boolean Lathe

Käsiteltävät asiat LIITE 2 1. Tehtävänä on mallintaa keilarata ohjeiden mukaan. MassFX Boolean Lathe LIITE 2 1 HARJOITUS 2 Keilarata Tehtävänä on mallintaa keilarata ohjeiden mukaan. Käsiteltävät asiat MassFX Boolean Lathe 1. Tarkistetaan että mittayksiköt ovat Generics Units, valikosta Customize/Units

Lisätiedot

QT tyylit. Juha Järvensivu 2008

QT tyylit. Juha Järvensivu 2008 QT tyylit Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisällys QStyle Style sheet Tyyli (QStyle) Kapseloi widgettien Look And Feel ominaisuudet Toteutettu QT:ssa QStyle luokkaan Sisäänrakennettuja tyylejä

Lisätiedot

1 Funktiot, suurin (max), pienin (min) ja keskiarvo

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

Lisätiedot

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014 25. syyskuuta 2014 IDL - datan sovitus IDL sisältää monia yleisimpiä funktioita, joita voi helposti sovittaa datapisteisiin. Jos valmiista funktioista ei löydy mieleistä, voi oman mielivaltaisen sovitusfunktion

Lisätiedot

T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka Tapio Takala / Lauri Savioja Teknillinen korkeakoulu Mediatekniikan laitos T-110.1110 / 1 Oppimistavoitteet Tietokonegrafiikan

Lisätiedot

Tapio Takala / Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio

Tapio Takala / Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka Tapio Takala / Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio T-110.1100

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS TERMINATOR SIGNAALINKÄSITTELY KUVA VOIDAAN TULKITA KOORDINAATTIEN (X,Y) FUNKTIONA. LÄHDE: S. SEITZ VÄRIKUVA KOOSTUU KOLMESTA KOMPONENTISTA (R,G,B). ÄÄNI VASTAAVASTI MUUTTUJAN

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014 25. syyskuuta 2014 IDL - datan sovitus IDL sisältää monia yleisimpiä funktioita, joita voi helposti sovittaa datapisteisiin. Jos valmiista funktioista ei löydy mieleistä, voi oman mielivaltaisen sovitusfunktion

Lisätiedot

2016/12/23 16:14 1/5 Perspektiivi. Voidaan käyttää kun on tehty muutoksia väylämallin kuvauksiin ja väylä on uudelleen rakennettu.

2016/12/23 16:14 1/5 Perspektiivi. Voidaan käyttää kun on tehty muutoksia väylämallin kuvauksiin ja väylä on uudelleen rakennettu. 2016/12/23 16:14 1/5 Perspektiivi Perspektiivi Tällä toiminnolla voidaan katsella tiesuunnitelmaa virtuaalisesti. Tämä toiminto luo virtuaalimallin ja näyttää sen. Tätä toimintoa voidaan käyttää suunnittelun

Lisätiedot

Rendaaminen Brazililla

Rendaaminen Brazililla 1 / 16 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto Rendaaminen Brazililla Rendausasetukset 2 / 16 Rendaukseen liittyvät työkalut löytyvät Render-paneelista Current Renderer-kohdasta voit valita

Lisätiedot

Racket ohjelmointia II. Tiina Partanen 2015

Racket ohjelmointia II. Tiina Partanen 2015 Racket ohjelmointia II Tiina Partanen 2015 Sisältö 1) Peli I Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita

Lisätiedot

Vektoreita GeoGebrassa.

Vektoreita GeoGebrassa. Vektoreita GeoGebrassa 1 Miten GeoGebralla piirretään vektoreita? Työvälineet ja syöttökentän komennot Vektoreiden esittäminen GeoGebrassa on luontevaa: vektorien piirtämiseen on kaksi työvälinettä vektoreita

Lisätiedot

1. Etsi seuraavien funktioiden kriittiset pisteet ja tutki niiden laatu: (a.) f(x,y) = 20x 2 +10xy +5y 2 (b.) f(x,y) = 4x 2 2y 2 xy +x+2y +100

1. Etsi seuraavien funktioiden kriittiset pisteet ja tutki niiden laatu: (a.) f(x,y) = 20x 2 +10xy +5y 2 (b.) f(x,y) = 4x 2 2y 2 xy +x+2y +100 HARJOITUS, RATKAISUEHDOTUKSET, YLE 07.. Etsi seuraavien funktioiden kriittiset pisteet ja tutki niiden laatu: (a.) f(x,y) = 0x +0xy +5y (b.) f(x,y) = 4x y xy +x+y +00 (a.) Funktion kriittiset pisteet ratkaisevat

Lisätiedot

TIES471 Reaaliaikainen renderöinti

TIES471 Reaaliaikainen renderöinti TIES471 Reaaliaikainen renderöinti Laskuharjoitus 1 Lataa kirja 3D Math Primer for Graphics and Game development https://tfetimes.com/wp-content/uploads/2015/04/f.dunn-i.parberry-3d-math-primer-for-graphics-and-game-development.pdf

Lisätiedot

Taustatietoja ja perusteita

Taustatietoja ja perusteita Taustatietoja ja perusteita Vektorit: x R n pystyvektoreita, transpoosi x T Sisätulo: x T y = n i=1 x i y i Normi: x = x T x = ni=1 x 2 i Etäisyys: Kahden R n :n vektorin välinen etäisyys x y 1 Avoin pallo:

Lisätiedot

Graikka yleisesti tietokonepeleissä

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

Lisätiedot

Harjoitus 2: Oppijan aktivointi (15.3.2016)

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

Lisätiedot

Luento 6: Geometrinen mallinnus

Luento 6: Geometrinen mallinnus Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Geometrinen mallinnus Lauri Savioja, Janne Kontkanen 11/2007 Geometrinen mallinnus / 1 Sisältö Mitä on geometrinen mallinnus tietokonegrafiikassa

Lisätiedot

Sukelluskeräily. Pelihahmon liikuttaminen. Aarre ja pisteet

Sukelluskeräily. Pelihahmon liikuttaminen. Aarre ja pisteet Sukelluskeräily 1 Tässä pelissä keräilet erilaisia aarteita ja väistelet vihollista. Tämän lisäksi pelaajan pitää käydä välillä pinnalla hengittelemässä. Peliin lisätään myös häiriötekijäksi esim. parvi

Lisätiedot

Funktionaalista grafiikkaa

Funktionaalista grafiikkaa Funktionaalista grafiikkaa Tommi Teistelä totateis@jyu.fi 22.4.2008 Tiivistelmä Haskellin kaltaisten funktionaalisten ohjelmointikielten ilmaisukyky mahdollistaa grafiikan koostamisen perinteistä korkeammalla

Lisätiedot

Ohjeita. Datan lukeminen

Ohjeita. Datan lukeminen ATK Tähtitieteessä Harjoitustyö Tehtävä Harjoitystyössä tehdään tähtikartta jostain taivaanpallon alueesta annettujen rektaskensio- ja deklinaatiovälien avulla. Karttaan merkitään tähdet aina kuudenteen

Lisätiedot

Peliohjelmointirajapinnoista

Peliohjelmointirajapinnoista Peliohjelmointi: Peliohjelmointirajapinnoista Teppo Soininen & Antti Puhakka Lähteet: www.opengl.org, OpenGL-spesifikaatio, Tietokonegrafiikka luentomoniste, MSDN, Introduction to 3D Game Programming with

Lisätiedot

805324A (805679S) Aikasarja-analyysi Harjoitus 4 (2016)

805324A (805679S) Aikasarja-analyysi Harjoitus 4 (2016) 805324A (805679S) Aikasarja-analyysi Harjoitus 4 (2016) Tavoitteet (teoria): Hallita autokovarianssifunktion ominaisuuksien tarkastelu. Osata laskea autokovarianssifunktion spektriiheysfunktio. Tavoitteet

Lisätiedot

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori Testitapaukset - Koordinaattieditori Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Toiminnallisuuden testitapaukset...5 3.1 Uuden projektin avaaminen...5 3.2 vaa olemassaoleva projekti...6

Lisätiedot

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen Geogebra -koulutus Ohjelmistojen pedagoginen hyödyntäminen Geogebra Ilmainen dynaaminen matematiikkaohjelmisto osoitteessa http://www.geogebra.org Geogebra-sovellusversion voi asentaa tietokoneilla ja

Lisätiedot

Jakopinta monipesäinen muotti

Jakopinta monipesäinen muotti Jakopinta monipesäinen muotti JuhoTaipale, Tuula Höök Tampereen teknillinen yliopisto Teoriatausta Muotin perusrakenne Ruisku tai painevalukappaleen rakenteen perusasiat: hellitys eli päästö, kulmapyöristys,

Lisätiedot

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0.

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0. HARJOITUS 1, RATKAISUEHDOTUKSET, YLE11 2017. 1. Ratkaise (a.) 2x 2 16x 40 = 0 (b.) 4x 2 2x+2 = 0 (c.) x 2 (1 x 2 )(1+x 2 ) = 0 (d.) lnx a = b. (a.) Toisen asteen yhtälön ratkaisukaavalla: x = ( 16)± (

Lisätiedot

4. Esittäminen ja visualisointi (renderöinti)

4. Esittäminen ja visualisointi (renderöinti) 4. Esittäminen ja visualisointi (renderöinti) Tutkitaan erilaisia renderöintimenetelmiä, joita käytetään luvuissa 2 ja 3 esitettyjen kuvien esitysmuotojen visualisointiin. Seuraavassa selvitetään: (1)

Lisätiedot

Yleistä vektoreista GeoGebralla

Yleistä 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ätiedot

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

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ä.

Lisätiedot

TOMI LAMMINSAARI 3D-MAAILMAN KAMERAN OHJAAMINEN KASVOJEN PAIKANNUKSEN AVULLA. Diplomityö

TOMI LAMMINSAARI 3D-MAAILMAN KAMERAN OHJAAMINEN KASVOJEN PAIKANNUKSEN AVULLA. Diplomityö TOMI LAMMINSAARI 3D-MAAILMAN KAMERAN OHJAAMINEN KASVOJEN PAIKANNUKSEN AVULLA Diplomityö Tarkastaja: Tommi Mikkonen Aihe, tarkastaja ja kieli hyväksytty Tieto- ja sähkötekniikan tiedekunnan tiedekuntaneuvoston

Lisätiedot

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26

Lisätiedot

Harjoitus Particle View

Harjoitus Particle View LIITE 2 1(5) Harjoitus Particle View Harjoituksessa käsiteltävät asiat: Partikkelien luominen Particle systemsin kautta Partikkelien luominen tyhjästä Particle viewin kautta Partikkelien ja tapahtumien

Lisätiedot

13. Värit tietokonegrafiikassa

13. Värit tietokonegrafiikassa 13.1. Värijoukot tietokonegrafiikassa 13. Värit tietokonegrafiikassa Tarkastellaan seuraavaksi värien kvantitatiivista pohjaa. Useimmiten käytännön tilanteissa kiinnitetään huomiota kvalitatiiviseen. Värien

Lisätiedot

GeoGebran 3D paketti

GeoGebran 3D paketti GeoGebran 3D paketti vielä kehittelyvaiheessa joitakin puutteita ja virheitä löytyy! suomennos kesken parhaimmillaan yhdistettynä 3D-lasien kanssa tilattavissa esim. netistä (hinta noin euron/lasit) 3D-version

Lisätiedot

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

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

Lisätiedot

PERCIFAL RAKENNETUN TILAN VISUAALINEN ARVIOINTI

PERCIFAL RAKENNETUN TILAN VISUAALINEN ARVIOINTI PERCIFAL RAKENNETUN TILAN VISUAALINEN ARVIOINTI Arvioijan nimi: Päivämäärä ja kellonaika: Arvioitava tila: Sijainti tilassa: Vastaa kysymyksiin annetussa järjestyksessä! Antaessasi vastauksesi asteikkomuodossa,

Lisätiedot

Mukavia kokeiluja ClassPad 330 -laskimella

Mukavia kokeiluja ClassPad 330 -laskimella Mukavia kokeiluja ClassPad 330 -laskimella Tervetuloa tutustumaan Casio ClassPad laskimeen! Jos laskin ei ole yksin omassa käytössäsi, on hyvä tyhjentää aluksi muistit ja näytöt valikosta Edit->Clear All

Lisätiedot

Luento 2: Viivan toteutus

Luento 2: Viivan toteutus Tietokonegrafiikan perusteet T-111.4300 3 op Luento : Viivan toteutus Lauri Savioja 11/07 Primitiivien toteutus / 1 GRAAFISTEN PRIMITIIVIEN TOTEUTUS HUOM! Oletuksena on XY-koordinaatisto Suorien viivojen

Lisätiedot

Tassu Takala Teknillinen korkeakoulu Mediatekniikan laitos

Tassu Takala Teknillinen korkeakoulu Mediatekniikan laitos T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka Tassu Takala Teknillinen korkeakoulu Mediatekniikan laitos Oppimistavoitteet Tietokonegrafiikan peruskäsitteistön tunteminen

Lisätiedot