Taso

Mitoiltaan periaatteessa ääretön taso on perustavaa laatua oleva 3D-avaruuden olio.

Tason esitystapoja

Taso voidaan määritellä esim. sitä vasten kohtisuoran vektorin avulla. Taso kulkeen pisteen r kautta. Keskenään erisuuntaiset vektorit u ja v määräävät tason suunnan ja niitä vastaavat skalaarit ovat u ja v. Jokainen tason piste x toteuttaa yhtälön

x = r + uu + vv

Normaalivektori N on kohtisuorassa tasoa vasten. Normaalivektori N voidaan määritellä myös tason em. vektoreiden u ja v ristitulona (×)

N = u × v

Normaalivektorin pituus on mielivaltainen. Normalisoidun normaalivektorin n pituus on yksikön suuruinen ja se on siten yksikäsitteinen. Normalisoitu normaalivektori n saadaan jakamalla normaalivektori N omalla pituudellaan.

n = N / |N|


Vaihtoehtoisesti taso voidaan määritellä neljällä vakiolla A, B, C ja D.

Tasoon kuuluvat ne pisteet x joiden erotusvektori tason pisteestä r on kohtisuorassa tason normaaliin N nähden. Kohtisuoruus ilmenee siitä että erotusvektorin ( x - r ) ja normaalivektorin välinen pistetulo (·) on nolla.

( x - r ) · N = 0
x · N - r · N = 0
Kun määritellään x ja N komponenteittain ja lisäksi skalaari D
    [ x ]        [ A ]
x = [ y ] ,  N = [ B ]   ja   D = -r · N
    [ z ]        [ C ]

niin tason pisteille (x, y, z) pätee yhtälö

[ x ]   [ A ]
[ y ] · [ B ] + D = 0
[ z ]   [ C ]

Ax + By + Cz + D = 0

A, B ja C ovat siis tason normaalivektorin N komponentit. Tason pisteen x komponentit olkoot

    [ xr ]
x = [ yr ] 
    [ zr ]        

Näistä voidaan ratkaista tason neljäs vakio D

D = -Axr - Byr - Czr


Pistetulo r · n on pisteen r projektio tason normaalin suunnassa (huom: normalisoitu normaalivektori n). Tämä projektio on sama kuin pisteen r kohtisuora etäisyys origosta.

x · N = r · N 
x · (N / |N|) = r · (N / |N|) 
x · n = r · n 

Tason voidaan täten myös määritellä niin että tasoon kuuluvat ne pisteet x joiden projektio origosta on sama tason normaalin suunnassa.

Tason kohtisuora etumerkillinen etäisyys origosta d on sama kuin tason pisteen projektio normaalin suunnassa.

d = ( r · N ) / |N| = -D / √¯ (A² + B² + C²) 

Jos normaalivektori on normalisoitu n niin silloin A² + B² + C² = 1 ja tason etumerkillinen etäisyys origosta on

d = r · n = -D 

Pisteen etäisyys tasosta

Pisteen p jonka koordinaatit (x, y z) etäisyys origosta tason normaalivektorin N suunnassa on pisteen p projektio normalisoidulle normaalivektorille.

Kun tästä vähennetään edellä käsitelty tason kohtisuora etäisyys origosta, saadaan pisteen p kohtisuora etumerkillinen etäisyys d tasosta.

d = ( p · N ) / |N| - ( r · N ) / |N|
  = ( p · N - r · N ) / |N|
  = ( Ax + By + Cz + D ) / √¯ (A² + B² + C²) 

Jos normaalivektori on normalisoitu n jolloin A² + B² + C² = 1 niin kaava yksinkertaistuu muotoon

d = Ax + By + Cz + D 

Suoran ja tason leikkauspiste

Taso voidaan esittää vakioiden A, B, C ja D avulla ja pisteiden p ja q välinen suora vektorin v = q - p avulla parametriesityksenä

Ax + By + Cz + D = 0
s(t) = p + t v

Kun tason normaalivektori N esitetään komponenteittain, voidaan tason yhtälö esittää pistetulon (·) avulla muodossa

    [ A ]
N = [ B ]
    [ C ]

N · x + D = 0

Tason ja suoran leikkaus tapahtuu sillä parametrin t arvolla jolla suoran parametripiste s(t) toteuttaa yhtälön

N · s(t) + D = 0
N · ( p + t v ) + D = 0
t N · v = - N · p - D

t = - ( N · p + D ) / ( N · v )

Nollalla jakamista on syytä varoa, sillä voi olla N · v = 0 kun tason normaali N on kohtisuorassa vektorin v = q - p suuntaista suoraa vasten. Tällöin taso on yhdensuuntainen vektorin v kanssa, joten tapauksen yksityiskohdat eivät ole kiinnostavia aurinkokellon kannalta. Niinpä ei siitä sen enempää.

Leikkaupisteen 3D-koordinaatit saadaan sijoittamalla ratkaistu t suoran yhtälöön s(t) = p + t v


Matte3D

PÄÄSIVU