Teil I
Mathematik und zugehöriges

Autor: Thomas Block

Dies ist eine Sammlung von mathematischen Beschreibungen und Anleitungen zu den Gebieten Mathematische Grundlagen, Computergrafik.

Inhaltsverzeichnis

I  Mathematik und zugehöriges
1 Mathematische Grundlagen
 1.1 Determinanten
 1.2 Lineare Gleichungssysteme
 1.3 Matrizen und Determinanten
  1.3.1 Eingenwerte und -vektoren
 1.4 Die Laplace Transformation
  1.4.1 Rechenregeln der Laplace Transformation
 1.5 Die Laplace Ummkehrtransformation
   1.5.0.1 Partialbruchzerlegung
   1.5.0.2 Entwicklung in eine Laurentreihe
   1.5.0.3 Residuenkalkül
 1.6 Fouriertransformation
  1.6.1 Umrechnungsformeln
   1.6.1.1 Rechenregeln
   1.6.1.2 Rechenhilfen
   1.6.1.3 Rücktransformation
 1.7 Die Z-Transformation
  1.7.1 Umkehrtransformation
  1.7.2 Rechenregeln
2 Mathematische Grundlagen für die Computergrafik
 2.1 Transformationen
  2.1.1 Geometrische Transformation
  2.1.2 Koordinatentransformation
 2.2 Homogene Koordinaten
  2.2.1 Überführung einer Vektorgleichung in homogene Matrizenschreibweise
 2.3 Die verschiedenen Projektionsarten
  2.3.1 Die perspektivische Projektion
  2.3.2 Die Parallelprojektion

Kapitel 1
Mathematische Grundlagen

1.1 Determinanten

Autor: Thomas Block

Sind an1,an2⋅⋅⋅ann n Vektoren der Dimension n, so ordnet die Determinante

                  ||                   ||
                  || a11  a12 ⋅⋅⋅  a1n ||
                  || a21  a22 ⋅⋅⋅  a2n ||
det(⃗a1,⃗a2,⋅⋅⋅⃗an ) = ||                  ||
                  ||          ⋅⋅⋅      ||
                  | an1  an2 ⋅⋅⋅  ann |
(1.1)

den Vektoren genau eine reelle Zahl d zu.

Berechnung der Determinante:
Streicht man die i-te Zeile und k-te Spalte der Determinate D, so wird die Determinate der Ordnung (n-1) aus den restlichen Elementen als Unterdeterminante Dik bezeichnet. Der Ausdruck Aik = (-1)i+kDik heißt dann adjungierte Unterdeterminante.

Damit lässt sich die Determinate D berechnen zu:

           ∑n
D ⋅δik   =    i=1ail ⋅Akl
deltaik  =  1,  i = k

           0,  i ⁄= k
(1.2)

1.2 Lineare Gleichungssysteme

(|                                )|
||{  x1  =   a11 ⋅y1 + ⋅⋅⋅+ a1n ⋅yn ||}
   ...
|||(                                |||)
  xm   =  am1 ⋅y1 + ⋅⋅⋅+ amn ⋅yn

implizierte Summierung
xi
=
aij yj
mit i
=
1⋅⋅⋅m, j = 1⋅⋅⋅n
(1.3)

1.3 Matrizen und Determinanten

Mit

     ⌊               ⌋          ⌊             ⌋
        a11  ...  a1n              b11  ...  b1p        i  =  1...m
     ||               ||          ||             ||
(a) = |⌈       ...      |⌉     (b) = |⌈      ...     |⌉      j  =   1...n
       am1   ... amn               bn1  ... bnp        k  =   1...p
(1.4)

gilt:

Konst. Faktor:(c) = m (a), cij = m aij
Addition: (c) = (a) + (b), cij = aij + bij
Multiplikation: (c) = (a) (b), cik = aij bjk
Transponierte: (aij)T = aji
((a) (b)⋅⋅⋅(x))T = (x)T ⋅⋅⋅(b)T (a)T
Inverse (m=n):(a) (a)-1 = Einheitsmatrix (e)
(a)-1 = (c)T ∕det(a)mit cij = (-1)i+j detij(a)
Hierbei ist detij die Determinante mit ausgestrichener Zeile i und Spalte j

1.3.1 Eingenwerte und -vektoren

Die Eigenwerte Λi einer Matrix erhält man durch Lösen vondet((a) - λ (e)) = 0.
Die Eigenvektoren ⃗xi erhält man durch Lösen von ((a) - λi (e)) ⃗xi = ⃗0.

1.4 Die Laplace Transformation

                     ∫
De finition:   F (s) =  ∞ e-st ⋅f(t)dt  existiert, falls  |f(t)| ≤ M ⋅eσt
                     ∫0c+j∞  st
              f (t) =  c-j∞ e  ⋅F (s)ds  mit    s = σ + jω, σ > 0
