T-111.2210 Studio 4 kurssin järjestelyt k-2008 ( www) aihepiirin yleisesittely tietokonegrafiikan ja vuorovaikutustekniikan perusteita 29.1.2008 Tassu Takala 1
Kurssin tavoitteet ohjelmoitavan tietokonegrafiikan alkeet grafiikan soveltaminen luovalla tavalla lisäksi grafiikkaa sivuavia muita medioita (oman valinnan mukaan): ääni, video, vuorovaikutuslaitteet Grafiikka on on kivaa!! 29.1.2008 Tassu Takala 2
Mitä on tietokonegrafiikka? ACM/SIGGRAPH Computer Graphics and Interactive Techniques 2006 aiheita video mallinnus, animaatio, valaistusmallit, materiaalit, kuvien tuottaminen (renderointi) kuvankäsittely/kuvasynteesi, keinotodellisuus 29.1.2008 Tassu Takala 3
Computer graphics roadmap image processing mainstream graphics animation interaction photographs high dynamic range imaging (HDRI) simulated painting tools image editing & stitching filtering, warping morphing algorithmic generation noise functions L-systems genetic algorithms diffusion patterns texture mapping image-based rendering (IBR), light-field mapping 3D design CAD 3D scanning mesh generation geometric modeling motion control algorithmic motion kinematics rigid body dynamics particle simulation flocking behavior human models artificial life multimodality motion capture input techniques motion tracker image recognition speech recognition biosensors data glove & other wearables tactile devices 2D design non-photorealistic rendering (NPR) compositing & effects lighting & materials (realistic) rendering radiation science (eg. BDRF) reflection/refraction, translucency surface structure global illumination (ray tracing, radiosity) occlusion culling audio source sound rendering haptic rendering virtual reality immersive display real-time feedback interactive motion audio & haptics color separation audio & correction reproduction dithering printing & display hardware HRTF 29.1.2008 Tassu Takala loudspeaker array 4 programmable GPU algorithm optimization
Luennot Kurssin alussa kaksi johdantoluentoa (29.1. ja 5.2.) grafiikan ja animaation alkeet: kuinka koodaan kuvan piirtämisen? kuinka ohjelmoin liikkuvan (ajasta riippuvan) tapahtuman? kuinka graafisen käyttöliittymän komponentteja käsitellään? ohjelmoitava grafiikka tietokonetaiteen välineenä Pikseli- Ähky Juha Huuskonen: Processing-esimerkkejä, demoja Myöhemmin virikeluento kunkin tehtäväkierroksen aluksi: geometriaa, visualisointia ja luovaa ajattelua: kuinka ideoita esitetään matemaattisesti? multimodaalista vuorovaikutustekniikkaa: kuinka erilaisten laitteiden tuottamia signaaleja käsitellään digitaalisesti? 3D-grafiikkaa: kuinka mallinnan kolmiulotteisia muotoja ja katselen niitä virtuaalisella kameralla? 29.1.2008 Tassu Takala 5
Harjoitustehtävät 0. Työvälineeseen (Processing) tutustuminen yksinkertainen piirtämistyökalu Aloita Aloita heti: heti: lataa lataa Processing omaan omaan koneeseesi, käy käy läpi läpi 1. Graafinen taide sen sen esimerkkejä? esim. geometriset ornamenttikuviot opittavaa: geometrinen ajattelu, symmetria, käyrät, rekursio, kieliopit, epälineaariset muunnokset, animaatio 2. Vuorovaikutustekniikka ja multimedia esim. musiikin tahtiin tanssiva palmu opittavaa: ääni/video jatkuvana mediana, hahmojen löytäminen signaalista, kosketettavien (tangible) / etäanturien käsittely, eri modaliteettien yhdistely 3. 3D-mallinnus esim. yksinkertainen pelidemo opittavaa: objektiajattelu, geometriset transformaatiot, hierarkkiset mallit, renderointi (kameraparametrit, valaistus), virtuaalitodellisuus 29.1.2008 Tassu Takala 6
OLO-työskentely esitehtävänä 0-harjoitus : yksinkertainen piirtämisohjelma jokainen tekee erikseen ryhmät vakituinen tutori, viikottaiset kokoontumiset tutorit: tehtävät kolme ryhmätehtävää Pekka Pulli kullekin noin 3 viikkoa: avaus - välikatsaus - purku tulokset esseitä tehtävään liittyvistä aiheista toimiva ohjelma, joka demonstroi opittuja asioita työnjako ryhmässä jokaiselle sekä kirjallista työtä että koodausta lopuksi yhteinen palautetilaisuus Suvi Suvi Numminen Numminen Jesse Jesse Kivialho Kivialho Pekka Pulli Tassu Tassu Takala Takala 29.1.2008 Tassu Takala 7
Kysyttävää? [tarkennusta tehtäviin ja aikatauluihin tulossa tarkkaile webbisivuja] erityisesti 0-harjoitus! 29.1.2008 Tassu Takala 8
Sitten itse asiaan... kuinka muotoa, värejä ja aikaa käsitellään tietokoneella? Processing yksinkertaistettu kieli ja ympäristö tuottaa JAVA-koodia, toimii www-ympäristössä valmiudet reaaliajan käsittelyyn suosittu väline nopeiden kokeilujen rakentamiseen demoja!! grafiikan perusteita laitteisto, arkkitehtuuri koordinaatisto, canvas piirtoprimitiivit: piste (pikseli), viiva, käyrä, suorakaide, ympyrä, monikulmio värit: RGB ja HSV teksti: kirjasimet, välistys ohjelman perusrakenne nämä pääasiassa processingreferenssisivujen avulla! 29.1.2008 Tassu Takala 9
Processing-esittely, osa I (ks. Help/Reference) Setting size() background() Environment width height 2D Primitives point() line() rect(), rectmode() triangle() quad() ellipse(), ellipsemode() curve() bezier() Attributes stroke() nostroke() fill() nofill() strokeweight() Vertex models beginshape() endshape() vertex() curvevertex() beziervertex() Color colormode() Demot (ks. Open/Examples...) coordinates points_lines shape_primitives curve_primitives vertices simple_curves demo: rgb_cube 29.1.2008 Tassu Takala 10