26
Computergrafik für den Maschinenbau- WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1 Motivation Wichtige Grundlage der Bildwiedergabe auf dem Bildschirm oder anderen Ausgabegeräten sind Koordinatensysteme und Koordinatentransformationen im IR 2 und IR 3 . Im allgemeinen unterscheidet sich das Koordinatensystem eines Objektes von dem Koordinatensystem des Ausgabegerätes: - Das Koordinatensystem eines Objektes ist oft über geometrische Eigenschaften des Objektes festgelegt. - Das Koordinatensystem des „Bildschirms“ und die Größe der Bildfenster sind durch das Gerät selbst definiert (z. B. Nullpunkt in der linken, oberen Ecke, x- und y-Achsen parallel zu den Bildrändern). - Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert.

§3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-1

3.1 Motivation

Wichtige Grundlage der Bildwiedergabe auf dem Bildschirm oder anderen Ausgabegeräten sind Koordinatensysteme und Koordinatentransformationen im IR2 und IR3.

Im allgemeinen unterscheidet sich das Koordinatensystem eines Objektes von dem Koordinatensystem des Ausgabegerätes:

- Das Koordinatensystem eines Objektes ist oft über geometrische Eigenschaften des Objektes festgelegt.

- Das Koordinatensystem des „Bildschirms“ und die Größe der Bildfenster sind durch das Gerät selbst definiert (z. B. Nullpunkt in der linken, oberen Ecke, x- und y-Achsen parallel zu den Bildrändern).

- Mit (mehreren) Koordinatentransformationen wird das Objektsystem in das Gerätesystem transformiert.

Page 2: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-2

3.1 Motivation

Spezieller:

Objektdefinition, Modeling, Sichtdefinition, Animation, Rendering, Ausgabe, ...

→ verschiedenste Koordinatensysteme

→ Koordinatentransformationen im 2D-, 3D-Raum(Verschiebungen, Skalierungen, Drehungen,...)zur Definition von Position und Orientierung!

→ Matrixoperationen

→ Hardware- und Softwareunterstützung

aber auch: Grundlagenverständnis, Gefühl!

Page 3: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-3

3.2 Koordinatensysteme

local coordinate system, object coordinate system,modeling coordinate system, 3D

- eigenes Koordinatensystem für jedes Objekt sinnvoll

- erleichtert Modellierung und Animation!

- oft über geometrische Eigenschaften des Objektes(z. B. Symmetrien oder ausgezeichnete Richtungen)

oder durch

gewünschte Aktionen des Objektes(z. B. Flug entlang Kurve mit gleichzeitiger Drehung)festgelegt

- findet auch für Lichtquellen Verwendung!

Page 4: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-4

3.2 Koordinatensysteme

world coordinate system, global coordinate system,scene coordinate system, 3D

- hier „lebt“ die gesamte Szene

- Objekte (Objektkoordinatensysteme) werden mittelsTransformationen platziert

- zum Rendern: Umrechnung lokaler Objektkoordinaten in globale Objektkoordinaten

(bei Animationen d. h. animiertem Objekt: dynamisch in jedem Frame!)

- hier ebenso: Definition der Beleuchtung der Szene

Page 5: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-5

3.2 Koordinatensysteme

eye coordinate system, camera coordinate system, 3D

- Konzept: virtuelle Kamera mit entsprechenden Parametern

- im Weltsystem (mittels Transformationen) verankert

- so soll es der Beobachter sehen→ hier wird der Bildausschnitt definiert!

- zum Rendern: i. d. R. Umrechnung globaler Koordinaten in Kamerakoordinaten („Szene vor die Kamera drehen“)

(bei Animationen d. h. animierter Kamera: dynamisch in jedem Frame!)

- Bem.: virtuelle Kamera bestimmt auch Art der Projektion

Page 6: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-6

3.2 Koordinatensysteme

view coordinate system, view plane coordinate system, 2D

- durch die Projektion (Kameratransformation) werden 3D-Koordinaten 2D-Koordinaten in der Bildebene zugeordnet

