Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und...
Transcript of Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und...
![Page 1: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/1.jpg)
Animation
Splines & Interpolationsverfahren
Dr. Tobias Chr. Breiner
![Page 2: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/2.jpg)
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)
![Page 3: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/3.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 3/100
Inhalt
Zusammenfassung
Wiederholung und Vertiefung
B-Splines
NURBS
Anwendungsbeispiele
Wiederholung und Vertiefung
![Page 4: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/4.jpg)
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
![Page 5: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/5.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 5/100
Grundlagen
Beispiel
![Page 6: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/6.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 6/100
Grundlagen
Objekthierarchie
![Page 7: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/7.jpg)
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
![Page 8: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/8.jpg)
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…
![Page 9: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/9.jpg)
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
![Page 10: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/10.jpg)
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•…
![Page 11: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/11.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 11/100
Bildung der Objekthierarchie
Virtuelle vs. Reale Szene
![Page 12: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/12.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 12/100
Virtuelle Szene
Optische v.Sz. Haptische v.Sz.
![Page 13: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/13.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 13/100
Bildung der Objekthierarchie
Hierarchie der Gesamtszene
Konsistenz
Ifimetrale
Fahrphysik
![Page 14: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/14.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 14/100
Bildung der Objekthierarchie
Hierarchie des Fahrzeuges
![Page 15: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/15.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 15/100
Bildung der Objekthierarchie
Hierarchie der Virtuellen Szene
![Page 16: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/16.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 16/100
Bildung der Objekthierarchie
Virtuelle vs. Reale Szene
![Page 17: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/17.jpg)
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
![Page 18: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/18.jpg)
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
![Page 19: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/19.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 19/100
Einige Alltagsbegriffe
Spanten => „gespannt“ seinStrak => „Im Strak liegen“Strakschnur => „schnurstraks“
![Page 20: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/20.jpg)
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
![Page 21: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/21.jpg)
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
![Page 22: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/22.jpg)
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
![Page 23: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/23.jpg)
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
![Page 24: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/24.jpg)
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
![Page 25: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/25.jpg)
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.
![Page 26: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/26.jpg)
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
=
+++−=
+−=
−=
=+++
![Page 27: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/27.jpg)
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
=
+++−=
+−=
−=
![Page 28: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/28.jpg)
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
![Page 29: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/29.jpg)
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
−=≤≤
−≤≤
![Page 30: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/30.jpg)
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
![Page 31: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/31.jpg)
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
![Page 32: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/32.jpg)
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
![Page 33: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/33.jpg)
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
![Page 34: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/34.jpg)
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
![Page 35: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/35.jpg)
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:
![Page 36: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/36.jpg)
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
![Page 37: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/37.jpg)
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
![Page 38: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/38.jpg)
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
![Page 39: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/39.jpg)
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]
![Page 40: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/40.jpg)
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
![Page 41: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/41.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 41/100
Offene B-Splines: Ändern der Ordnung k der Basisfunktionen
![Page 42: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/42.jpg)
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]
![Page 43: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/43.jpg)
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!
![Page 44: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/44.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 44/100
Beispiel: Mehrfache Knotenwerte
![Page 45: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/45.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 45/100
Beispiel: Mehrfache Knotenwerte
![Page 46: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/46.jpg)
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
![Page 47: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/47.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 47/100
Lokale Kontrolle
Lage von B5 wird variiert
![Page 48: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/48.jpg)
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
![Page 49: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/49.jpg)
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
![Page 50: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/50.jpg)
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
![Page 51: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/51.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 51/100
Nächstes Kapitel
NURBS
Zusammenfassung
Wiederholung und Vertiefung
B-Splines
NURBS
Interpolationsverfahren
NURBS
![Page 52: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/52.jpg)
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)
![Page 53: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/53.jpg)
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
![Page 54: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/54.jpg)
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
![Page 55: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/55.jpg)
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
![Page 56: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/56.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 56/100
Einfluß der Weights hi
offen
![Page 57: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/57.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 57/100
Einfluß der Weights hi
periodisch
![Page 58: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/58.jpg)
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 ;-)
![Page 59: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/59.jpg)
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
![Page 60: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/60.jpg)
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
![Page 61: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/61.jpg)
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
![Page 62: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/62.jpg)
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
![Page 63: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/63.jpg)
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)
![Page 64: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/64.jpg)
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
![Page 65: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/65.jpg)
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
![Page 66: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/66.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 66/100
Nächstes Kapitel
NURBS
Zusammenfassung
Wiederholung und Vertiefung
B-Splines
NURBS
BeispielanwendungenBeispielanwendungen
![Page 67: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/67.jpg)
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
![Page 68: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/68.jpg)
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
![Page 69: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/69.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 69/100
Simple Character mit NURBS
![Page 70: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/70.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 70/100
Simple Character mit NURBS
![Page 71: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/71.jpg)
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• …
![Page 72: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/72.jpg)
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/
![Page 73: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/73.jpg)
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
![Page 74: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/74.jpg)
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
![Page 75: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/75.jpg)
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
![Page 76: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/76.jpg)
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
![Page 77: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/77.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 77/100
Computer Assisted Character Animation
Image Interpolation – 2D-Morphing… jedoch biologisch inkorrekt
![Page 78: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/78.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 78/100
Computer Assisted Character Animation
Image Interpolation – 3D-Morphingräumliche Vertexinterpolation
![Page 79: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/79.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 79/100
Facial Animation
Quelle: http://www.alientech.it/hardware/radeon7500/4tecnologie.htm
![Page 80: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/80.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 80/100
Interpolationsverfahren
Pfadanimation
Interpolation von • Position• Orientierung• Skalierungentlang eines Pfades
![Page 81: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/81.jpg)
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
![Page 82: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/82.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 82/100
Zusammenfassung
B-SplinesNURBSInterpolationsverfahrenVor- und Nachteile
![Page 83: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/83.jpg)
SS 2006 - AnimationSplines und Interpolationsverfahren
Dr. Tobias [email protected] 83/100
Ausblick
SchichtverfahrenKinematikH-Anim
![Page 84: Splines - Goethe University Frankfurt€¦ · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner tbreiner@gdv.informatik.uni-frankfurt.de 8/100 Grundlagen](https://reader030.fdocuments.net/reader030/viewer/2022040121/5e9eafa71094c7718a6b764c/html5/thumbnails/84.jpg)
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