(1.5)

1.4.1 Rechenregeln der Laplace Transformation

Superpositionssatz      k ⋅(g(t)+ h(t))               ∘- ∙  k ⋅G (s) + k ⋅H (s)
                        df(t)
Differentiationssatz     -dt-                          ∘- ∙  s ⋅F(s)- f (t = +0 )
                        dnfn(t)                         ∘- ∙  sn ⋅F(s)-  ∑n   f(t = +0)sn-νf(ν-1)(+0)
                         dt n                               dnF(s)       ν=1
                        (- t) f(t)                      ∘- ∙  --dsn--
Integrationssatz        ∫tf(τ)dτ                      ∘- ∙  F-(s)
                        ∫0t   ∫ τ1       ∫tn- 1                F-s(s)
                         0 dτ1 0 dτ2⋅⋅⋅ 0   f(τn)dτn  ∘- ∙  ∫sn
                        f(t)                           ∘- ∙    ∞ F(θ)dθ,
                         t                                   s           f(t)
                                                            falls limt→0+   t existiert
Verschiebungssatz       f(t- τ)                       ∘- ∙  e-sτ ⋅F(s)
                         -s0⋅t
                        e                             ∘- ∙  F (s+ s0)
Ähnlichkeitssatz        1|τ| ⋅f ( 1|τ|)                   ∘- ∙  F (s+ s0)
                                                            ---1- ∫T      -sτ
Periodische Funktion    f(t)                           ∘- ∙  1- -sT∫ 0 f(τ)e   dτ
Faltungssatz            f1(t)⋅f2(t)                    ∘- ∙  21πj ⋅ cc-+jj∞∞ F1(σ)⋅F2 (s- σ)dσ
                        ∫t
                         0 f1(τ)⋅f2(t- τ)dτ           ∘- ∙  F∫1(s) ⋅F2(s)
Grenzwerts  ätze        lims→0 F (s)                   ∘- ∙   0∞ f(t)dt

                        lims→0 s ⋅F(s)                 ∘- ∙  limt →∞ f (t)dt

Hilfen:f(t) sin(at)∘-∙12j (F(s - ja) - F(s + ja))
f(t) cos(at)∘-∙1-
2j (F(s - ja) + F(s + ja))
 tn- 1
(n-1) e±at ∘-∙(p ± a)-n

1.5 Die Laplace Ummkehrtransformation

Wege zur Berechnung des Umkehrintegrals c-jc+jest F(s)ds.

1.5.0.1 Partialbruchzerlegung

Es sei m die Anzahl der Polstellen von F(s) mit maximalem Grad n.

                                              ∑∞  ck         ∞∑  ---ck--   k-1
                                       F (s) =    sk  ∘ - ∙     (k - 1)! ⋅t
                        m           m         n=1            nm=1
               -Z(s)   ∑  --ak--   ∑  -Z(sk)- ---1--         ∑  -Z(sk)-  sk
        F (s) = N (s) =   s - sk =    N ′(sk) ⋅s - sk ∘ - ∙     N ′(sk) ⋅e
                       k=1         k=1m  nk                  k=m1 nk
                                      ∑  ∑  --Ak,l--  ∘ - ∙  ∑  ∑  A   ⋅eskt-tl--1-
                                      k=1 l=1 (s-  sk)l         k=1 l=1   k,l    (l - 1)!
                                nk-l
mit    Ak,l = ---1----⋅lims →s  d-----((s - sk)n⋅F (s))
              (nk - l)!      k dsnk-l        k
                                        l = nk → Ak,l   =    lim  (s - sk)nkF(s)
                                                             s→sk
                                    l = n - 1 →  A      =    lim  -d((s - s )nkF (s))
                                         k        k,l        s→sk ds       k

1.5.0.2 Entwicklung in eine Laurentreihe

                      st      ∑∞                   n
               F (s)⋅e   =        an (t,sn)⋅(s - sn)
                             n=-∞(  )
                      n      ∑n   l  n- ll
Rechenhilfe:    (a + b)  =       n  a   b
                   (  )      l=0
                     l       ---n!---
                     n   =   l!(n - l)!
                    st         s t              st  ∞             l
     Beispiel:    -e---- =   -e-0--⋅e(s-s0)t = -e-0--∑  ((s--s0)⋅t)-
                  s- s0      s - s0           s- s0 l=0      l!

1.5.0.3 Residuenkalkül

Vorraussetzungen: Es sei lims→∞|F(s)| = 0, f(t) = 0 für m < 0, dann gilt:

       ∑m  Res             ∑m         1    dn-1
f (t) =          F (s)⋅est =    lim  ----------n-1(F(s)(s- sk)nest)
       k=1s = sk           k=1s→sk (n - 1)!ds

                 Res        Res *