- Koordinatensystem in der zweidimensionalenBildebene nach der Projektion

- ein Window definiert ein Sichtfenster in der Bildebene

display coordinate system, device coordinate system, 2D

- definiert das Koordinatensystem des Gerätes

- ein Viewport definiert einen Bereich, in dem der Inhalt einesWindows dargestellt werden soll („Windowgröße“, „-position“)

- Window-Viewport-Transformationen sind 2D-2D

Page 7: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-7

3.2 Koordinatensysteme

Überblick / Zusammenspiel:

Objekt A Objekt B

Lokale Koordinatensysteme Weltkoordinaten

Objekt-, Licht- und Kamerapositionen und -orientierungen

1

1

-1

-1

Viewkoordinaten(Window-Koordinaten)

Displaykoordinaten (Viewport-Koordinaten,in Pixel)

Objekt-transformationen

Kamera-transformation

View-to-Display-Transformation,auch Window-Viewport-Transformation(Viewport,Windowgröße,Windowposition)

Page 8: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-8

3.2 Koordinatensysteme

Bemerkungen: 3D-Koordinatensysteme

Wir verwenden (bis auf Widerruf)orthonormierte kartesische Koordinatensysteme!

Wiederholung:

orthonormiert: orthogonal, d. h. Basisvektoren paarweisesenkrecht

+ Basisvektoren normiert (Länge 1)

kartesisch: orthogonal+ Basisvektoren gleiche Länge+ Basisvektoren bilden Rechtssystem

Page 9: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-9

3.2 Koordinatensysteme

Bemerkungen: 3D-Koordinatensysteme (cont.)

Rechts-/Linkssystem?

x

y

z

x

x x

x xx x

z

y

z

y

y

z

y

z

z

yy z y

z

RR

R R

L L

LL

DaumenZei

gefin

ger

Mitte

lfinge

r

Page 10: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-10

3.3 Transformationen

Bemerkung:

Vorsicht vor Verwirrungen!

Für Transformationen existieren mehrere äquivalente Sichtweisen!

- „Transformation der Punkte“

- Koordinatensystem bleibt fest

- Punkt ändert Ort und damit Koordinaten im gleichen System

- beteiligte Koordinatensysteme: 1

A

Page 11: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-11

3.3 Transformationen

Bemerkung: (cont.)

- „Transformation des Koordinatensystems“

- Koordinatensystem wird der inversen Transformationder Punkttransformation unterworfen→ Koordinatensystem bewegt sich!

- Punkt bleibt fest, ändert allerdingsKoordinaten, da in neuem System beschrieben

- beteiligte Koordinatensysteme: eigentlich nur 1(aber: vorher, nachher)

→ „Transformation zwischen Koordinatensystemen“

B

Page 12: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-12

3.3 Transformationen

Bemerkung: (cont.)

- „Transformation mittels Koordinatensystem“

- ein dem Punkt lokales Koordinatensystem wirdmittels der Punkttransformation im globalenKoordinatensystem bewegt

→ (lokales) Koordinatensystem bewegt sich!

- anschließend wird Punkt (mit „alten“ Koordinaten) in bewegtes lokales Koordinatensystem eingetragen

→ Punkt ändert Ort!

- beteiligte Koordinatensysteme: 2

C

hervorragend geeignetfür Modellierung und Animation!

Page 13: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-13

3.4 Transformationen in der Ebene

Es geht los:

Wir verwenden zunächst parallel die Sichtweisen„Transformation der Punkte“ und„Transformation zwischen Koordinatensystemen“

Gegeben:

Koordinatensystem S´ (z. B. Objektsystem)durch S´:(O´; x 1´, x 2´), sowie

Koordinatensystem S (z. B. Weltsystem)durch S:(O; x1, x2)

Wir transformieren S´ nach S, also ändern sich die Punktkoordinaten von Koordinaten im System S zu Koordinaten im System S´.

Page 14: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-14

3.4 Transformationen in der Ebene

Translation / Verschiebung

Voraussetzung: beide (gerichteten) Koordinatenachsen sind jeweils zueinander parallel

O´ t1

t2

