• Keine Ergebnisse gefunden

Computer-Graphik II

N/A
N/A
Protected

Academic year: 2021

Aktie "Computer-Graphik II"

Copied!
9
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

C G C C G C

Computer-Graphik II

Parametrisierung

G. Zachmann

Clausthal University, Germany zach@tu-clausthal.de

C G C C G

Frühe Beispiele / Motivation

C

§ Beispiele für Parametrisierung:

§ Parameter t auf der Geraden

§ Knotenvektor bei B-Splines

§ u,v-Parameter bei Tensorproduktflächen

§ Koordinaten auf der Weltkugel

t=0.0

t=0.2 t=0.4

t=0.6 t=0.8 t=1.0

(2)

G. Zachmann Computer-Graphik 2 May 12 SS Parametrisierung 3

§ Definition:

Gegeben eine Menge von Punkten .

Ein Dreiecks-Mesh über V ist eine Menge von Dreiecken , mit , wobei sich jeweils zwei Dreiecke höchstens in genau einer gemeinsamen Kante schneiden.

u v

x y

z

M

V ={P1,. . .,PN} R3

M ={T1,. . .,TN} Ti ={Pj,Pk,Pl} V

C G C C G C

§ Definition:

Eine Parametrisierung ist eine Abbildung

§ Erwünschte Eigenschaften:

§ g(M) soll überschneidungsfrei sein

§ Lineare Reproduktion: wenn M schon in der Ebene liegt, d.h. Pi = (xi, yi, 0), dann soll die Parametrisierungsmethode g(Pi) = (xi, yi), liefern.

§ Die Funktion g kann man durch lineare Interpolation innerhalb der Dreiecke fortsetzen zu einer stückweise linearen Fkt. auf ganz M

§ Vorteil: f = g-1 ist dann auch stückweise linear auf g(M) und trivial zu berechnen

u v

x y

z

M

g f

g : V R2

(3)

G. Zachmann Computer-Graphik 2 Parametrisierung 5

C G C C G C

May 12 SS

§ Notation:

§  Vertices Pi , Parameterpunkte pi

§ 

§ N = n + b

§ Das Randpolygon im Parameterbereich

= pn+1, …, pn+b

§ g(Pi) = pi = (ui, vi)

§ Menge der Kanten:

u v

x y

z

Pi = (xi, yi, zi) M

V = V

I

V

B

V

I

= { P

1

, . . . , P

n

} V

B

= { P

n+1

, . . . , P

n+b

}

E ={(Pi,Pj) |Pi,Pj sind Nachbarn }

C G C C G

Motivierung der Parametrisierungsmethode

C

1. Lege das Randpolygon pn+1, …, pn+b fest

§  Wie bestimmt man die inneren pi ?

§  Idee: "Kanten = Federn"

§  Annahme: Ruhelänge = 0, Potentialenergie = -  D = Federkonstante, s = Länge der Feder

§  Setze also Dij > 0 für alle Kanten zwischen pi und pj, für alle anderen setze Dij = 0

§  Verallgemeinerung: wir lassen Dij Dji zu!

§  Definiere die Gesamtenergie einer Parametrisierung:

§  Ziel: minimiere diese Energie (penalty function) 1 2Ds2

E = Xn

i=1

XN

j=1

Dijkpi pjk2

(4)

G. Zachmann Computer-Graphik 2 May 12 SS Parametrisierung 7

§ Partielle Ableitungen von E sind

§ 0-Setzen liefert

§ M.a.W.: jeder innere Parameterpunkt muß eine konvexe Kombination seiner Nachbarn sein, und zwar

⇥i = 1. . .n: E

pi

=

N

j=1

Dij(pi pj)

i = 1. . .n: pi =

N

j=1

ijpj , mit ij = Dij

N k=1Dik 8i = 1. . .n: pi

XN

j=1

Dij = XN

j=1

Dijpj

C G C C G C

§ Rechte Seite auseinanderziehen liefert

und damit

§ Das sind zwei simple LGSe mit und

pi =

n

j=1

ijpj +

N

j=n+1 ijpj

pi n

j=1

ijpj =

N

j=n+1 ijpj

Au=b und Av=c

A= (aij)n n u= (u1,. . .,un) v= (v1,. . .,vn) aij =

⌅⇤

⌅⇥

1 ,i =j

ij , (pi,pj)⇥E 0 , sonst

bi =

N

j=n+1

ijuj ci =

N

j=n+1 ijvj

, ,

(5)

G. Zachmann Computer-Graphik 2 Parametrisierung 9

C G C C G C

May 12 SS

2. Schritt bei der Parametrisierung: λ's wählen

§  Wähle λ's so, daß

§  Satz:

Werden die λ's wie oben gewählt, dann ist die Matrix A nicht singulär.

§  M.a.W.: die LGSe sind eindeutig lösbar.

i = 1. . .n, j = 1. . .N

8(i,j) 2E : ij >0 , 8(i,j)62E : ij = 0 , XN

j=1

ij = 1

