\(¨\)

Mene osoitteeseen: r.jyu.fi/m3d

Matriisit ja 3D

# v1
# v2

1. Matriisilla kuvaaminen

1.1 2x2 matriisilla kuvaaminen

Kuvataan aluksi mökki itsekirjoitetulla matriisilla (lineaarikuvauksella). Matriisin diagonaalilla olevilla arvoilla voit vaikuttaa x- ja y-suuntaiseen skaalaukseen. Kokeile. Kokeile myös mitä tapahtuu mökille, mikäli laitat paikkaan [1,2] 0:sta eroavan arvon.

# sageP00
# maxima00
# jsMokki1

Huomataan että vaikka tehtäisiin millainen tahansa 2x2 matriisi, ei mökin vasenta alanurkkaa (origoa) saada kuvautumaan muualle kuin origoon.

# miksiorigo

1.2 Siirtyminen eri dimensioon

Mikäli tarkastellaan suoralla \(y=1\) olevia "kuvia", niitä voidaankin "siirtää", mikäli matriin paikkaan [1,2] laitetaan 0:sta eroava arvo.

# jsMokki2

2. Kuvaaminen 3x3 matriisilla

Käyttäen edellistä havaintoja, voidaan xy-tason 2-ulotteisia kuvioita siirtää, mikäli ne piirretään 3-ulotteisessa avaruudessa tasoon \(z = 1\) ja kuvauksen jälkeen projiisoidaan takaisin tasoon xy.

# jsMokki3
# mokinsiirto

3. Lineaarisuus

Seuraavaksi lasketaan käsin mökin kunkin pisteen koordinaatti ja piirretään mökki itse.

# jsMokki

Laske alla mökin kullekin pisteelle kuvapisteen arvo ja piirrä vastaava piste "ruksina" yllä olevaan kuvaan. Yhdistä sitten "ruksit" viivoilla. Näppäin C (=clear) tyhjentää piirroksen.

# miksiviivat

Alla on avuksi "ohjelma", jolla voit laskea eri pisteiden kuvien koordinaatteja.

# sageP01

4. Yhdistetty kuvaus

Edellä matriisi A on oikeastaan yhdistetty kuvaus skaalauksesta (S=scale) ja siirrosta (M=move). Nämä voidaan erottaa omiksi matriiseikseen. Oikeastihan asia tehdään toisinpäin. Ensin kappaletta esimerkiksi halutaan skaalata, sitten siirtää ja sitten vaikkapa kiertää. Jottei jokaista muunnosta tarvitse laskea erikseen jokaiselle pisteelle, voidaan eri kuvaukset muodostaa yhdistetyksi kuvaukseksi kertomalla edellisen kuvauksen matriisi vasemmalta uuden kuvauksen matriisilla. Ja siten tätä yhdistettyä kuvausta sovelletaan jokaiselle pisteelle (eli jokainen piste kerrotaan yhdistetyä kuvausta vastaavalla matriisilla).

# sageP02
# kommutoiko

Samasta vielä esimerkki 90 asteen kierron avulla.

# sageP03
# milloinkommutoi

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.