x1´

T

x2´

S

O

Punkt

x1

x2

P´P

p 2

p 1

p1´

p2´

Es gilt für das System S´:S´ ergibt sich aus S durch Verschiebung um -T

Es gilt für den Punkt:hat in S die Koordinaten P = (p1,p2)T

hat in S´ die Koordinaten P´ = T + P = (t1,t2)T + (p1,p2)T

T=(t1,t2)T sind die Koordinaten des Ursprung von System S in System S´

B

Page 15: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-15

3.4 Transformationen in der Ebene

Translation / Verschiebung (cont.)

O p 1

p 2

x1

x2

Punkt P

p1´

p2´

Es gilt für den Punkt:Punkt P wird um T verschoben,es entsteht neuer Punkt P´mit P´ = T + P

A

P

T

Punkt P´

Bei beiden Sichtweisen gilt:

Vektor-Matrix-Schreibweise: kurz:p t p1 1 1p t p2 2 2

′ = + ′

P T P′ = +

Page 16: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-16

3.4 Transformationen in der Ebene

Rotation / Drehung

Drehung von S gegenüber S´um Winkel ϕ um gemeinsamenUrsprung O=O´

Es gilt für das System S´:S´ ergibt sich aus S durch Drehung um - ϕ

O=O´ p1´

p2´

p 2

p 1

P

x1´

x 1

x 2

x2´

ϕ

ϕ

l

L

S

B

Bem.: Drehung im math. positiven Sinnverläuft gegen den Uhrzeigersinn!

Geometrie: l / p sin2 = ϕ und L / p cos1

= ϕ

also p cos p sin1

p l2

L1′ = = ⋅ ϕ − ⋅− ϕ

analog p p sin p cos2 1 2′ = ⋅ ϕ + ⋅ ϕ

Es ist

Page 17: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-17

3.4 Transformationen in der Ebene

Rotation / Drehung (cont.)

p1P

p2

′ ′ =

O=O´ p1´

p2´

p 2

p 1

P

x1´

x 1

x 2

x2´

ϕ S´

S

p cos p sin1 2

p sin p cos1 2

⋅ ϕ − ⋅ ϕ = ⋅ ϕ + ⋅ ϕ

p1cos sin

s p2

in cos

ϕ − ϕ = ϕ

⋅ ϕ

R P= ⋅

Vektor-Matrix-Schreibweise: P R P′ = ⋅

mit der (orthogonalen) (Dreh-)Matrix:cos sin

Rsin cos

ϕ − ϕ = ϕ ϕ

es ist |det(R)|=1, es ist A-1 = AT

Spaltenvektoren bilden normiertes Orthogonalsystem,

Page 18: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-18

3.4 Transformationen in der Ebene

Rotation / Drehung (cont.)

O

A

ϕ

x1

x2

p2´

S

p1´ p1

p2Punkt P

Punkt P´

In dieser Sichtweise„Transformation der Punkte“

dreht die Matrix R(ϕ) Punkteum den Winkel ϕ in positiverRichtung in einem festen Koordinatensystem

β

l

l

Page 19: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-19

3.4 Transformationen in der Ebene

Rotation / Drehung (cont.)

Bei der Rotation um einen beliebigen Punkt P1 müssen zusätzlich zwei Translationen gemacht werden:

(1) Translation von P1 in den Ursprung

(2) Rotation um den Ursprung

(3) „Rücktranslation“ von P1 in die ursprüngliche Position

Page 20: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-20

3.4 Transformationen in der Ebene

Rotation / Drehung (cont.)

Bemerkung:

Die Matrixmultiplikation ist i. a. nicht kommutativ, d. h.

Bei hintereinander geschalteten Rotationen muss also darauf geachtet werden, dass die Reihenfolge der Matrizen der der Rotationen entspricht.

Diese Aussage gilt grundsätzlich für jede Art zusammengesetzter Transformationen!

A B B A⋅ ≠ ⋅

Page 21: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-21

3.4 Transformationen in der Ebene

Scaling / Skalierung / Größenveränderung