C G C C G

Beweis C

§ Definition:

Eine nxn-Matrix A heißt zerlegbar ⇔ es gibt eine Permutationsmatrix P, so daß

wobei B und D wieder quadratische Matrizen sind.

Sonst heißt sie unzerlegbar.

§ Bemerkung: in unserer Anwendung entspricht P einer Umnummerierung der Vertices / Parameterpunkte.

A=P 1AP = B 0 C D

(6)

G. Zachmann Computer-Graphik 2 May 12 SS Parametrisierung 11

§  In unserem Fall: A hat die spezielle Form wobei

§  Behauptung:

Λ

ist unzerlegbar

§  Beweis:

1. Wäre Λ zerlegbar, dann gäbe es ein Umnummerierung der Vertices, so daß

2. Folge: der Graph (d.h., das Mesh) würde aus 2 nicht- zusammenhängenden Teilen bestehen → W!

= (⇥ij), i,j= 1. . .n, ⇥ij 0

= B 0 0 D

⇥ A=I

C G C C G C

§ Satz aus der Matrizentheorie (o. Bew.):

Sei A eine unzerlegbare Matrix mit nicht-negativen Elementen.

Bezeichne die Zeilensummen mit

Es gelte für A

Sei r der maximale Eigenwert von A.

Dann gilt

si =

n

j=1

aij , i = 1. . .n

r < max

i=1...nsi

i=1...nmin si max

i=1...nsi

(7)

G. Zachmann Computer-Graphik 2 Parametrisierung 13

C G C C G C

May 12 SS

§ Zum Beweis des Satzes, daß A nicht singulär ist:

§ Z.z.:

§ Einsetzen:

§ Annahme: es gäbe solch ein w 0

§ Dann wäre 1 ein Eigenwert von Λ

§ Es gilt:

§ Folge aus dem Satz eben: max. Eigenwert < 1 → W!

Aw = 0 w = 0 (I )w = 0 , w =w

8i = 1. . .n: Xn

j=1

ij 1

C G C C G

Konkrete Wahl der λ's

C

§ Naïve Möglichkeit [1963, graph drawing]:

§ Setze λij = 1/di für jedes Pi , wobei di = Grad des Knotens = Anzahl

seiner Nachbarn

§ M.a.W: jedes pi ist der Schwerpunkt seiner Nachbarn

§ → "Uniforme" Parametrisierung

- Analogie zur uniformen Parametrisierung bei B-Splines

§ Chord length parametrization: setze wij = 1/⇥Pj Pi

(8)

G. Zachmann Computer-Graphik 2 May 12 SS Parametrisierung 15

§ Mean value coordinates (MVC):

§ Setze die λij = den mean value coordinates von Pi bzgl. seiner direkten

Nachbarn Pj (im 3D!)

§ Alternative:

- bestimme für jedes Pi seine direkten Nachbarn Pj - lege eine Ausgleichsebene durch diese Punkte - projiziere diese Punkte auf die Ebene

- bestimme die mean value coordinates von Pi bzgl. Pj in dieser Ebene

§ Jetzt wird auch klar, warum wir λij ≠ λji zulassen wollten!

C G C C G

Anwendung der Parametrisierung: Texturierung C

Es gibt viele weitere Anwendungen der Parametrisierung, denn:

Parametrisierung erlaubt es uns,

auf einem Mesh zu operieren, als ob es flach wäre, d.h., nur mit 2D-Koordinaten .

(9)

G. Zachmann Computer-Graphik 2 Parametrisierung 17

C G C C G C

May 12 SS

Demo

Referenzen

ÄHNLICHE DOKUMENTE

  globale Variable, nur im Vertex-Shader, kann sich pro Vertex ändern.  

  Der Dynamikbereich (dynamic range) eines Bildes ist das Kontrastverhältnis zwischen dem hellsten und dunkelsten Teil..   Der Dynamikbereich eines

3.  Falls der Strahl mehr als ein Objekt schneidet, betrachte nur den ersten Schnittpunkt 4.  Schieße weitere Strahlen vom dort zu allen Lichtquellen (Schattenstrahlen;

  Falls Strahl zur Laufzeit Zelle trifft, die Abbruchkriterium nicht erfüllt, erzeuge dann weitere Levels.

  Man kann innerhalb eines Frames zwischen fixed functionality und eigenem Programm umschalten (aber natürlich nicht innerhalb eines Primitives, also nicht zwischen

  Mittels Texturen können Daten an Shader übergeben werden.  Interpretation bleibt

 Es gibt zu jeder Farbe genau 1 Band um die Mandelbrot-Menge, d.h., es gibt genau 1 Band mit Werten c, deren Folgenglieder schon nach 1 Iteration &gt; 2 wurden, genau 1 Band nach

 Es gibt zu jeder Farbe genau 1 Band um die Mandelbrot-Menge, d.h., es gibt genau 1 Band mit Werten c, deren Folgenglieder schon nach 1 Iteration &gt; 2 wurden, genau 1 Band nach