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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

1 Tietokonegrafiikka / perusteet Ako/T /301 4 ov / 2 ov OpenGL 2 Display Listat Tekstitys GLUT:lla Teksturointi Varjot Lopuista harjoituksista Valaistus ja materiaalit GLUT Sisällys Marko Myllymaa 06/04 OpenGL / 1 OpenGL / 2 Display-Listat Cache (kätkö) OpenGL-kutsuille Sopii objektien tallettamiseen geometria attribuutit Yleisesti tehokkaampaa kuin yksittäiset OpenGL-kutsut talletetaan näytönohjaimen muistiin riippuu näytönohjaimesta ja sen ajurista Voidaan tehdä monimutkaisia hierarkisia objekteja Älä käytä turhaan! Ei yksittäisiä kolmioita Ei muuttuvia objekteja Kovin suuri malleja ei kannata laittaa yhteen display-listaan, kannattaa mieluummin jakaa malli pienempiin osiin ja sitten poistaa siitä näkymättömät osat, esim. BSP tai dpvs Display-listaa ei voi muuttaa, se pitää tuhota ja luoda uudestaan OpenGL / 3 Display-listan luominen: glnewlist() tässä kaikki display-listaan tulevat OpenGL-kutsut glendlist() Display-listan numero luodaan funktiolla glgenlists() Display-listaa käytetään funktiolla glcalllist() Display-lista voi sisältää kutsuja muihin display listoihin WV_list = glgenlists(1); glnewlist(wv_list, GL_COMPILE);//GL_COMPILE_AND_EXECUTE glcalllist(wv_hull_list); glcalllist(wv_tires_list); glcalllist(wv_list); glislist() - tarkistaa onko lista olemassa gldeletelists() - tuhoa listan (listat) OpenGL / 4 Listaa tehtäessä voidaan käyttää mitä tahansa algoritmeja ja laskutoimituksia: buildcircle(int circle_list) { Glint I; Glfloat x, y; glnewlist(circle_list, GL_COMPILE); glbegin(gl_line_loop); for(i=0; i<8; i++) { x = cos(i*2*m_pi/8.0); y = sin(i*2*m_pi/8.0); glvertex2f(x, y); Vain lopulliset arvot ja OpenGL-kutsut talletaan display-listaan OpenGL / 5 Listaa kutsuttaessa se muuttaa OpenGL:n tilaa ja nykyistä matriisipinoa, aivan kuten tavalliset OpenGL-kutsut Attribuutit ja nykyinen matriisi voidaan tallettaa glpush*():lla ja palauttaa taas glpop*():llä glnewlist(indexi, GL_COMPILE); glpushmatrix(); glpushattrib(gl_current_bit); gltranslatef(1.5,0.0,0.0); glcolor3f(1.0,0.0,0.0); glbegin(gl_triangles); glvertex2f(0.0,0.0); glvertex2f(1.0,0.0); glvertex2f(0.0,1.0); glpopattrib(); glpopmatrix(); OpenGL / 6 20 erilaista attribuuttiryhmää (bufferit, valaistus, enabloidut bitit, sumu, jne) GL_CURRENT_BIT = color, normal, texture coords, edge_flag, rasterization info 1

