Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.1
Computergrafik – InhaltAchtung! Kapitel ist relevant für CG-2!
§0 Historie, Überblick, Beispiele
§1 Begriffe und Grundlagen
§2 Objekttransformationen
§3 Objektrepräsentation und -Modellierung
§4 Sichttransformationen
§5 Kurven und Flächen
§6 Rendering und Visibilität
§7 Mapping-Techniken
Literatur
G. Farin: Curves and Surfaces for CAGD, Academic Press, 1992
J. Hoschek, D. Lasser: Grundlagen der geometrischen Datenverarbeitung, Teubner, 1992
H. Prautzsch, W. Boehm, M. Paluszny: Bézier and B-Spline Techniques, Springer, 2002
Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.2
Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.3
Einordnung
5.1.1 Motivation
Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.4
5.1.1 Motivation
Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.5
5.1.2 Interpolationsproblem
Gegeben: n+1 Paare reeller Zahlen (ti, fi) für i = 0,…,n mit
paarweise disjunkten Stützstellen ti,ti ≠ tj für i ≠ j
Gesucht: Ein Polynom p vom Grad ≤ n,
(1)
mit reellen Koeffizienten cj heißt Interpolationspolynom zu (ti, fi), wenn
(2)
Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.6
0
( )n
jj
j
c tp t
( ) 0,...,i if it np
5.1.2 Interpolationsproblem
Fragestellungen Existenz und Eindeutigkeit einer Lösung Algorithmische Lösungsverfahren (Effizienz) Qualität der Lösung(en): Entspricht die Lösung den
Erwartungen/Anforderungen des Anwenders?
Satz 1: Die Interpolationsaufgabe hat eine eindeutig
bestimmte Lösung.
Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.7
5.1.2 Interpolationsproblem
Beweis: Einsetzen von (1) in (2) liefert
(3)
oder kurz Ac = f. A heißt Vandermonde-Matrix mit
Da ti ≠ tj für i ≠ j, ist A regulär und die Behauptung
folgt. □
Achtung! Kapitel ist relevant für Computergrafik 2! CG – 5.1.8
, 0
( )detn
i ji ji j
A t t
5.1.3 Lagrange-Interpolation
Lagrange-Interpolation Die Lösung eines Gleichungssystems hat im
Allgemeinen Komplexität O(n³). Gesucht ist eine optimale polynomiale Basis
{Li(t)}i=0,…,n, sodass
(4)
Dadurch wird die Matrix des Systems (3) zur Einheitsmatrix, d.h. ci = fi, i = 0,…,n, und das
Interpolationspolynom hat die Darstellung:
(5)
0,:
1,( )i j ij
i jL
i jt
0
( () )n
i ii
p f L tt
5.1.3 Lagrange-Interpolation
Satz 2: Die Lagrange-Polynome
(6)
erfüllen die Eigenschaft (4): Li(tj) = δij
Beweis:
Und für □
0
( )n
ki
i kkk i
Lt t
tt t
0
( ) 1n
i ki i
i kkk i
t t
tL t
t
( ) 0: j ji j
i j
tj i L
tt
t t
5.1.3 Lagrange-Interpolation
Lagrange-Polynome
5.1.3 Lagrange-Interpolation
Beispiele n = 1, d.h. lineare Interpolation
Interpolationsstellen: (x0,y0),(x1,y1) (Stützstellen in x)
Von einer reellen Funktion f seien die folgenden Wertepaare bekannt:
10
0 1
( )Lx x
xx x
0
1
1 0
( )Lx x
xx x
0 0 1 1 00 1
0 1 1 0 0 1
( )( ) ( )1 x x y x x y x xx x
yx x x
p x yx x x
i xi yi
0 0 1
1 1 0.5
2 2 0.2
5.1.3 Lagrange-Interpolation
Fortsetzung
21 20
0 1 0 2
( )·( ) ( 1)·( 2) 1( ) ·(
( )·( ) (0 1)·(0 2)3
22)
x x x x x xx x
x x xL x
x
20 21
1 0 1 2
( )·( ) ( 0)·( 2)( ) 2
( )·( (1 0)·(1 2))
x x x x x xx x x
x xL
x x
20 12
2 0 2 1
( )·( ) ( 0)·( 1) 1( ) ·( )
( )·( ) (2 0)·(2 1) 2
x x x x x xx x x
x x x xL
2 2 2
2
1 1( 3 2)·1 (2 )·0.5 ( )·0.2
2 2
( )
0.0.1· 6· 1
x x x x x xx
x
p
x
5.1.4 Newton-Interpolation
Nachteil der Lagrange-Darstellung: Neuberechnung aller Basisfunktionen bei
Hinzunahme neuer Stützstellen Nicht dynamisch
Newton-Darstellung: Hinzunahme neuer Stützstellen in beliebiger
Reihenfolge möglich. Neuberechnung ist nicht notwendig.
Als Basis dient
(7)
mit der Eigenschaft Ni(tj) = 0 für i > j
und Ni(tj) ≠ 0 sonst
1
0
( )i
i kk
t t tN
5.1.4 Newton-Interpolation
Fortsetzung Die Koeffizienten ai für
(8)
werden rekursiv aus den k-ten dividierten Differenzen
f[tj,…,tj+k] ermittelt:
(9)1 1
0
] :
[ ,..., ] [ ,..., ],..., ] :
[ ,..
[ ( 0,..., )
. ]
[
,
j j
j j k j j kj j k
j k j
i i
f
f t t f t tt
t t
a
f t j n
f t
f t t
0
(( ))n
i ii
a N tp t
5.1.4 Newton-Interpolation
Daraus ergibt sich folgendes Schema:
k = 0 1 2 3
5.1.4 Newton-Interpolation
Die Koeffizienten ai können auch analog zur (3)
über ein lineares Gleichungssystem bestimmt werden.
Da die Matrix hier eine untere Dreiecksmatrix ist, entspricht Vorwärtseinsetzen dem Schema der dividierten Differenzen.
Beispiel: (ti,fi) {(0,1); (2,3); (4,5)}∈
ti fi
0 1 = a0
1 = a1
2 3 0 = a2
1
4 5
0 1 0 2 0 1( ) ( ) 1) (( )a x t ap x t xa tx x
5.1.4 Newton-Interpolation
Achtung: Das Interpolationspolynom zu n+1 Interpolations-
stellen ist nicht unbedingt n-ten Grades, es ist höchstens n-ten Grades.
Bemerkungen: Die Reihenfolge der Stützstellen bei der Newton-
Interpolation ist unerheblich.
Interpoliert man eine auf dem Intervall [a,b] stetige Funktion f in n Punkten, so konvergiert die entstehende Folge von Interpolationspolynomen auf [a,b] für n→∞ nicht notwendig (glm.) gegen f.
Durch mehr Punkte erreicht man nicht unbedingt
höhere Qualität!
5.1.4 Newton-Interpolation
Runge-Funktion:
Interpolant vom Grad 5
Interpolant vom Grad 7
2
1
1 x
5.1.4 Newton-Interpolation
Runge-Funktion:
Interpolant vom Grad 11
Interpolant vom Grad 17
2
1
1 x
5.1.5 Nachteile der Polynominterpolation
Nachteile im Hinblick auf CAD/CAM-Technologie
Jeder Interpolationspunkt hat globalen Einfluss auf die Kurve. Basisfunktionen mit lokalem Träger
Auch die Parametrisierung (Wahl der Stützstellen) hat einen entscheidenden Einfluss auf die Qualität der Kurve.
Interpolationspolynome mit einem Grad n ≥ 5 weisen oft sehr welliges Verhalten auf. Zusatzbedingungen wie „minimale Biegeenergie“