Rechenhilfe:         *  =
                s = s0     s = s0         (      )
                 Res    +   Res   = 2 ⋅Re   Res
                s = s*0     s = s0          s = s0
           bt   *   b*t           (   bt)
        a⋅e  + a  ⋅e    =  2 ⋅Re  a⋅e      a,b  komplex

1.6 Fouriertransformation

1.6.1 Umrechnungsformeln

In der linken Spalte ist die Zielfuntion angegeben in der zugehörigen Zeile die jeweiligen Ausgangsfunktionen und deren Berechnungsvorschrift zur Erreichung der Zielfunktion.

        |
 Ziel   |f(t)             F (ω)              A(ω ),B (ω)             C(ω),Φ (ω )
--------|----------------------------------------------------------------------------------------
        |                    ∫                 ∫                     ∫
 f(t)   |                  1- ∞ ejωtF (ω )dω  1  ∞ A (ω)cos(ωt)dω+   1  ∞(C (ω)cos((ω - Φ(ω))t)d ω
        |                  2π  ∞              π1 ∫0∞                   π 0
--------|------------------------------------π--0-B-(ω)sin(ωt)d-ω---------------------------------
        |
        |∫∞  - jωt                                                        -jΦ(ω)
-F(ω-)--|-∞-e----f(t)dt----------------------A(ω-)--jB-(ω-)----------C(ω)e------------------------
        |
        |∫∞
-A(ω-)--|-∞-f-(t)cos(ωt)dt-Re-(F-(ω))--------------------------------c(ω-)cos(Φ-(ω))----------------
        |
        |∫∞
-B-(ω-)--|-∞-f-(t)sin(ωt)dt---Im-(F-(ω))-------c(ω)sin(Φ(ω))---------------------------------------
        |
        |                                    √ -2----2-
-C-(ω-)--|-----------------|F-(ω-)|--------------A--+-B--------------------------------------------
        |
        |                                         A(ω)
-- Φ-(ω)------------------arg-(F-(ω))-----------atg-B(ω)-------------------------------------------
(1.6)

1.6.1.1 Rechenregeln

Ähnlichkeitssatz      f(at)                ∘ - ∙  1|a|F (ωa)
Verschiebungssatz     f(t+ t )             ∘ - ∙  e-jωt0F (ω)
                            0
                      ejωt0f (t)             ∘ - ∙  F(ω - ω0)
Differentiationssatz   f(n)(t)               ∘ - ∙  (jω )nF(ω )
                           n                       (n)
                      (- jt) f(t)          ∘ - ∙  F   (ω )
Integrationssatz      ∫t  f (τ )dτ           ∘ - ∙  F(ω)+ F (0)δω
                      ∫-∞∞                          jω        2
Faltungssatz           -∞ f (t - τ)⋅g(τ)dτ  ∘ - ∙  +F (ω)⋅G (ω)
Konj.  kompl.  Fkt.   f*(t)                ∘ - ∙  F*(- ω)

Symmetriesatz         F (t)                 ∘ - ∙  2πf(- ω)
(1.7)

1.6.1.2 Rechenhilfen

 f(t+ T )- f(t - T)     ∘ - ∙  2jsin(ωT)F (ω)  f(t+ T )+ f(t- T )     ∘-  ∙ 2 cos(ωT )F (ω)

-F-(ω---ω0-)--F-(ω-+-ω0-)-∙---∘--2jsin(ω0t)f-(t)---F(ω---ω0)-+-F(ω-+-ω0)--∙---∘-2-cos(ω0t)f(t)--
  für f(t)reell

 f(t)+ f(- t)           =      2⋅Gerade        f(t)- f(- t)            =     2 ⋅U ngerade
 F (ω )                  =      G(ω )- jU (ω )                          =     A (ω)-  jB(ω)

 A (ω )                  =      A(- ω)          F(ω )                  =     F *(ω)
 - B(ω )                =      B(- ω)          |F (ω)|                 =     |F (- ω)|

 Φ (ω )                  =      Φ(- ω)
(1.8)

1.6.1.3 Rücktransformation

Vorraussetungen:

      (     ∑
      {  j    +  Res(ejtzF (z))      für t > 0
f(t) = (  zk∈H∑ z=zRkes  jtz
         - jzk∈H- z=zk(e  F(z))    für t < 0
(1.9)

1.7 Die Z-Transformation

Definition:

          ∑∞  - n
F (z) =      z   f(nτ)                                        (1.10)
          n=0
           sT   ∑∞  n         - 1
   z  =   e  ,     z  = (1-  z)                               (1.11)
                n=0

1.7.1 Umkehrtransformation

Vorraussetzungen: F(z) ist holomorph in einem Gebiet |z| > R und limz→∞F(z) <

mit Residuum:

 f (0)  =   F(∞ ) = lzi→m∞ F (z)                                    (1.12)
           m∑   Res
f(nT)  =            (F(z)zn-1),  neN                            (1.13)
           i=1 z = zi

mit Laurent Reihe: Der Integrant f(z) zn-1 wird in eine Laurent Reihe entwickelt. Die Zeitfunktion ist dann der Koeffizient -1 der Lauren Reihe, also f() = A-1.

Bei der Entwicklung in eine Reihe sind folgende Beziehungen nützlich:

                (  )
      n      ∑n  n   n- kk
(a+ b)   =       k  a   b                                             (1.14)
   (  )      k=(0    )
    n           n       ---n!----
    k    =    n - k  =  k!(n - k)!,  für n < k Null                     (1.15)

Beispiele:

                              (  )                     (     )
  zn       (1+ (z - 1))n    ∑n  n                   n∑-1   n- 1
-----  =   -------------=         1n-k(z - 1)k-1 =             1n-k(z - 1)k
z - 1      (   z -) 1      k=0  k                   k= -1  k + 1
            n - 1
  A-1  =           ⋅1n-1 = 1
              0
--ezt-      -eat-∑∞  ((z---a)t)k   at∑∞  (z --a)k-1-⋅tk
z - a  =   z - a        k!    =  e          k!
                k=0                k=0
            att0-   at
  A-1  =   e  0! = e

Bei wesentlicher Singularität:

               (  n       )
f (n τ) =   -1 ⋅ -d--f(1∕z)                                   (1.16)
           n!   dzn        z=0

1.7.2 Rechenregeln

Es sei fn = f(), dann gilt:

                                      -k
Verschiebungssatz   fn-k       ∘ - ∙  z  F (z)
                   fn+k       ∘ - ∙  zk(F(z) - ∑k -1fiz-i)
                                      1          i=0
                   fn+1       ∘ - ∙  z (F(z) - f0)
                   fn+2       ∘ - ∙  z2(F(z) - f0 - f1z-1)
                    -n
Dämpfungssatz      a   ⋅fn    ∘ - ∙  F (a ⋅z)
Ableitung d. Bildf.  n ⋅fn      ∘ - ∙  - zdFd(zz)-

Spektraler          W (z)      =      U∑ (z) ⋅V(z)      ∑
Multiplikationssatz  wn         =        nk=0un -k ⋅vk =  nk=0uk ⋅vn-k

Differenzensatz      Δfn        =      fn+1 - fn
                   Δ2fn       =      Δfn+1 - Δfn  = fn+2 - 2fn+1 + fn
                     2                     2
                   Δ fn       ∘ - ∙  (z - 1) F (z)- z(∑(z - 1)f0 + Δf0)
                   Δkfn       ∘ - ∙  (z - 1)kF (z)- z ki-=01(z - 1)k-i-1Δif0
Summensatz         ∑n   f     ∘ - ∙  zF(z)
                     k=0 k            z- 1              ∑
1. Grenzwertsatz   fk         =      limz →∞ zk ⋅(F(z)-    k-n=10z-nfn
                   f          =      lim     F (z)
                    0                   z→∞
2. Grenzwertsatz   limn →∞ fn  =      limz →1(z - 1)F (z)
Statbilität          |z   | < 1         →  asympt.  Stabilität
                    P K
(1.17)

Chapter 2
Mathematische Grundlagen für die Computergrafik

Autor: Thomas Block

In diesem Kapitel werden die mathematischen Grundlagen dargestellt, die notwendig sind, um dreidimensionale Objekte mit Hilfe eines Computers grafisch darzustellen und zu animieren. Die mathematischen Grundlagen sind in /86 Ba./ und /87 Pl./ zu finden.

2.1 Transformationen

Man unterscheidet in der Mathematik zwischen geometrischer Transformation und Koordinatentransformation. Beide Transformationen lassen sich dabei durch Bilden der Inversen ineinander überführen.

Als Schreibweise von Vektoren und Matrizen wurde in diesem Kapitel die in der Computergrafik übliche übernommen. D.h. Vektoren sind ohne sonstige Anmerkung als Zeilenvektoren P⃗ = (x,y,z) definiert. Matrizen werden deshalb rechts anmultipliziert. Möchte man die übliche mathematische Schreibweise benutzten, so sind alle Vektoren und Matrizen zu transponieren. Sind z.B. M1,M2⋅⋅⋅Mi Matrizen, so gilt : (M1 M2⋅⋅⋅Mi)T = MiT ⋅⋅⋅M2T M1T

2.1.1 Geometrische Transformation

Bei der geometrische Transformation überführt man eine Menge von Punkten mit den Koordinaten (xi,yi) durch eine mathematische Operation in eine Menge von Punkten mit den neuen Koordinaten (xi,yi). Durch eine solche Transformation kann man also ein Objekt O in ein Objekt O’ überführen (Abbildung 2.1.1). Eine solche Operation stellt z.B. eine Multiplikation eines Vektor mit einer Matrix dar. Der Vektor enthält dabei die Punktkoordinaten und die Matrix die gewünschte Transformationsart.

PIC

Geometrische Transformation Für die Computergrafik wichtige Transformationen sind dabei die Translation, Rotation und Skalierung. Die zugehörigen Matrizen sehen dazu wie folgt aus :

Translation:
Werden Koordinaten nicht als homogen eingeführt (siehe Abschnitt 6.2), so ist die Translation eine Addition einer eindimensionalen Matrix (Vektor) ⃗T zum Punktvektor ⃗P. Die Operation lautet also :
⃗P′ =  ⃗P + ⃗T
(2.1)

Rotation:
Die Rotation eines Punktes ⃗
P um den Ursprung, erhält man mathematisch durch Multiplikation des Punktes mit einer Matrix R, also P⃗= P⃗ R. Da im 3 dimensionalen Raum drei Achsen (x,y,z) existieren, gibt es drei unterschiedliche Matrizen.
Rotation
um die X Achse :
      ⌊                  ⌋
      | 1     0      0   |
Rx  = || 0   cosα   sinα  ||
      ⌈                  ⌉
        0  - sin α  cosα
(2.2)

Rotation
um die Y Achse :
      ⌊                  ⌋
      | cosα  0  - sinα  |
Ry  = ||   0   1     0    ||
      ⌈                  ⌉
        sinα  0   cosα
(2.3)

Rotation
um die Z Achse :
      ⌊                 ⌋
         cosα   sinα  0
      ||                 ||
Rz  = |⌈ - sin α  cosα  0 |⌉
           0      0   1
(2.4)

Skalierung:
Die Skalierung eines Punktes ⃗P, erhält man durch Multiplikation des Punktes mit der Skaliermatrix S (P⃗= ⃗P S).
     ⌊            ⌋
     | Sx   0   0 |
S =  ||  0  Sy   0 ||     mit   Sx,Sy,Sz ∈ ℜ
     ⌈            ⌉
        0   0  Sz
(2.5)

Durch Verketten dieser drei Operationen lassen sich sehr komplexe Transformationen aufbauen, in der alle für die Computergrafik relevanten Objektbewegungen ausgeführt werden können.

Eine Verkettung, die oftmals benutzt wird, ist die Rotation um eine beliebige aber bekannte Achse im Raum mit dem normierten Achsvektor ⃗e. Diese Rotation kann vereinfacht berechnet werden durch:

          ⌊         ⌋        ⌊                  ⌋             ⌊                ⌋

          || 1  0  0 ||        ||  exex  exey exez ||             ||  0    ez   - ey ||
D (ϕ,⃗e) = |⌈ 0  1  0 |⌉ ⋅cos ϕ+ |⌈  eyex  eyey eyez |⌉ (1- cosϕ) + |⌈ - ez   0    ex |⌉ ⋅sinϕ
            0  0  1             e e   e e  e e                   e   - e    0
                                 z x   zy   z z                   y     x
(2.6)

2.1.2 Koordinatentransformation

Bei dieser Transformation wird nicht ein Objekt zu einem neuen Ort überführt, sondern ein und dasselbe Objekt in einem neuen Koordinatensystem beschrieben. Eine Menge von Punkten mit den Koordinaten (xi,yi) im Koordinatensystem K wird durch eine mathematische Operation in eine Menge von Punkten mit den neuen Koordinaten (xi,yi) im Koordinatensystem K’ (siehe Abbildung 2.1.2) beschrieben.

PIC

Koordinatentransformation

Gegeben sei der n-dimensionale Vektor ⃗x bezüglich der Basix ⃗ei, also ⃗x = x1 ⃗e1 + ⋅⋅⋅ + xn ⃗en. Gesucht ist die Transformation T, die ⃗x bezüglich der neuen Basis ⃗e′
 i darstellt, also

(x ′1,⋅⋅⋅,x′n) = (x1,⋅⋅⋅,xn)⋅T.
(2.7)

Die Inverse Matrix, die gebildet wird aus den Einheitsvekoren der neuen Basis, erfüllt diesen Sachverhalt, man erhält also :

    ⌊ e⃗′ ⌋ -1
    |  1 |
T = || ...  ||
    ⌈  ⃗′ ⌉
      en
(2.8)

Auch hier finden wir als Grundoperationen die Translation, Rotation und Skalierung wieder, die wie folgt aussehen.

Translation:
Liegt das Koordinatensystem K’ parallel zum System K und der Ursprung von K’ liegt bei U⃗ bezogen auf K, so besitzt der Punkt ⃗
P im Koordinatensystem K’ folgende Koordinaten:
⃗P′ = P⃗ - ⃗U
(2.9)

Rotation:
Liegt das Koordinatensystem K’ verdreht zum Koordinatensystem K und die Ursprünge und Einheiten beider Koordinatensysteme sind gleich, so läßt sich ⃗P bezogen auf K in K’ beschreiben, indem man den Vektor P⃗ mit einer Matrix R multipliziert (⃗P= ⃗PR). Da im dreidimensionalen Raum drei Drehachsen (x,y,z) existieren, gibt es drei unterschiedliche Matrizen.
Rotation
um die X Achse :
      ⌊                  ⌋
      | 1    0      0    |
Rx  = || 0  cosα  - sinα  ||
      ⌈                  ⌉
        0  sin α   cosα
(2.10)

Rotation
um die Y Achse :
      ⌊                  ⌋
         cosα   0  sinα
      ||                  ||
Ry  = |⌈    0    1    0   |⌉
        - sin α  0  cosα
(2.11)

Rotation
um die Z Achse :
      ⌊                 ⌋
      | cosα  - sinα  0 |
Rz  = || sin α   cosα   0 ||
      ⌈                 ⌉
          0      0    1
(2.12)

Skalierung:
Besitzt das Koordinatensystems K’ andere Maßstäbe als K, so erhält man P⃗durch Multiplikation von       P⃗ mit einer Skaliermatrix S (P⃗= ⃗P S).
    ⌊             ⌋
    | Sx   0   0  |
S = ||  0  S    0  ||
    ⌈       y     ⌉
       0   0  Sz
(2.13)

, mit Sx,Sy,Sz ∈ℜ

2.2 Homogene Koordinaten

Wie man in den vorhergehenden Abschnitten erkennt, gibt es für die Translation und den übrigen Transformationen keine einheitliche Darstellung. Die Translation wird durch Addition (Subtraktion) eines Vektor gebildet, die übrigen Transformationen durch Multiplikation mit einer Matrix. Um eine einheitliche Darstellung zu erreichen, führt man die homogenen Koordinaten ein. Dabei wird einem 3D Punkt (x,y,z) ein Quadrupel (x*,y*,z*,w) zugeordnet. Die Koordinaten lassen sich mittels

       *
x  =  x ∕w                                         (2.14)
y  =  y*∕w                                         (2.15)

z  =  z*∕w                                         (2.16)
ineinander überführen. Dabei kann man w ohne Beschränkung der Allgemeinheit zu eins setzten, was zu x* = x, y* = y und z* = z führt. Die Koordinatentransformationen sehen dann wie folgt aus :
Translation:
Liegt das Koordinatensystem K’ parallel zum System K und der Ursprung von K’ liegt bei U⃗ = (Ux,Uy,Uz,1) bezogen auf K, so besitzt der Punkt ⃗P im Koordinatensystem K’ die Koordinaten
  ′
⃗P  =  (x,y,z,1)⋅T     mit
(2.17)

    ⌊                     ⌋
    |   1     0     0   0 |
    ||   0     1     0   0 ||
T = ||                     ||
    ⌈   0     0     1   0 ⌉
      - Ux  - Uy  - Uz  1
(2.18)

Rotation:
Liegt das Koordinatensystem K’ verdreht zum Koordinatensystem K und die Ursprünge und Einheiten beider Koordinatensysteme sind gleich, so läßt sich ⃗P bezogen auf K in K’ beschreiben, indem man ⃗P mit einer Matrix M multipliziert (⃗P= ⃗P R). Da im dreidimensionalen Raum drei Drehachsen (x,y,z) existieren, gibt es drei unterschiedliche Matrizen.
Rotation
um die X Achse :
     ⌊                     ⌋
     |  cos α  - sin α  0  0 |
     ||  sin α   cosα   0  0 ||
Rx = ||   0       0    1  0 ||
     ⌈                     ⌉
         0       0    0  1
(2.19)

Rotation
um die Y Achse :
     ⌊  cos α   0  sin α  0 ⌋
     |                     |
     ||    0     1   0    0 ||
Ry = ||  - sinα  0  cosα  0 ||
     ⌈                     ⌉
          0     0   0    1
(2.20)

Rotation
um die Z Achse :
     ⌊                     ⌋
     |  1   0      0     0 |
     ||  0 cos α  - sin α  0 ||
Rz = ||  0  sinα    cosα   0 ||
     ⌈                     ⌉
        0   0      0     1
(2.21)

Skalierung:
Besitzt das Koordinatensystems K’ andere Maßstäbe als K, so erhält man  ⃗
Pdurch Multiplikation von        ⃗
      P mit einer Skaliermatrix S (P⃗= ⃗P S).
    ⌊  S   0    0  0 ⌋
    |   x            |
    ||  0   Sy   0  0 ||
S = ||  0   0   Sz  0 ||     mit  Sx,Sy, Sz ∈ ℜ
    ⌈                ⌉
       0   0    0  1
(2.22)

Inverse:
Die Inverse aus Translation und Rotation und der Multiplikation beider Matrizen läßt sich einfach berechnen. Es gilt :
                       ⌊              ⌋-1          ⌊             ⌋ T
                       |    R⃗1      0 |            |    ⃗R1     0 |
                       ||    R⃗2      0 ||            ||    ⃗R2     0 ||
                       ||     ⃗        ||        =   ||    ⃗        ||                       (2.23)
                       ⌈    R3      0 ⌉            ⌈    R3     0 ⌉
                         0   0   0  1                0   0  0  1
                     ⌊                ⌋-1          ⌊                     ⌋
                        1   0   0   0                 1     0     0    0
                     ||                ||            ||                     ||
                     ||  0   1   0   0 ||        =   ||  0     1     0    0 ||               (2.24)
                     |⌈  0   0   1   0 |⌉            |⌈  0     0     1    0 |⌉

                       Ux  Uy   Uz  1                - Ux  - Uy  - Uz  1
⌊             ⌋  ⌊                    ⌋-1          ⌊    ⃗        ⌋  ⌊              ⌋
| 1   0  0  0 |  |   T     T     T  0 |            |    R1     0 |  | 1   0   0  0 |
|| 0   1  0  0 ||  || ⃗R1   R⃗2    R⃗3    0 ||            ||    ⃗R2     0 ||  || 0   1   0  0 ||
||             || ⋅||                    ||        =   ||    ⃗        || ⋅||              ||
⌈ 0   0  1  0 ⌉  |⌈                  0 |⌉            ⌈    R3     0 ⌉  ⌈ 0   0   1  0 ⌉
     ⃗U      1       0     0    0    1                0   0  0  1         - ⃗U     1
                                                   ⌊            ⌋
                                                       R⃗1     0
                                                   ||   R⃗     0 ||
                                               =   ||     2      ||                        (2.25)
                                                   |⌈   R⃗3     0 |⌉
                                                       - ⃗U    1

2.2.1 Überführung einer Vektorgleichung in homogene Matrizenschreibweise

Liegt eine Gleichung in Vektorform vor, soll aber als Gleichung mit einer homogenen Matrix dargestellt werden, so ist folgende Beziehung sehr hilfreich:

                ⃗         ⃗
 ⃗y    =  (⃗a-⋅⃗x)⋅b-+-c⋅⃗x-+-d     ⇐ ⇒                                  (2.26)
              ⃗e ⋅⃗x + f
            ⌊ a b + c  a b  + c a b  + c  e ⌋
            |  1 1      1 2       13       1|
            || a2b1 + c a2b2 + c a2b3 + c  e2||
 ⃗y    =  ⃗x ⋅|| a b + c  a b  + c a b  + c  e ||                        (2.27)
            ⌈  3 1      3 2       33       3⌉
                 d1       d2       d3     f
⃗a    =  (a1,a2,a3)                                                  (2.28)

 ⃗b    =  (b1,b2,b3)                                                   (2.29)

 ⃗d    =  (d1,d2,d3)                                                  (2.30)

Die Vektoren ⃗x,⃗y haben dabei die Dimension 3.

2.3 Die verschiedenen Projektionsarten

Es existieren zwei verschiedene Projektionsarten, die in noch weitere Spezialfälle unterteilt werden. Zum einen ist dies die parallele Projektion, zum anderen die zentrale oder perspektivische Projektion. Die Projektionsarten sind dabei, wie in Abbildung 2.3 aufgeführt, unterteilt :

PIC

Projektionsarten

2.3.1 Die perspektivische Projektion

Bei der Zentralprojektion wird ein Teilgebiet eines dreidimensionalen Raumes in ein Ebene projeziert. Diese Abbildung bildet die natürlichen Sehvorgänge des menschlichen Auges nach. Der Mittelpunkt der Auglinse befindet sich dabei im Projektionszentrum, die Netzhaut entspricht hierbei der Projektionsebene, die im Abstand z0 vom Augpunkt entfernt liegt.

PIC

Zentralperspektive 1

PIC

Zentralperspektive 2

Abbildung 2.3.1 zeigt die Projektion eines Punktes P. Das Projektionszentrum liegt dabei im Abstand v vom Ursprung. Die Projektionsebene liegt parallel zu x,y Ebene. Mit Hilfe der Strahlensätze folgt :

xE-=  --z0-      ⇔       x   = x ⋅--z0-                          (2.31)
x     z - v               E       z - v
yE-=  --z0-      ⇔       y   = y ⋅-z0--                          (2.32)
y     z - v               E       z - v
Diese Transformation lautet in Matrizenschreibweise :
                           ⌊             ⌋
                             1  0  0   0
                           ||             ||
(xE,yE, zE,w ) = (x,y,z,1)⋅|⌈ 0  1  0   0 |⌉
                             0  0  0  -1
                                      z0
(2.33)

Das Gehirn des Menschen korregiert dabei das gespiegelte Bild, so daß es nicht mehr auf dem Kopf steht. Durch die Korrektur erhält man die Projektion nach Abbildung 2.3.1. Legt man den Augpunkt in den Ursprung, so gilt :

   xE     z0                       z0
   -x- =  z-      ⇔       xE =  x ⋅z-                           (2.34)
yE      z0                         z0
y--=  z-+-z-      ⇔       yE =  y ⋅ z                           (2.35)
           0
Diese Transformation lautet in Matrizenschreibweise :
                           ⌊ 1  0  0    0  ⌋
                           |               |
                           || 0  1  0    0  ||
(xE,yE, zE,w ) = (x,y,z,1)⋅|| 0  0  0  1∕z  ||
                           ⌈             0 ⌉
                             0  0  0    0
(2.36)

PIC

Zentralperspektive 3

Man kann aber auch die Projektionsebene auf die x-,y-Ebene legen (Abbildung 2.3.1), dann erhält man :

                        x      - z                            1
                        -E-=  ----0-      ⇔       xE  = x ⋅--------            (2.37)
                        x     z - z0                       1 - z∕z0
yE- = ---z0-     ⇔      y  = y ⋅----1---                                       (2.38)
 y    z - z0             E      1 - z∕z0
Diese Transformation lautet in Matrizenschreibweise :
                           ⌊                 ⌋
                              1  0  0    0
                           ||  0  1  0    0   ||
(xE, yE,zE,w ) = (x,y,z,1)⋅||                 ||
                           |⌈  0  0  0 - 1∕z0 |⌉
                              0  0  0    1
(2.39)

Aus der perspektivischen Transformation nach (6.26) lassen sich einige Eigenschaften ablesen :

2.3.2 Die Parallelprojektion

Bei der Parallelprojektion werden Objekte parallel zu einer Projektionsrichtung auf die Bildebenen abgebildet. D.h. man findet die Bildpunkte als Schnittpunkte der Bildebene mit dem Projektionsstrahl, der vom Objektpunkt parallel zur Projektionsrichtung verläuft. Liegt dabei der Projektionsstrahl senkrecht zur Bildebene, so handelt es sich um die orthogonale Projektion. Ist die Projektionsrichtung parallel zu einer der drei Hauptachsen, so werden Auf-, Grund- und Seitenrisse dargestellt. Axonometrische Projektionen sind orthogonale Projektionen, bei denen die Projektionsrichtungen nicht parallel zu eine der drei Hauptachsen liegt. Nichtorthogonale parallele Projektionen werden schiefe Parallelprojektion genannt. Die Matrix für die allgemeine Parallelprojektion eines Punktes ⃗p auf eine vorgegebene Bildebene mit Normalenvektor ⃗n und Ebenenpunkt ⃗R0 in Richtung eines gegebenen Projektionsstrahles ⃗v lautet :

         ⌊                                      ⌋T
            d1 - a ⋅n1  - a⋅n2    - a⋅n3  a ⋅d0
         ||                                      ||
P     =  ||   - b⋅n1    d1 - b ⋅n2 - b⋅n3  b ⋅d0 ||                      (2.40)
         |⌈   - c⋅n1     - c⋅n2    - c⋅n3  c ⋅d0 |⌉
                0          0         0      d
                                             1
 ⃗n    =     (n1,n2, n3)                                                 (2.41)

 ⃗v    =     (a,b,c)                                                     (2.42)
d     =    ⃗n⋅R⃗                                                       (2.43)
 0              0
d1    =    ⃗n⋅⃗v                                                        (2.44)

Im folgenden werden einige Projektionsmatrizen für Spezialfälle der Parallelprojektion auf die x-, y- Ebene aufgeführt.

Die orthogonale Projektion auf die x-,y- Ebene erhält man durch weglassen der z- Komponente, also durch die Gleichung

                        ⌊            ⌋
                        | 1  0  0  0 |
                        || 0  1  0  0 ||
(x′,y′,z′,1) = (x, y,z,1)⋅||            ||
                        ⌈ 0  0  0  0 ⌉
                          0  0  0  1
(2.45)

.

Die Matrix der Kabinettprojektion (Projektionsrichtung 30 Grad zur x-Achse, Kürzung der z-Komponente um den Faktor 2) lautet :

⌊            ⌋
  1  0  0  0
⌈           0⌉
  0  1  0   4
(2.46)

Die Matrix der Kavalierprojektion (Projektionsrichtung 45 Grad zur x-Achse) lautet :

⌊            ⌋
⌈ 1  0  0  0 ⌉
  0  1  0   02
(2.47)

up