2 GLUT:in fontit Viiva fontti (stroke font) Kirjaimet tehdään viivoilla Skaalattavia void glutstrokecharacter(void *font, int character); GLUT_STROKE_ROMAN, GLUT_STROKE_MONO_ROMAN void *font = GLUT_STROKE_ROMAN; char message[] = Hello World! ; glenable(gl_line_smooth); glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA); gllinewidth(3.0); glrotatef(45, 0.0,0.0,1.0); Bittikarttafontti 1-bittinen rasterikuva Nopea Ei skaalattavissa, vakio koko GLUT:n fontit void glutbitmapcharacter(void *font, int character); GLUT_BITMAP_8_BY_13, GLUT_BITMAP_9_BY_15, GLUT_BITMAP_TIMES_ROMAN_10, _24, GLUT_BITMAP_HELVETICA_10, _12, _18 for(int i=0;i < len; i++) glutstrokecharacter(font, message[i]); OpenGL / 7 OpenGL / 8 GLUT-menut Yksinkertainen menumekanismi: void controllights(int value) { switch(value) { case 1: glutfullscreen(); case 2: lightswitch =!lightswitch; if(lightswitch) glenable(gl_light0); else gldisable(gl_light0); case 3: exit(0); glutpostredisplay(); glutcreatemenu(controllights); glutaddmenuentry( Full Screen, 1); glutaddmenuentry( Toggle light, 2); glutaddmenuentry( Quit, 3); glutattachmenu(glut_right_button); GLUT-dino OpenGL / 9 OpenGL / 10 Teksturointi Liimataan kuvia pintoihin Helposti ja halvalla yksityiskohtia sama kuva voidaan kopioida monta kertaa, esim. Tiiliseinä mäppäys : annetaan polygonin vertexeille tekstuurikoordinaatit Tekstuurin koko on aina kahden potensseja OpenGL:ssä 16x16, 32x32, 64x64, 128x128, Tekstuurit voidaan luoda kahdella tapaa: 1. Ladataan tekstuuri tiedostosta, käyttäen esim. readtex.c:tä GLubyte *LoadRGBImage(const cahr *file, GLint *width, GLint *height, GLenum *format) 2. Luodaan tekstuuri sopivalla algoritmilla suoraan muistiin sopii yksikertaisiin tekstuureihin, kuten shakkikuvioon OpenGL / 11 Tekstuurit Tekstuurit ja niiden parametrit voidaan koota nimettyyn tekstuuriobjektiin luo tekstuurien nimet liitä nimi ja kuva sekä parametrit yhteen priorisoi, mikäli tarpeellista laita tekstuurikoordinaatit vertexeihin (eli käytä tekstuuria) tuhoa tekstuuri GLuint texnames[2]; GLubyte *image=null;... glgentextures(2, texnames); glbindtexture(gl_texture_2d, texnames[0]); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_CLAMP); glteximage2d(gltexture_2d, 0, GL_RGBA, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, image);... gldeletetextures(2, texnames); OpenGL / 12 2

3 Tekstuurin parametrit Muistiin talletettavan tekstuurin formaatti: glpixelstorei(gl_unpack_alignment, 1); Textuurin wräppäys : gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_WRAP); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_WRAP); Teksturointitapa (decal, modulate, blend): gltexenvf(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_DECAL); Muista enabloida teksturointi! glenable(gl_texture_2d); Tekstuurin määritykset glteximage2d: halutun tekstuurin tyyppi (GL_TEXTURE_2D) mipmap:n taso sisäinen esitysmuoto (R, G, B, A) leveys ja korkeus reuna (0 tai 1) kuvan formaatti ja tyyppi (RGB, unsigned byte) pointteri kuva dataan glteximage2d(gl_texture_2d, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, &checkimage[0][0][0]); OpenGL / 13 OpenGL / 14 Tekstuurikoordinaatit Määritä jokaiselle vertexille tekstuuri koordinaatti! void display(void) { glclear(gl_color_buffer_bit GL_DEPTH_BUFFE_BIT); glbegin(gl_quads); gltexcoord2f(0.0,0.0; glvertex3f(-2.0,-1.0,0.0); gltexcoord2f(0.0,1.0; glvertex3f(-2.0, 1.0,0.0); gltexcoord2f(1.0,1.0; glvertex3f( 0.0, 1.0,0.0); gltexcoord2f(1.0,0.0; glvertex3f( 0.0,-1.0,0.0); gltexcoord2f(0.0,0.0; glvertex3f(1.0,-1.0,0.0); gltexcoord2f(0.0,1.0; glvertex3f(1.0, 1.0,0.0); gltexcoord2f(1.0,1.0; glvertex3f(2.4, 1.0,-1.4); gltexcoord2f(1.0,0.0; glvertex3f(2.4,-1.0,-1.4); glflush(); Mipmap:t Erikokoisia tekstuureita samasta kuvasta, originaali, 1/4, 1/16, 1/64,..., 1 pikseli Optimointia, käytetään pienempiä tekstuureita pienemmille polygoneille Maksimi detaljit vain lähietäisyydeltä katsottaessa Esifiltteröinti: gltexparameteri(gl_texture_2d,gl_texure_min_filter,gl_nearest); pistemittaus: GL_NEAREST_MIPMAP_NEAREST bilinear: GL_LINEAR_MIPMAP_NEAREST trilinear: GL_LINEAR_MIPMAP_LINEAR OpenGL / 15 OpenGL / 16 Blendaus Värien sekoitusta alpha-kanavan mukaan Läpinäkyvyys: Muista disabloida Z-bufferi ja enabloida blendaus gldisable(gl_depth_test); Blendausfunktio voidaan valita: pikseli = f(source target) f = glblendfunc(sfactor, dfactor) Tyypillinen käyttötapa: 1. piirrä ensimmäinen objekti seuraavilla tekijöillä: sfactor = GL_ONE dfactor = GL_ZERO 2. Piirrä seuraava objekti puolella alphalla glcolor(0.0,1.0,0.0,0.5); sfactor = GL_SRC_ALPHA dfactor = GL_ONE_MINUS_SRC_ALPHA OpenGL / 17 Antialiasointi Poistaa liian pienestä sämpläystaajuudesta (eli resoluutiosta) johtuvaa porrasmaisuutta Alpha-kanavaa voidaan käyttää peittävyyden laskentaan Käytännössä blendataan vierekkäiset pikselit Melko helppoa pisteille ja viivoille: glenable(gl_line_smooth); glblendfunc(gl_src_alpha,gl_one_minus_src_alpha); glhint(gl_line_smooth_hint, GL_DONT_CARE); gllinewidth(1.5); Polygoneille on olemassa erilaisia antialiasointitapoja OpenGL / 18 3

4 Antialiasointi Yksi tapa antialiasoida polygoni: 1. Reunapikselien alphaan pienet arvot glenable(gl_polygon_smooth); 2. Poista syvyys testi käytöstä gldisable(gl_depth_test); 3. Valitse blendausfunktio reunapikseleille glblendfunc(gl_src_alpha_saturate, GL_ONE); 4. Piirrä syvyysjärjestyksessä (takaa eteen) Antialiasointia voidaan tehdä myös supersampling:llä Tai accumulation bufferia voidaan käyttää tähän tarkoitukseen Sumu Sumu hävittää (fading) objectit etäisyyden funktiona Sillä saadaan lisää syvyysvaikutelmaa Implementaatio käyttää Z-bufferia sumun laskentaan Sumun ominaisuuksia: void glfog*(glenum pname, TYPE param); pname: param: GL_FOG_MODE GL_EXP,GL_EXP2,GL_LINEAR (GL_EXP) GL_FOG_COLOR RGBA arvo (0.0,0.0,0.0,0.0) GL_FOG_DENSITY sumun tiheys (EXP) (1) GL_FOG_START sumun aloitusetäisyys (LINEAR) (0) GL_FOG_END sumun lopetusetäisyys (LINEAR)(1) OpenGL / 19 OpenGL / 20 Objektin valinta (picking) Objektin valinta htedään yleensä jonkin eventin tapahtuessa, esim. hiiren nappulaa painettaessa OpenGL antaa melko karun tavan toteuttaa tämä: 1. Luo taulukko osumille, tai select bufferi 2. alusta nimipino 3. rajoita piirtoalue kursorin lähelle (glupickmatrix()) 4. Piirrä GL_SELECT -tilassa, anna piirron aikana objekteille nimet (kokonaisluvut) 5. Palaa GL_RENDER -tilaan 6. Hae osumataulukosta lähin objekti Osumataulukko (select bufferi) sisältää: indexi zmin zmax objektin nimi (kokonaisluku) OpenGL / 21 Objektin valinta (glpuzzle.c) int selectpiece(int mousex, int mousey) { long hits; GLuint selectbuf[1024], closest dist; glselectbuffer(1024, selectbuf); glrendermode(gl_select); glinitnames(); glpushname(-1); glmatrixmode(gl_projection); glloadidentity(); glupickmatrix(mousex,h-mousey,4,4,viewport); gluperspective(45,1.0,0.1,100.0); drawall(); hits = glrendermode(gl_render); if(hits <= 0) return 0; closest = 0; while(hits) { if(selecbuf[(hits-1)*4+1] < dist) { dist = selecbuf[(hits-1)*4+1]; closest = selecbuf[(hits-1)*4+3]; hits--; return closest; OpenGL / 22 Tekstuurit ja kiilto Valaistuslaskut tehdään ennen teksturointia, joten tekstuureja ei saa kiiltämään ratkaisu: piirretään kahteen kertaan ja yhdeistetään tulokset static void display(void) { glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glpushmatrix(); /* diffuusi texturoitu */ glenable(gl_texture_2d); gllightfv(gl_light0, GL_DIFFUSE, White); gllightfv(gl_light0, GL_SPECULAR, Black); glcalllist(sphere); Tekstuuri ja kiilto /* blendataan kiilto mukaan */ gldepthfunc(gl_equal); gldisable(gl_texture_2d); /* redraw same pixels */ glblendfunc(gl_one, GL_ONE); /* adding */ gllightfv(gl_light0,gl_diffuse,black); gllightfv(gl_light0,gl_specular,white); glcalllist(sphere); gldepthfunc(gl_less); gldisable(gl_blend); glpopmatrix(); glutswapbuffers(); OpenGL 1.2:ssa: gllightmodeli(gl_light_model_control_color, GL_SEPARATE_SPECULAR_COLOR); OpenGL / 23 OpenGL / 24 4

5 Optimointia Kaikki keinot sallittuja fps:n nostamiseksi! Yleensä: Älä piirrä mitään mikä ei näy ruudussa Kaikki on sallittua, kunhan se näyttää hyvältä Tarkennuksia: Tee usein käytetyistä objekteista display-listoja Käytä yksipuolista valaistusta Käytä ainoastaan yhtä tai kahta valonlähdettä Disabloi LOCAL_VIEWER valaistuksessa Poista (cull) taustapinnat O2:lla, käytä cc:tä Optimointia Minimoi geometria, käytä tekstuureita yksityiskohtiin Käytä GL_TRIANGLE_STRIP:jä, ne ovat nopeimpia Vältä yksittäisiä polygoneja Laita vertexit vertexitaulukkoon Vältä turhaa tilojen vaihtoa Pyri ryhmittelemään objektit saman ominaisuuden mukaan, esim. tekstuuri, väri, materiaali Käytä vain nimettyjä textuureita glcullface(gl_back); gllightmodelf(gl_light_model_two_side, GL_FALSE); gllightmodelf(gl_light_model_local_viewer,gl_false); OpenGL / 25 OpenGL / 26 5

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

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

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

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

Lisätiedot

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

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

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

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

Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla

Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla Kuvan pienentäminen Paint.NET-kuvankäsittelyohjelmalla Avaa Paint.NET tuplaklikkaamalla sen pikakuvaketta. Paint.NET avautuu tämän näköisenä. Edessä on tyhjä paperi. Saadaksesi auki kuvan, jota aiot pienentää

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

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

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

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

Videon tallentaminen Virtual Mapista

Videon tallentaminen Virtual Mapista Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeammin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta

Lisätiedot

Elisa Kirja. PDF e-kirjojen käsittelyohjeet

Elisa Kirja. PDF e-kirjojen käsittelyohjeet Elisa Kirja PDF e-kirjojen käsittelyohjeet Elisa Oyj ja yhteistyökumppanit 2 (5) Ulkoasun ja sisällön muokkaus E-kirja julkaisu ei saa koostua monesta PDF-tiedostosta. Liitä PDF-tiedostot tarvittaessa

Lisätiedot

KÄYTTÖÖN. Koulukirjat tietokoneelle PIKAOHJEET PAPERPORT -OHJELMAN. Sisällysluettelo

KÄYTTÖÖN. Koulukirjat tietokoneelle PIKAOHJEET PAPERPORT -OHJELMAN. Sisällysluettelo Koulukirjat tietokoneelle PIKAOHJEET PAPERPORT -OHJELMAN KÄYTTÖÖN Sisällysluettelo ImageViewer ja PDF Viewer Plus -ohjelmien esittelyt 1 Käytön aloittaminen 1 Työpöydän hyödylliset työkalut 2 Image View

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

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 4 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 17. tammikuuta 2008 Modulin viimeistelyä module Shape ( Shape ( Rectangle, E l l i p

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

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

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

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

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

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

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

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

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

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

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Pistelaskurin saamiseksi tarvitaan kaksi osaa: Laskuri, joka laskee pisteitä Olio, joka näyttää pisteet ruudulla Laskuri voi olla esimerkiksi tyyppiä

Lisätiedot

11. Javan valintarakenteet 11.1

11. Javan valintarakenteet 11.1 11. Javan valintarakenteet 11.1 Sisällys If- ja if--lauseet. Orpo. Valintaa toisin: switch-lause. 11.2 Valintarakenteet Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua

Lisätiedot

Merkkijono on palindromi, jos se säilyy samana, vaikka sen kääntää väärinpäin.

Merkkijono on palindromi, jos se säilyy samana, vaikka sen kääntää väärinpäin. A Palindromi Sinulle annetaan merkkijono, ja tehtäväsi on poistaa siitä tarkalleen yksi merkki, minkä jälkeen merkkijonon tulisi olla palindromi. Onko tehtäväsi mahdollinen? Merkkijono on palindromi, jos

Lisätiedot

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,

Lisätiedot

H6: Tehtävänanto. Taulukkolaskennan perusharjoitus. Harjoituksen tavoitteet

H6: Tehtävänanto. Taulukkolaskennan perusharjoitus. Harjoituksen tavoitteet H6: Tehtävänanto Taulukkolaskennan perusharjoitus Ennen kuin aloitat harjoituksen teon, lue siihen liittyvä taustamateriaali. Se kannattaa käydä läpi kokeilemalla samalla siinä annetut esimerkit käyttämässäsi

Lisätiedot

Hiirisanomiin vastaaminen. 2007

Hiirisanomiin vastaaminen. 2007 Hiirisanomiin vastaaminen juha.jarvensivu@tut.fi 2007 Sisällys Hiirisanomat Näppäinsanomat Capture Objektin valinta Osumatestaus Objektin raahaaminen Esimerkki Hiirisanomat MouseEnter Kutsutaan kun hiiren

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

Toinen harjoitustyö. ASCII-grafiikkaa

Toinen harjoitustyö. ASCII-grafiikkaa Toinen harjoitustyö ASCII-grafiikkaa Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. Ideoita

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Editorin käyttö. TaikaTapahtumat -käyttöohje

Editorin käyttö. TaikaTapahtumat -käyttöohje Editorin käyttö TaikaTapahtumat -käyttöohje Yleistä ohjelmasta etaika-järjestelmän HTML-moduuli sisältää tekstieditorin, joka on monipuolinen apuväline tehtäessä materiaalia sivustolle (esim. tapahtumakohtaiset

Lisätiedot

Videon tallentaminen Virtual Mapista

Videon tallentaminen Virtual Mapista Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeimmin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta

Lisätiedot

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin käyttöohjeet» Ruutukentän luominen Jypelin käyttöohjeet» Ruutukentän luominen ==================HUOM!!!================== SISÄLLÖN TUOMINEN VISUAL STUDIOON ON MUUTTUNUT Uudet ajantasalla olevat ohjeet löytyvät timistä:?https://tim.jyu.fi/view/kurssit/tie/ohj1/tyokalut/sisallon-tuominen-peliin

Lisätiedot

Kun suunnitelma on valmiina niin itse sivuston rakentaminen on jo helpompaa. (jatketaan tätä rakentelu vaiheessa.

Kun suunnitelma on valmiina niin itse sivuston rakentaminen on jo helpompaa. (jatketaan tätä rakentelu vaiheessa. WWW-sivun teko Niko Rautava 2006 http://koti.mbnet.fi/nrautava/ Kannattaa aloittaa www-sivun suunnittelu ihan paperille laittamalla siihen seuraavia tietoja: - sivujen määrä - alasivut (määrä, ulkonäkö)

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

Interaktiivinen käyttöliittymä. 2008

Interaktiivinen käyttöliittymä. 2008 Interaktiivinen käyttöliittymä juha.jarvensivu@tut.fi 2008 Sisällys Hiirisanomat ja Näppäinsanomat Objektin valinta Osumatestaus Objektin raahaaminen Esimerkki Hiirisanomat MouseEnter Kutsutaan kun hiiren

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

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.

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

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

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Useampitasoiset ADT:t Käytetään esimerkkiohjelmaa Ratkaisuyritys 1 Ratkaisuyritys 2 Lopullinen ratkaisu Lopullisen ratkaisun toteutusyritys Lopullisen ratkaisun oikea toteutus

Lisätiedot

Kuvat. 1. Selaimien tunnistamat kuvatyypit

Kuvat. 1. Selaimien tunnistamat kuvatyypit Kuvat Kuvia voi liittää xhtml-sivulle -elementillä -elementillä -elementillä lomakkeiden yhteydessä lähinnä painikenappeja taustakuvina -elementin background-attribuutilla tai

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

HARJOITUKSIA ios-ohjelmointiin LIITTYEN

HARJOITUKSIA ios-ohjelmointiin LIITTYEN HARJOITUKSIA ios-ohjelmointiin LIITTYEN Kari Laitinen http://www.naturalprogramming.com 2014-08-25 Tiedosto luotu. 2015-08-31 Harjoitukset muutettu Swift-kielelle. 2016-01-31 Viimeisin muutos. 1 Kari Laitinen

Lisätiedot

HTML5 video, audio, canvas. Mirja Jaakkola

HTML5 video, audio, canvas. Mirja Jaakkola HTML5 video, audio, canvas Mirja Jaakkola Video webbisivulla HTML5 mahdollistaa videon lisäämisen webbi-sivuille ilman plugineja. Yleisimmät videoformaatit webissä: Mpeg-4 eli H.264 Ogg Flash Perustuu

Lisätiedot

11. Javan valintarakenteet 11.1

11. Javan valintarakenteet 11.1 11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet

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

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

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

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager Missio: 1. Asentaminen 2. Valokuvien tarkastelu, tallennus/formaatit, koko, tarkkuus, korjaukset/suotimet, rajaus 3. Kuvan luonti/työkalut (grafiikka kuvat) 4. Tekstin/grafiikan lisääminen kuviin, kuvien/grafiikan

Lisätiedot

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro: KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen

Lisätiedot

Vapo: Turveauman laskenta 1. Asennusohje

Vapo: Turveauman laskenta 1. Asennusohje Turveauman mittaus 3D-system Oy 3D-Win ohjelman lisätoiminto, jolla lasketaan turveaumasta tilaajan haluamat arvot ja piirretään aumasta kuva. Laskentatoiminto löytyy kohdasta Työkalut/Lisätoiminnot. Valitse

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Tietotyypit ja operaattorit

Tietotyypit ja operaattorit Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto

Lisätiedot

19. Olio-ohjelmointia Javalla 19.1

19. Olio-ohjelmointia Javalla 19.1 19. Olio-ohjelmointia Javalla 19.1 Sisällys Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit

Lisätiedot

Monipuolinen esimerkki

Monipuolinen esimerkki Monipuolinen esimerkki Lopuksi monipuolinen esimerkki, jossa ohjelmisto koostuu pääohjelmasta ja kahdesta aliohjelmasta, joista toinen on proseduuri ja toinen funktio. Funktio Sqrt(int n): int Sqrt(int

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

GeoGebra-harjoituksia malu-opettajille

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

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

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

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

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

Lisätiedot

Tietokonegrafiikan perusteet

Tietokonegrafiikan perusteet Tietokonegrafiikan perusteet Kuvamallit Koordinaattijärjestelmät Ihmisnäön ominaisuudet Grafiikkalaitteisto Abstrakti kangas Piirtäminen Teksti Leikkaaminen Väri Petri Vuorimaa 1 Kuvamallit Kuvien esittämiseen

Lisätiedot

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi Muilla kielillä: English Suomi Pong-peli, vaihe 7 Tässä vaiheessa lisäämme peliin pistelaskun. Pong-pelissä pelaaja saa pisteen kun pallo ohittaa toisen pelaajan mailan. 1. Aliohjelmakutsu laskureita varten

Lisätiedot

C++ rautaisannos. Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout:

C++ rautaisannos. Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout: C++ rautaisannos Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout: # include #include main ( ) main (

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

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Hämeenlinnan Offset-Kolmio Paino Oy:n aineisto-ohjeet

Hämeenlinnan Offset-Kolmio Paino Oy:n aineisto-ohjeet Hämeenlinnan Offset-Kolmio Paino Oy:n aineisto-ohjeet Sivun koko Painotuotteen sivun koon tulee olla taitto-ohjelmassa määritetty sivun lopulliseksi kooksi. Tarvittavat leikkuuvarat (Bleed), vähintään

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Artikkelien muokkaaminen sekä sisältöeditorin peruskäyttö

Artikkelien muokkaaminen sekä sisältöeditorin peruskäyttö Artikkelien muokkaaminen sekä sisältöeditorin peruskäyttö Sisällysluettelo Kirjautuminen ja ylläpito...3 Kirjautuminen sivustolle...3 Ylläpitovalikko...3 Artikkeleiden muokkaaminen...4 Artikkelin asetukset...4

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n

Lisätiedot

ph-titrauskuvaajan piirto LoggerProlla, Tl-Nspirellä,Class Padillä, GeoGebralla ja LibreOfficella

ph-titrauskuvaajan piirto LoggerProlla, Tl-Nspirellä,Class Padillä, GeoGebralla ja LibreOfficella marika suovanen ph-titrauskuvaajan piirto LoggerProlla, Tl-Nspirellä,Class Padillä, GeoGebralla ja LibreOfficella Abittissa: Jos kokeessa arvot ovat liitetiedostossa muodossa mittaustulokset.csv, niin

Lisätiedot

Fixcom Webmail ohje. Allekirjoitus. Voit lisätä yhden tai useamman allekirjoituksen.

Fixcom Webmail ohje. Allekirjoitus. Voit lisätä yhden tai useamman allekirjoituksen. Webmail on monipuolinen työkalu jolla voi tehdä paljon muutakin kuin lukea sähköpostia. Tässä ohjeessa on lyhyesti esitelty joitakin sen ominaisuuksia. Peruspostilaatikossa ei ole kaikkia ominaisuuksia,

Lisätiedot

Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa. Uppokipinätyöstön elektrodi

Teoriatausta. Mallinnuksen vaiheet. CAD työkalut harjoituksessa. Uppokipinätyöstön elektrodi Uppokipinätyöstön elektrodi Tuula Höök, Tampereen teknillinen yliopisto Teoriatausta Muotin perusrakenne Uppokipinätyöstö Kipinätyöstön elektrodit Muottipesän valmistettavuus CAD työkalut harjoituksessa

Lisätiedot

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut Johdanto Kokeile tavallista numeroilla laskemista: yhteen-, kerto- ja jakolaskuja sekä potenssiinkorotusta. 5 (3.1) Differentiaali- ja integraalilaskenta 1 Tietokoneharjoitus: ratkaisut Kurssin 1. alkuviikon

Lisätiedot

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan

Lisätiedot

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua. A Lista Aikaraja: 1 s Uolevi sai käsiinsä listan kokonaislukuja. Hän päätti laskea listan luvuista yhden luvun käyttäen seuraavaa algoritmia: 1. Jos listalla on vain yksi luku, pysäytä algoritmi. 2. Jos

Lisätiedot

Gimp+Karttapaikan 1:40 000 => 1:50 000. Pika ohje versio 0.5 09042007

Gimp+Karttapaikan 1:40 000 => 1:50 000. Pika ohje versio 0.5 09042007 Gimp+Karttapaikan 1:40 000 => 1:50 000 Pika ohje versio 0.5 09042007 1:50 000 kartan teko karttapaikan materiaalia & GIMP:iä hyväksikäyttäen 1. Tallenna karttapaikasta 1:40 000 kartta 2. Avaa se Gimpillä

Lisätiedot

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus Sisällys 19. Olio-ohjelmointia Javalla Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit

Lisätiedot

Ohjelmointiharjoituksia Arduino-ympäristössä

Ohjelmointiharjoituksia Arduino-ympäristössä Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet

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

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

Jakso 4 Aliohjelmien toteutus

Jakso 4 Aliohjelmien toteutus Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,

Lisätiedot

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ... 1. Tietorakenteet Tietorakenteet organisoivat samankaltaisten olioiden muodostaman tietojoukon. Tämä järjestys voidaan saada aikaan monin tavoin, esim. Keräämällä oliot taulukkoon. Liittämällä olioihin

Lisätiedot

Lisätehtävät. Frantic 2015 sivu 1 www.frantic.com

Lisätehtävät. Frantic 2015 sivu 1 www.frantic.com Lisätehtävät Frantic 2015 sivu 1 www.frantic.com Fontit - Google fonts Fonttien käyttäminen verkossa ilman uusien fonttien lataamista on melko rajattua, sillä koskaan ei voi tietää mitä fontteja vastaanottajan

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot