84
Animation Splines & Interpolationsverfahren Dr. Tobias Chr. Breiner

Splines - Johann Wolfgang Goethe-Universität · SS 2006 - Animation Splines und Interpolationsverfahren Dr. Tobias Breiner [email protected] 20/100 B-Splines-Geschichte

  • Upload
    others

  • View
    45

  • Download
    1

Embed Size (px)

Citation preview

Animation

Splines & Interpolationsverfahren

Dr. Tobias Chr. Breiner

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

QQ

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