Soll das System S „vergrößert“ oder „verkleinert“ werden,so muss eine Skalierung durchgeführt werden:

p s p1 1 1

p s p2 2 2

′ = ⋅

′ = ⋅

Vektor-Matrix-Schreibweise:

P S P′ = ⋅mit der Skalierungsmatrix:

s 01S0 s

2

=

Vorsicht! Skalierungen nur sehr sehr sparsam und bedacht einsetzen!

können Orthonormalität, Orthogonalität, kartesisches System, Rechtssystem, Normalenlängen und Normalen ZERSTÖREN!

Page 22: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-22

3.4 Transformationen in der Ebene

Homogene Koordinaten

- entstammen „projektiver Geometrie“

- unsere Motivation: Hintereinanderschaltung von Rotationen, Translationen und Skalierungen führt auf Zusammenhänge wie z. B.

Problem:

- bei der Hintereinanderausführung mehrerer Transformationen stört die Addition von Translationen

- heutige Computergrafikhardware unterstützt aber(zusammengesetzte) Matrixmultiplikationen,wie z. B.

P R S (T R P)′ = ⋅ ⋅ + ⋅

n 3 2 1P M M M M P′ = ⋅ ⋅ ⋅ ⋅ ⋅K

Page 23: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-23

3.4 Transformationen in der Ebene

Homogene Koordinaten (cont.)

→ einheitliche Matrixdarstellung aller Transformationendurch Übergang auf die nächst höhere Dimension

Das Tripel (x, y, w)T (w≠0) stellt die homogenen Koordinatendes Punktes (x/w, y/w)T ∈ IR2 dar.

Da es unendlich viele solcher Darstellungen des selben Punktes gibt, verwendet man i. d. R. die sogenannteStandarddarstellung mit w=1.

Also besitzt ein Punkt (x, y)T ∈ IR2

z. B. die homogenen Koordinaten (x, y, 1)T.

Bem.: Für Punkte im IR3 gilt analoges.

Page 24: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-24

3.4 Transformationen in der Ebene

Homogene Koordinaten (cont.)

Dies erlaubt nun eine „neue“, einheitliche Darstellungunserer Transformationen:

- Translation eines Punktes (x,y)T um den Vektor (t1,t2)T:

1 0 t x10 1 t y

210 0 1

T(t , t )1 2

x t x1y t y

211

+ ′ ′= + =

Page 25: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-25

3.4 Transformationen in der Ebene

Homogene Koordinaten (cont.)

- Rotation eines Punktes (x,y)T um den Winkel ϕ:

- Skalierung eines Punktes (x,y)T mit den Faktoren s1 und s2:

cos sin 0 x

sin cos 0 y

0 0 1 1

ϕ − ϕ ϕ ϕ ⋅

x cos y sin x

x sin y cos y

1 1

′⋅ ϕ − ⋅ ϕ ′= ⋅ ϕ + ⋅ ϕ =

R( )ϕ

s 0 0 x10 s 0 y

210 0 1

s x x1s y y2

11

⋅ ′ ′= ⋅ =

1 2S(s ,s )

Page 26: §3 Objekt- und Sichttransformationen 3.1 Motivationdannen/CGMB06/Kapitel03_1.pdf · Computergrafik für den Maschinenbau - WS 2006/7 §3 Objekt- und Sichttransformationen §3-1 3.1

Computergrafik für den Maschinenbau - WS 2006/7

§3 Objekt- und Sichttransformationen

§3-26

3.4 Transformationen in der Ebene

Homogene Koordinaten (cont.)

- Rotation eines Punktes (x,y)T um einen Punkt P1=(P1x, P1y)T um den Winkel ϕ:

x

y

1

x

y

1

′ ′=

1 0 P1x

0 1 P1y

0 0 1

− − ⋅

cos sin 0

sin cos 0

0 0 1

ϕ − ϕ ϕ ϕ ⋅

1 0 P1x

0 1 P1y

0 0 1

kurz: 1x 1y 1x 1yP T(P ,P ) R( ) T( P , P ) P′ = ⋅ ϕ ⋅ − − ⋅