Tietokonegrafiikan peruskurssi, jossa tehdään monta pientä
grafiikkaharjoitusta. Yksi oli CSG-harjoitus Povrayllä ja loput
OpenGL:n ohjelmoimista C:llä. Harjoituksissa toteutettiin valoja,
varjoja, valitsemista, yksinkertaista animaatiota, HUDi sekä hiiren ja
näppäimistön käyttöä. Vaativin osa oli dynaamisten varjojen toteutus
varjotilavuuksien avulla. Yksi iso harjoitus tehtiin parityönä. Siinä
toteutimme Rubikin kuution, johon haettiin
hieman näyttävyyttä taustalla ja varjoilla.
Sisältöä ja termejä:
- Laitteet
- tulostuslaitteet
- tulostimet
- kosketus-tulostin (impact)
- noninpact
- lasertulostin
- mustesuihkutulostin
- sähköstaattisuus
- lämpötulostin
- 3d-näytöt
- vektorinäytöt: random-scan CRT
- rasterinäytöt
- refresh CRT, väri-CRT
- Direct-View Storage Tubes (DVST)
- litteät näytöt
- emissoivat
- litteä CRT
- plasmanäyttö
- thin-film electroluminescent display
- LED-näyttö
- ei-emissoivat
- passiivi-, aktiivimatriisinäyttö (LCD,TFT)
- syöttölaitteet
- näppäimistö
- hiiri, trackball, spaceball
- joystic
- datahanska
- digitizer
- graphics tablet
- acoustic tablet
- skanneri
- kosketusnäyttö
- valokynä
- ääniohjaus
- Graafiset käyttöliittymät
- GKS (Graphic Kernel System)
- locator: hiiri
- pick: kosketusnäyttö, hiiri
- choice: hiiri, näppäimistö
- valuator: näppäimistö, hiiri, liukukosketin
- string: näppäimistö, OCR
- stroke: tablet, hiiri
- toimintamoodi
- requst mode
- sample mode
- event mode
- sijoitusmenetelmiä
- kuminauha
- dragging
- rajoitukset
- Graafiset primitiivit
- GKS
- piste, viiva, käyrä, merkki, monikulmio, rasterikuva
- parametrit, attribuutit
- viiva-/käyräparametrit
- väri, paksuus, sivellin
- viivojen kärjet
- butt caps
- round caps
- projecting square caps
- yhdistetyt viivat
- miter join
- round join
- bevel join
- täyttöparametrit
- tekstiparametrit
- koko
- fontti: Courier, Helvetica
- tyyli: alleviivaus, lihavoitu, kursivoitu,
ääriviiva, varjostus
- kirjainväli
- tekstin/kirjainten suunta
- algoritmeja
- viivan piirto
- karteesinen suoran yhtälö
- DDA (digital differential analyzer)
- Bresenhamin viivanpiirtoalgoritmi
- ympyrän piirto
- midpoint circle algorithm
- käyrien piirto
- alueen täyttäminen
- scan-line
- rekursiivisesti
- mustetippaalgoritmi (boundary-fill)
- flood-fill
- horisontaalisia välejä käyttäen
- Vieraantuminen (aliasing)
- Nyquistin näytteenottoteoreema
- supersampling (postfiltering)
- pixel-weighting masks
- area sampling (prefiltering)
- filtteröinti
- pixel phasing
- alueiden reunoijen antialiasointi
- 2d-koordinaatisto
- siirto
- kierto, kierto kiintopisteen ympäri
- skaalaus, kiintopisteskaalaus, yleinen skaalaus
- viistoutus (shearing)
- toteutus matriiseilla
- homogeeniset koordinaatit
- muunnosten yhdistäminen
- peilaus, vinoutus
- affiini muunnos
- rasterikuvien muunnokset
- viewing pipeline
- clipping
- 2d-leikkaus
- pisteen rajaus ikkunaan
- viivan rajaus ikkunaan
- Cohen-Sutherland -algoritmi
- Liang-Barsky -algoritmi
- Nicholl-Lee-Nicholl -algoritmi
- geometrinen puolitus
- parametrinen leikkaus
- monikulmion leikkaus
- Sutherland-Hodgeman -algoritmi
- Weiler-atherton -algoritmi
- tekstin leikkaus
- sana-⁄merkkitasolla
- primitiivitasolla
- peittävät ikkunat
- reiät
- 3d mallintaminen
- 3d-maailman esittäminen
- rautalankamalli (wire-frame model)
- parametrikäyrä
- splini
- interpolaatiosplinit
- luonnollinen splini
- Hermite interpolaatio
- Cardinal splini
- Catmull-Rom splini
- Kochanek-Bartels splini (TCB-splini)
- approksimaatiosplinit
- Bezier-käyrä
- B-splini
- uniform, periodic B-spline
- cubic, periodic B-spline
- open uniform B-spline
- non-uniform B-spline
- Beta-splini
- rationaalisplini
- konveksi peite (convex hull)
- jatkuvuusvaatimukset
- parametrinen jatkuvuus C^0, C^1, C^2
- geometrinen jatkuvuus G^0, G^1, G^2
- kantafunktiot
- ohjauspisteet
- muunnokset splinien välillä
- piirtäminen
- Horner'n sääntö
- forward-difference -laskenta
- subdivision methods
- Bezier-käyrän jakaminen osiin
- pintamalli (surface model)
- polygonimalli
- nurkkapiste (vertex)
- särmä (edge)
- taho (face)
- parametrisoidut pinnat
- splinipinnat (surface splin)
- quadric sufraces
- superquadrics
- blobby objects
- tilavuusmalli (solid model)
- CSG (Constructive Solid Geometry)
- solumalli
- vokseli
- nelipuut, kasipuut (quadtree, octree)
- BSP-puut (Binary Space Partitioning)
- proseduraalinen malli
- sweep representations
- fraktaalimalli
- self-similarity
- self-affine
- invariant fractal sets
- fraktaalidimensio
- partikkelisysteemit
- fysikaalinen mallintaminen
- mallien hierarkia
- rakenteiden yhdistäminen
- hierarkiset rakenteet
- syvyysvaikutelma
- perspektiivi
- syvyys-intensiteetti (depth-cueing)
- kineettiset efektit
- piiloviivojen poisto
- piilopintojen poisto
- pintojen sävytys (surface rendering)
- valaistusmallit
- tulostus
- holografia
- yhdensuuntaisprojektio
- perspektiiviprojektio
- exploded ja cutaway näkymä
- 3d katselu
- viewing pipeline
- modelling transformation
- viewing transformation
- projection transformation
- workstation transformation
- kamera
- paikka, orientaatio
- silmäpiste
- referenssipiste (view reference point)
- katselutaso
- Field of View (FoV)
- kuvasuhde (aspenc ratio)
- leikkaustasot (near and far clipping planes)
- projektio
- ortografinen projektio
- yhdensuuntaisprojektio
- keskusprojektio (perspective projection)
- näkyvien pintojen määrittely
- piiloviiva-algorimi
- piilopinta-algoritmi (back-face detection)
- syvyyspuskuri (depth-buffer, z-buffer)
- a-buffer (antialiased, area-averaged, accumulation-buffer)
- syvyyslajittelu (maalarin algoritmi, painter's algoritm)
- juovalajittelu (XYP-lajittelu, scan-line method)
- rekursiivinen aluejako
- BSP-puu
- area subdivision method
- octree methods
- ray-casting
- 3d-muunnokset
- homogeeninen koordinaatisto
- lineaarialgebra, matriisit
- siirto
- kierto
- koordinaattiakselin ympäri
- suoran ympäri
- skaalaus
- peilaus
- kiertoja
- kiintopisteen suhteen
- viistoutus (shearing)
- muunnosten yhdistäminen
- kvaterionit (quaternions)
- valaistusmallit
- valolähde
- pistelähde (point light source)
- aluelähde (area light source)
- ambient light
- diffuse reflection
- specular reflection
- Warn-malli
- vaimentuminen
- läpinäkyvyys
- varjot
- intensiteettien näyttäminen
- gamma-korjaus
- contour-efekti
- puolisävytys
- dithering
- monikulmioiden varjostus
- flat-shading
- Gouraud shading
- Phong shading
- fast Phong shading
- ray-tracing
- radiositeettivalaistusmallit
- environment mapping, reflection mapping
- texture mapping
- bump mapping
- frame mapping
- Värimallit
- valon ominaisuudet
- kromaattisuusdiagrammi
- shade, tint, tone
- XYZ
- RGB
- YIQ
- CMY(K)
- HSV
- HLS