Upload
others
View
45
Download
1
Embed Size (px)
Citation preview
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 2/100
Literatur
Parent, Richard: Computer Animation: Algorithm and Techniques; Morgan & Kaufmann (2001)
Watt, Alan; Watt, Mark: Advanced Animation and Rendering Techniques;Addison-Wesley (1992)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 3/100
Inhalt
Zusammenfassung
Wiederholung und Vertiefung
B-Splines
NURBS
Anwendungsbeispiele
Wiederholung und Vertiefung
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 4/100
Grundlagen
Was ist ein Szenegraph?
•Graphikschnittstelle
•Beschreibung der hierarchischen Objektstruktur einer Szene
•Gerichteter und azyklischer Graph
•Verschiedene Objekte als Knoten
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 5/100
Grundlagen
Beispiel
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 6/100
Grundlagen
Objekthierarchie
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 7/100
Grundlagen
Vorteile von Szenegraphen•Denken in Objekten statt in Punkten/Kanten & Polygonen
•Erleichtert die Behandlung großer Szenen mit vielen gleichförmigen Objekten
•Komprimierung
•Beschleunigung von Statusänderungen
•Verbesserung des Cullings
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 8/100
Grundlagen
Vielfalt an Szenegraphen
Allscene 3DCrystal SpaceGamembryoGismo 3DIrisInventorIrrlichtJava3DMantra4DNebula DeviceNeMoOgreOpenScengraph
OpenSGOpenPerformerPanard VisionRealiMationRenderware SGSurRendererVirToolsVisKitXeiosWild Magic 3D3D Generation…
3DSInventor 1.0Mantra4D-DBOpenFlightRealiBaseVRML 1.0VRML 2.0VRML 97X3D…
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 9/100
Knotenobjekte der Szenegraphen
Animation mit TransformationenAchtung 1: Rechts- und Linkshändige Systeme
x
y
zx
y
z
links:
RealiMation
3D-Generation
rechts:
Iris Inventor
Open Performer
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 10/100
Arten von Knoten
Virtuelle Szene
Gruppenknoten•Gruppenbehälter•Transformationen•Switchknoten (Level-of-Detail, Animation etc.)•…Blattknoten•Lichter•Geometrien•Kameras•Materialien, Texturen, Farben•...
Reale Szene
Gruppenknoten•Gruppenbehälter•Computer•Kanäle•Switchknoten (an, aus) •…Blattknoten•Eingabegeräte•Sichtsysteme•Sichtfenster•Soundgeräte•Basis-Render-API•…
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 11/100
Bildung der Objekthierarchie
Virtuelle vs. Reale Szene
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 12/100
Virtuelle Szene
Optische v.Sz. Haptische v.Sz.
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 13/100
Bildung der Objekthierarchie
Hierarchie der Gesamtszene
Konsistenz
Ifimetrale
Fahrphysik
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 14/100
Bildung der Objekthierarchie
Hierarchie des Fahrzeuges
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 15/100
Bildung der Objekthierarchie
Hierarchie der Virtuellen Szene
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 16/100
Bildung der Objekthierarchie
Virtuelle vs. Reale Szene
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 17/100
Nächstes Kapitel
B-Splines
Resümee
Wiederholung und Vertiefung
NURBS
Anwéndungsbeispiel
B-SplinesB-Splines
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 18/100
Herkunft SplineEin Spline (deutsch Strak bzw. Straklatte) ist ein Kurvenlineal
für den Schiffsbau, welches entweder mit Spanten (eng. spline nails) oder mit Strakgewichten (engl. ducks) verbogen wird.
Quellen: ^http://klaus.silbernagl.com/pub/bootsbau/workshop/ und: http://www.kle.nw.schule.de/hanna-heiber-schule/kanadier/seite11.htm
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 19/100
Einige Alltagsbegriffe
Spanten => „gespannt“ seinStrak => „Im Strak liegen“Strakschnur => „schnurstraks“
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 20/100
B-Splines-Geschichteca. 15. Jahrhundert: (Wieder-?)Erfindung der mechanischen Straklatten in den Reedereien der Hansestadt Bremen1946 erste mathematische Definition von Peter Schönfeld (für den Bereich Statistik)1971/72 Rekursive Definition von Cox und de Boor unabhängig voneinander gefunden1974 Riesenfeld und Gordon benutzen B-Splines zur Kurvendefinition
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 21/100
B-Splines
B-Spline steht für Basis-SplineKubische B-Splines liefern C2 Kontinuität zwischen Segmenten (per Definition)In der CG sehr häufig eingesetztmeist uniforme periodische B-Splines
uniform: Basisfunktionen sind für alle Kurven gleichperiodisch: gestückelt zwischen Stützpunkten nichtrational: keine Quotientendarstellung von Polynomen
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 22/100
Ableitung der Basisfunktionen füruniforme periodische kubische B-Splines
Wir bezeichnen das i-te Segment eines kubischen B-Splines als Qi. Hierzu gehören 4 Kontrollpunkte pi, pi+1, pi+2, pi+3.
Entsprechend gilt: Die Kontrollpunkte für Qi+1sind pi+1, pi+2, pi+3 , pi+4.
B-Spline Segmente teilen sich gleiche Kontrollpunkte.
pi
pi+1Pi+2
pi+3 pi+4
Qi
Qi+1
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 23/100
Ableitung der Basisfunktionen füruniforme periodische kubische B-Splines
)(
:lg103,...,0),(
3
0uB
definierttfowieuIntervallimistnktenKontrollpudenundkuB
ionenBasisfunktdenmitSegmentSplineBDas
kk
ki
k
�=
+
+++
=
≤≤=
−
p(u)Q
p ,p ,p ,p(u)Q
i
3i2i1ii
i
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 24/100
Ableitung der Basisfunktionen fürUniforme Kubische B-Splines(2)Entsprechendes definieren wir für Qi+1.Wir suchen einen Satz Basisfunktionen so, dass an den Kontrollpunkten
C0, C1 und C2 Kontinuität gewährleistet ist, also für C0:
0)1()0()1()0()1()0()1(
0)1(,
)0()1(
)0()1(
3
23
12
01
0
3
01
3
0
1
=====
=
=
��=
++=
+
+
BBBBBBB
BwirfordernkönnenannehmenWertebeliebigenkteKontrollpudieweil
BB
also
kk
kikk
ki
ii
pp
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 25/100
Ableitung der Basisfunktionen fürUniforme Kubische B-Splines(3)
Entsprechendes fordern wir für C1 und C2 Kontinuität:
0)1(')0(')1(')0(')1(')0(')1('
0)1('
3
23
12
01
0
=====
BBBBBBB
B
0)1('')0('')1('')0('')1('')0('')1(''
0)1(''
3
23
12
01
0
=====
BBBBBBB
B
Dies ergibt 15 Gleichungen für 4x4 kubische Gleichungen, also 16 Unbekannte. Also ist eine weitere Bedingung wählbar.
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 26/100
Ableitung der Basisfunktionen fürUniforme Kubische B-Splines(4)
Wir wählen die Eigenschaft der konvexen Hülle, also
6)(
61333)(
6463)(
6)1()(
:ionenBasisfunkt alssich ergeben dann 1)0()0()0()0(
3
3
23
2
23
1
3
0
3210
uuB
uuuuB
uuuB
uuB
BBBB
=
+++−=
+−=
−=
=+++
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 27/100
Basisfunktionen
B1(u)
B0(u) B3(u)
B2(u)
u
f(u)
10
2/3
0
1/66)(
61333)(
6463)(
6)1()(
3
3
23
2
23
1
3
0
uuB
uuuuB
uuuB
uuB
=
+++−=
+−=
−=
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 28/100
Kubische periodische uniforme B-Splines in Matrixschreibweise
����
�
�
����
�
�
����
�
�
����
�
�
−−
−−
==
+
+
+
3
2
123
0141030303631331
61]1[)(
i
i
i
i
BS uuuu
pppp
PUMQi
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 29/100
Lokale und globale Parametrisierung
Gegeben seien n-2 Kurvensegmente Qi, mit i=0,...,n-3, also n+1 Kontrollpunke pi, i=0,...,n.
Wir führen nun den globalen Parameter U ein:
i Sektor für10:
20:
iUuuLOKAL
nUGLOBAL
−=≤≤
−≤≤
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 30/100
Globale Blending Funtion
)3,...,0(3
1)(1)(
12)(23)(
)(
)()(
dass so Funktion, Blending globale die sei )(
30
21
12
03
0
=−+−=
��
�
��
�
�
+<≤<≤−
−<≤−−<≤−
=
= �=
jjiUualso
iUiuBiUiuBiUiuBiUiuB
UN
mit
UNUQ
UN
j
i
n
iii
i
p
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 31/100
Verallgemeinerung der B-Spline Definition
Bisher haben wir einen Spezialfall behandelt: Periodische uniforme B-SplinesAllgemein lautet die B-Spline Definition (Cox-de Boor Rekursion):
1
1,1
1
1,,
1ii1,
1
,
maxmin
1
1,
)()()()()(
sonst 0x xwenn1
)(
mit des Elemente1-k Grad den hat ion,Basisfunkt der
ionenBasisfunkt Spline-B rteNormalisielygonsKontrollpo des Eckpunkte gleich nkteKontrollpu
12)()(
++
−++
−+
−
+
+
+
=
−+
−−
=
��� ≤≤
=
≤
+≤≤≤≤=�
iki
kiki
iki
kiiki
i
iii
ki
i
n
ikii
xxtNx
xxtNxt
tN
ttN
xxxkNB
nkttttNBtP
orsKnotenvektOrdnung
Cox – de BoorRekursion
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 32/100
Erste Eigenschaften
P(t) ist ein Polynom vom Grad k-1 in jedem Intervall
Im Gegensatz zur Bezierkurve sind üblicherweise die Punkte des Kontrollpolygons von 1 bis n -1 nummeriert.P(t) und seine Ableitungen 1,2,...,k-2 sind kontinuierlich über die gesamte Kurve.Die Werte des Knotenvektors xi beeinflussen die Basisfunktionen stark � erweiterte Kontrollmöglichkeiten
1+<≤ ii xtx1
1,1
1
1,,
1ii1,
maxmin
1
1,
)()()()()(
sonst 0xwenn x1
)(
12)()(
++
−++
−+
−+
+
=
−+
−−
=��� ≤≤
=
+≤≤≤≤=�
iki
kiki
iki
kiikii
n
ikii
xxtNx
xxtNxt
tNt
tN
nkttttNBtP
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 33/100
Erste Eigenschaften (2)
Die Basisfunktionen Ni,k sind größer oder gleich 0.Die Summe der B-Spline Basisfunktionen für jeden Parameterwert t sind
Die Kurve liegt innerhalb der konvexen Hülle des Kontrollpolygons.Die maximale Ordnung der Kurve entspricht der Anzahl der Punkte des Kontrollpolygons, der Grad ist um Eins kleiner.Die Kurve ist invariant gegenüber affinen Transformationen.
1
1,1
1
1,,
1ii1,
maxmin
1
1,
)()()()()(
sonst 0x xwenn1
)(
12)()(
++
−++
−+
−+
+
=
−+
−−
=��� ≤≤
=
+≤≤≤≤=�
iki
kiki
iki
kiikii
n
ikii
xxtNx
xxtNxt
tNt
tN
nkttttNBtP
�+
=
≡1
1, 1)(
n
iki tN
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 34/100
Die Eigenschaft der konvexen Hülle (convex hull property)
Stärker als bei Bézier-KurveAbhängig von der Ordnung k
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 35/100
Kolineare Kontrollpunkte
Ermöglichen einen glatten Anschluß (k-2-kontinuierlich) einer Kurve an eine Gerade:
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 36/100
Knotenvektorenknot vectors
Die einzige Bedingung für den Knotenvektor ist
Je nach Wahl des Knotenvektors unterscheiden wirperiodische oder offene B-Splinesuniforme oder nichtuniforme B-Splines
BeispieleUniforme Knotenvektoren [0 1 2 3 4] sind gleichabständig [-0,2 -0,1 0 0,1 0,2]
[0 0,25 0,5 0,75 1]normalisierte Form
ℜ∈≤ +1ii xx
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 37/100
Knotenvektoren (2)
Für periodische uniformeKnotenvektoren ergibt sich
Offene uniforme Knotenvektoren haben k Mehrfachknoten an den Enden, interne Knoten sind gleichabständigBsp. [0 0 0 1 2 3 3 3] für k = 3
Allgemein:
)1()1()( ,1,1, +=−= +− tNtNtN kikiki
12211
10
++≤≤++−=+≤≤+−=
≤≤=
kninfürknxnikfürkix
kifürx
i
i
i
[x]=[0 1 2 3 4 5 6} n+1=4 k=3
[x]=[0 0 0 1 2 2 2} n+1=4 k=3
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 38/100
Knotenvektoren (3)
Der Knotenvektor [0 0 0 0 1 1 1 1] erzeugt einen kubische Bezier-Kurve. Allgemein: Wenn die Ordnung einer B-Spline Kurve gleich der Anzahl der Knotrollpunkte ist, dann reduziert die B-Spline Basis zur Bernstein-Basis � B-Spline Kurve wird zur Bézier KurveNichtuniforme Knotenvektoren sind entweder durch ungleiche Abstände und/oder haben Mehrfachknoten[0 0 0 1 1 2 2 2] offen[0 1 2 2 3 4] periodisch[0 0,28 0,5 0,72 1] periodisch
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 39/100
Weitere Beispiele für B-SplineBasisfunktionen
Nichtuniforme Basisfunktionen für n+1 = 5 k =3(a) [X] = [0 0 0 1 2 3 3 3](b) [X] = [0 0 0 0,4 2,6 3 3 3]
(c) [X] = [0 0 0 1,8 2,2 3 3 3](d) [X] = [0 0 0 1 1 3 3 3]
(e) [X] = [0 0 0 2 2 3 3 3]
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 40/100
Kontrolle der Form einer B-Spline Kurve
Es gibt vielfältige „handles“ die die Form der Basisfunktionen und damit die Form der entstehenden Kurve beeinflussen:
(1) Ändern des Typs der BasisfunktionPeriodisch uniform, offen uniform, nichtuniform
(2) Ändern der Ordnung k der Basisfunktionen(3) Ändern der Zahl und/oder der Position der Punkte
des Kontrollpolygons(4) Mehrfache Kontrollpunkte(5) Mehrfachwerte im Knotenvektor
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 41/100
Offene B-Splines: Ändern der Ordnung k der Basisfunktionen
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 42/100
Offene B-SplinesMehrfache Kontrollpunkte
Mehrfache Kontrollpunktean B2:keine Mehrfachknoten mit Knotenvektor [0 0 0 0 1 1 1 1]B2 doppelter Knoten mit Knotenvektor [0 0 0 0 1 2 2 2 2]
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 43/100
Mehrfache KontrollpunkteBsp. Kubische Splines (k=4)
C2, (wie oben im Effekt nur noch G0) Kurve interpoliert den 4-fach Kontrollpunkt und die beiden benachbarten Kontrollpunkte, Kurvensegmente sind linear
4-fach
C2 (wie oben im Effekt nur noch G0)Kurve interpoliert den 3-fach Kontrollpunkt,Kurvensegmente sind linear
3-fach
C2 (Achtung: per Definition G2 , aber im Effekt geometrisch nur noch G1)Konvexe Hülle wird kleiner; Kurve wird näher zum Kontrollpunkt gezogen
2-fach
Wichtige Eigenschaft von Splines: Eine Ck-2-KontinuierlicheKurve kann scharfe Ecken (Scheitelpunkte) enthalten!
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 44/100
Beispiel: Mehrfache Knotenwerte
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 45/100
Beispiel: Mehrfache Knotenwerte
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 46/100
Mehrfache KnotenwerteBsp. Kubische Splines (k=4)
UnstetigkeitKurve endet an einem Kontrollpunkt und geht am nächsten Kontrollpunkt weiter
4-fach
C0, G0
Kurve interpoliert Kontrollpunkt3-fach
C1, G1
Knoten in einer schmaleren konvexen Hülle
2-fach
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 47/100
Lokale Kontrolle
Lage von B5 wird variiert
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 48/100
Zusammenfassung B-Splines (1)
Die einschränkende Inflexibilität der Bézier-Kurven wurde überwunden, d.h.
Die feste Kopplung zwischen Polygongrad und der Anzahl der Kontrollpunkte besteht nicht mehr Änderungen der Kontrollpunkte wirken nur innerhalb des Bezier-Spans (des Patches) global; man erhält sehr gute lokale Kontrolle
Ck-2 Kontinuität per Definition, bei kubischen Splines also C2. Trotzdem geometrisch scharfe Eckpunkte möglich!Durch Mehrfach-Kontrollpunkte oder Mehrfach-Knotenwerte
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 49/100
Zusammenfassung B-Splines (2)
Es gibt viele „Handles“ die die Form der Basisfunktionen und damit die Form der entstehenden Kurven oder Flächen beeinflussen und vergleichsweise gut editierbar machen; sehr wichtig dabei nichtuniforme B-Splines
(1) Ändern der Anzahl und/oder der Position der Punkte des Kontrollpolygons
(2) Ändern des Typs der Basisfunktion; man unterscheidet folgende Grundtypen
periodisch uniform, offen uniform, nichtuniform(3) Ändern der Ordnung k der Basisfunktionen:
� k vergrößern: Form kann erhalten bleiben � weitere Kontrollpunkte
� k verkleinern: Form kann i.a. nur annähernd erhalten bleiben
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 50/100
Zusammenfassung B-Splines (3)
(4) Mehrfache Kontrollpunkte: verstärken den Einfluss dieses Mehrfachkontrollpunktes, Kurve nähert sich stärker (aber stufenweise) dem Kontrollpunkt an
(5) Ändern des Knotenvektors (bestimmt die gültigen Parameterwerte und verändert die Basisfunktionen), Mehrfachknoten möglich! � Abschwächung der Kontinuität���� Interpolation durch Punkte möglich
Aber (wir sind immer noch nicht zufrieden):z.B. Kegelschnitte lassen sich allgemein nicht durch B-Splines exakt repräsentierenDer Einfluss eines Kontrollpunktes lässt sich nicht kontinuierlich verändern
� NURBS
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 51/100
Nächstes Kapitel
NURBS
Zusammenfassung
Wiederholung und Vertiefung
B-Splines
NURBS
Interpolationsverfahren
NURBS
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 52/100
NURBSNon Uniform Rational B-Splines
Idee: Benutzung von rationalen Formen
Dazu: Definition von Kurven Kontrollpunkte in 4D homogenen Koordinaten �polynomiale Funktionen in 4D RaumRückprojektion in den 3DKonsequenz: Kurve wird durch gebrochen-rationale Funktionen definiert (Division durch die homogene Koordinate)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 53/100
Herleitung NURBS
�+
=
=1
1, )()(
n
iki
hh tNti
BP
1
,
maxmin
1
1, 12)()(
++++
++++
====
≤≤≤≤
++++≤≤≤≤≤≤≤≤≤≤≤≤≤≤≤≤====����
iii
ki
i
n
ikii
xxxkNB
nkttttNBtP
mit orsKnotenvekt des Elemente1-k Grad den hat ion,Basisfunkt der Ordnung
ionenBasisfunkt Spline-B rteNormalisielygonsKontrollpo des Eckpunkte gleich nkteKontrollpu
Wir erinnern uns: Die (ganzrationale nichtuniforme) SplineDefinition:
�����
�
�
�����
�
�
=�
�����
�
�
�����
�
�
=����
�
�
���
�
�
=
i
i
i
i
hi
hii
hzhyhxh
zyx
zyx
BBB
1
Definition von Kurven-Kontroll-punkte in 4D homogenen Koordinaten
� polynomiale Funktionen in 4D
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 54/100
Definition NURBS
�
�+
=
+
== 1
1,
1
1,
)(
)()( n
iki
n
ikii
tNh
tNht
i
iB
P
�
�
+
= +
=������
�
�
������
�
�
==1
1 1
1,
,
)(
)()(n
i n
iki
p
p
p
kihh
tNh
zyx
tNt
i
iBP
3D auf izierenzurückprojhP
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 55/100
Beispiele für NURBS Basisfunktionen
n+1=5, k=3[X]=[0 0 0 1 2 3 3 3][H]=[1 1 h3 1 1]
h3=0
h3=1/4
h3=1
h3=5
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 56/100
Einfluß der Weights hi
offen
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 57/100
Einfluß der Weights hi
periodisch
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 58/100
Kegelschnitte als NURBSHier ein quadratischer Spline: k=3,
h1= h3=1[X]=[0 0 0 1 1 1], alsoeine Rationale Bezier Kurve
h2 wird variiert:h2=0 � Gerade0<h2<1, hier 1/4 � Ellipseh2=1 � Parabel h2>1, hier 3 � Hyperbel
Glauben Sie nicht? … Rechnen Sie doch nach ;-)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 59/100
Vollkreis als NURBS-RepräsentationMit Hilfe von 3 Segmenten:
[X]=[0 0 0 1 1 2 2 3 3 3]
]1211
211
211[][ =H
B7,B1B2
B3
B4
B5
B6
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 60/100
Vollkreis als NURBS-Repräsentation
Aus 4 Segmenten:
[X]=[0 0 0 1 1 2 2 3 3 4 4 4]
]1221
221
221
221[][ ====H
B9,B1 B2
B3
B4B5
B8
B6
B7
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 61/100
Vorteile von NURBS
Wir haben alle Vorteile der (ganzrationalen Splines) bewahrt ... Zusätzlich:Invarianz auch gegenüber perspektivischen Transformationen (d.h. auch bei perspektivischen Transformationen müssen nur die Kontrollpunkte transformiert werden und nicht jeder Punkt der Kurve)Ein weiteres Kontroll-Handle hi an jedem Kontrollpunkt (man nennt es weight - Gewicht) NURBS können Kegelschnitte exakt beschreiben
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 62/100
Zusammenhang zwischen NURBS und Bézier
NURBS sind Verallgemeinerung von kubischen Bézier-Splines
NURBS kubische Bézier-Splines
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 63/100
Definition von weiteren Kurvenbasen
Es gibt eine große Spannbreite weiterer Kurvendefinitionen mit jeweils spezifischen Eigenschaften
β-SplinesCatmull-Rom Splines...
Es gibt keine „beste“ Kurvenrepräsentation, diese muss anwendungsabhängig gewählt werden (heute werden sehr oft NURBS verwendet)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 64/100
Konversionen zwischen verschiedenen Repräsentationen
Eine der großen Vorteile der Matrixdarstellung ist, dass man einfach ableiten kann, wie sich verschiedene Repräsentationen ineinander überführen lassen:
Gegeben: Der Satz Pj der Kontrollpunkte in der Repräsentation Mj. Gesucht ist die gleiche Kurve in der Repräsentation Mi, also die Kontrollpunkte Pi.
jjii
jjii
jjii
PMMPPMPM
PUMPUM
1−−−−========
==== Kurve) die (also Wir erhalten also andere Kontrollpunkteinsbesondere der Grad bleibt erhalten� wir können jede Kurve in eine Bezier Kurve umrechnen
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 65/100
Definition von Flächen
Erweiterung von Kurven auf Flächen: Kurven beschreiben Schnitte von FlächenFreiformflächen (Erweiterung der allgemeinen Darstellung):
F(u,v) = T(u) M G(v) = T(u) M G MT S(v)T
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 66/100
Nächstes Kapitel
NURBS
Zusammenfassung
Wiederholung und Vertiefung
B-Splines
NURBS
BeispielanwendungenBeispielanwendungen
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 67/100
Freiformflächen Modelling in der PraxisBasis-Modelling Primitive
Linear: direkte Manipulation der Eckpunkte
Bézier: Die Kurve geht durch die End-Kontrollpunkte der Segmente zusätzlich Tangentenkontrolle
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 68/100
Weitere Primitive
B-Spline: ggf. weit entfernt liegende Kontrollpunkte –auch außerhalb des Patches
NURBS: Zusätzliche Gewichte an den Kontrollpunkten, zur Einstellung der Annäherung an die Kontrollpunkte
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 69/100
Simple Character mit NURBS
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 70/100
Simple Character mit NURBS
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 71/100
Computer Assisted Character Animation
Image Interpolation
Bildinterpolation zwischen Schlüsselbildern (Keyframes)
Verschiedene Techniken:• Parametrisches Keyframing • Blending• 2D-Morphing• 3D-Morphing• …
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 72/100
Interpolationsverfahren für die Animation
Spatial Keyframing
Quelle: Takeo Igarashi, Tomer Moscovich, John F. Hughes: http://www-ui.is.s.u-tokyo.ac.jp/~takeo/research/squirrel/
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 73/100
Computer Assisted Character Animation
Image Interpolation - BlendingÜberblendung von Keyframes durch den jeweils darauf folgenden Keyframe
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 74/100
Computer Assisted Character Animation
Image Interpolation – 2D-Morphing2D-Morphing ist eine spezielle Image Interpolation Technik, welche zueinandergehörige Pixelpositionen zwischen zwei Keyframes (i.d.R. linear) interpoliert.
Quelle: http://www.creativecow.net/articles/zwar_chris/morph/index.html
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 75/100
Computer Assisted Character Animation
Image Interpolation – 2D-Morphing
Quelle: http://www.creativecow.net/articles/zwar_chris/morph/index.html
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 76/100
Computer Assisted Character Animation
Image Interpolation – 2D-Morphing
2D-Morphing ist meistverwendete Technik zur Visualisierung von evolutionären Übergängen
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 77/100
Computer Assisted Character Animation
Image Interpolation – 2D-Morphing… jedoch biologisch inkorrekt
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 78/100
Computer Assisted Character Animation
Image Interpolation – 3D-Morphingräumliche Vertexinterpolation
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 79/100
Facial Animation
Quelle: http://www.alientech.it/hardware/radeon7500/4tecnologie.htm
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 80/100
Interpolationsverfahren
Pfadanimation
Interpolation von • Position• Orientierung• Skalierungentlang eines Pfades
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 81/100
Nächstes Kapitel
Resümee
Zusammenfassung
Wiederholung und Vertiefung
B-Splines
NURBS
Interpolationsverfahren
Zusammenfassung
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 82/100
Zusammenfassung
B-SplinesNURBSInterpolationsverfahrenVor- und Nachteile
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 83/100
Ausblick
SchichtverfahrenKinematikH-Anim
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 84/100
EndeDankeDankefürfür IhrIhrInteresseInteresse!!
Tobias Breiner Tobias Breiner [email protected]@gdv.informatik.uni--frankfurt.de frankfurt.de