39
2-1 §2-1 §2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.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. §2-2 §2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1 Motivation Spezieller: Objektdefinition, Modeling, Sichtdefinition, Animation, Rendering, Ausgabe, ... verschiedenste Koordinatensysteme Koordinatentransformationen im 2D-, 3D-Raum (Verschiebungen, Skalierungen, Drehungen,...) zur Definition von Position Hardware- und Softwareunterstützung aber auch: Grundlagenverständnis, Gefühl!

2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-1

§2-1

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.1 MotivationWichtige 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.

§2-2

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.1 MotivationSpezieller:

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

→ verschiedenste Koordinatensysteme

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

→ Hardware- und Softwareunterstützung

aber auch: Grundlagenverständnis, Gefühl!

Page 2: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-2

§2-3

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.2 Koordinatensystemelocal coordinate system, object coordinate system,modeling coordinate system

- 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

-

§2-4

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.2 Koordinatensystemeworld coordinate system, global coordinate system,scene coordinate system

- 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:

Page 3: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-3

§2-5

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.2 Koordinatensystemeeye coordinate system, camera coordinate system

- 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

§2-6

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.2 Koordinatensystemeview coordinate system, view plane coordinate system

- 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

- definiert das Koordinatensystem des Gerätes- ein Viewport definiert einen Bereich, in dem der Inhalt eines

Windows dargestellt werden soll („Windowgröße“, „-position“)

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

Page 4: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-4

§2-7

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.2 KoordinatensystemeÜberblick / Zusammenspiel:

Objekt A Objekt B

Lokale Koordinatensysteme Weltkoordinaten

Objekt-, Licht- und Kamerapositionen und -orientierungen

1

1

-1

-1

ViewkoordinatenDisplaykoordinaten (in Pixel)

Objekt-transformationen

Kamera-transformation

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

§2-8

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.2 KoordinatensystemeBemerkungen: 3D-Koordinatensysteme

Wir verwenden (bis auf Widerruf)orthonormierte kartesische Koordinatensysteme!

Wiederholung:

orthonormiert: orthogonal, d. h. Basisvektoren paarweisesenkrecht

+ Basisvektoren

kartesisch: orthogonal+ Basisvektoren gleiche Länge+ Basisvektoren

Page 5: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-5

§2-9

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.2 KoordinatensystemeBemerkungen: 3D-Koordinatensysteme (cont.)

Rechts-/Linkssystem?

x

y

z

x

x x

x xx x

§2-10

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.3 TransformationenBemerkung:

Vorsicht vor Verwirrungen!

Für Transformationen existieren mehrere

- „Transformation der Punkte“- Koordinatensystem bleibt fest

- Punkt ändert Ort und damit Koordinaten im gleichen System

- beteiligte Koordinatensysteme:

Page 6: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-6

§2-11

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.3 TransformationenBemerkung: (cont.)

- „Transformation des Koordinatensystems“- Koordinatensystem wird der inversen Transformation

der Punkttransformation unterworfen→ Koordinatensystem bewegt sich!

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

- beteiligte Koordinatensysteme:

→ „Transformation zwischen Koordinatensystemen“

§2-12

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.3 TransformationenBemerkung: (cont.)

- „Transformation mittels Koordinatensystem“- ein dem Punkt lokales Koordinatensystem wird

mittels 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:

Page 7: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-7

§2-13

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneEs geht los:

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

Gegeben:

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

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

Wir transformieren S nach S´, also ändern sich Punktkoordinaten von System

§2-14

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneTranslation / VerschiebungVoraussetzung: 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

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

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

sind die Koordinaten des Ursprung von System S in System S´

Page 8: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-8

§2-15

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneTranslation / Verschiebung (cont.)

O p 1

p 2

x1

x2

Punkt P

p1´

p2´

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

P

T

Punkt P´

Bei beiden Sichtweisen gilt:

Vektor-Matrix-Schreibweise: kurz:

§2-16

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneRotation / DrehungDrehung 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

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

Geometrie:also p cos p sin1 2= ⋅ ϕ− ⋅ ϕ

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

Es ist

Page 9: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-9

§2-17

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneRotation / Drehung (cont.)

p1Pp2

′⎛ ⎞′ ⎜ ⎟=

⎜ ⎟′⎝ ⎠

O=O´ p1´

p2´

p 2

p 1

P

x1´

x 1

x 2

x2´

ϕ S´

S

p cos p sin1 2p sin p cos1 2

⋅ ϕ − ⋅ ϕ⎛ ⎞⎜ ⎟=⎜ ⎟⋅ ϕ + ⋅ ϕ⎝ ⎠

p1p2

⎛ ⎞⎜ ⎟⋅⎜ ⎟⎝ ⎠

R P= ⋅

Vektor-Matrix-Schreibweise:

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

Rsin cos

ϕ − ϕ⎛ ⎞= ⎜ ⎟ϕ ϕ⎝ ⎠

Spaltenvektoren bilden normiertes Orthogonalsystem,

§2-18

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneRotation / Drehung (cont.)

O

ϕϕ

p1

p2Punkt P

Punkt P´

x1

x2

p2´

Sp1´

In dieser Sichtweise„Transformation der Punkte“

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

Page 10: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-10

§2-19

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneRotation / 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

§2-20

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneRotation / 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 jedwede Art zusammengesetzter Transformationen!

Page 11: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-11

§2-21

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneScaling / Skalierung / GrößenveränderungSoll das System S „vergrößert“ oder „verkleinert“ werden,so muss eine Skalierung durchgeführt werden:

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

mit der Skalierungsmatrix:

Vorsicht! Skalierungen nur sehr sehr sparsam und bedacht einsetzen!

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

§2-22

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneHomogene 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

- 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′ = ⋅ ⋅ ⋅ ⋅ ⋅…

Page 12: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-12

§2-23

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneHomogene 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

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

§2-24

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneHomogene Koordinaten (cont.)Dies erlaubt nun eine „neue“, einheitliche Darstellungunserer Transformationen:

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

Page 13: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-13

§2-25

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneHomogene Koordinaten (cont.)- Rotation eines Punktes (x,y)T um den Winkel ϕ:

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

§2-26

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneHomogene Koordinaten (cont.)- Rotation eines Punktes (x,y)T um einen Punkt

P1=(P1x, P1y)T um den Winkel ϕ:

Page 14: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-14

§2-27

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.4 Transformationen in der EbeneÜbung: zusammengesetzte Transformationen

x

y

III) Ermitteln Sie allgemein die zusammengesetzten Matrizen für die Transformationen R(ϕ)T(a,b) und T(a,b)R(ϕ).

I) Führen Sie die Transformation R(45°)T(3,1) am Haus aus mittels:a) Sichtweise A,b) Matrixrechnung,c) Sichtweise C.

II) Führen Sie die Transformation R(120°)T(2,2)R(30°)T(2,1) am Haus aus mittels:a) Sichtweise A,b) Sichtweise C.

x

y

§2-28

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumTranslationDie Verschiebung eines Punktes (x,y,z)T

um den Translationsvektor (tx,ty,tz)T

ergibt den Punkt (x‘,y‘,z‘)T mit

Page 15: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-15

§2-29

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumSkalierungEine Skalierung mit den Faktoren s1, s2 und s3für die drei Achsenrichtungen hat die Gestalt

§2-30

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation- alle Rotationen erfolgen im mathematisch

positiven Sinn (d. h. gegen den Uhrzeigersinn)

- Der Betrachter „sitzt“ dabei auf derRotationsachse und schaut in Richtung

- Wir betrachten zuerst die Rotationen um die einzelnen Koordinatenachsen um den Winkel ϕ.→ Transformationsmatrizen

- Wir verwenden Sichtweise A

Page 16: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-16

§2-31

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um die z-AchseDie Rotation eines Punktes (x,y,z)T

um die z-Achse um den Winkel ϕergibt den Punkt (x´,y´,z´)T mit

x

y

z

Beachte: Drehung um Winkel ϕ um z-Achse entspricht

§2-32

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um die x-AchseDie Rotation eines Punktes (x,y,z)T

um die x-Achse um den Winkel ϕergibt den Punkt (x´,y´,z´)T mit x

y

z

Beachte:

Page 17: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-17

§2-33

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um die y-AchseDie Rotation eines Punktes (x,y,z)T

um die y-Achse um den Winkel ϕergibt den Punkt (x´,y´,z´)T mit x

y

z

Beachte:

§2-34

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um eine beliebige Achse

Jede Rotation um eine beliebige Achsekann aus Rotationen um die einzelnenKoordinatenachsen zusammengesetztwerden

Wir entwickeln nun die Rotation RG(α)für die Drehung eines Punktes Pum eine beliebig orientierte Achse G im Raum um einen Winkel α.

Zuerst betrachten wir den Sonderfall, bei dem die Drehachse Gdurch den Ursprung geht und von einem Vektor b (b=(bx,by,bz)T

mit ||b||=1) generiert wird, also .

y

z

x

b=(bx,by,bz)

(bx,by,0)θ

φ

zb

x

y

bb===

IR)( : ∈⋅ λλ bG

Page 18: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-18

§2-35

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um eine beliebige Achse (cont.)

Gesucht sind nun die Koordinaten eines Punktes P nach einer Drehung um die Achse G um den Winkel α.

Vorgehensweise:

Der Punkt P wird so transformiert, daß die Drehachse mit der z-Achse zusammenfällt. Anschließend wird fürdie Drehung um α die Rotationsmatrix verwendet.Hinterher werden die „Hilfstransformationen“wieder rückgängig gemacht.(Bem.: Die Achse G soll nicht kollinear zur z-Achse verlaufen,sonst sind sowieso keine Hilfstransformationen durchzuführen)

Man geht in mehreren Teilschritten vor:

§2-36

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um eine beliebige Achse (cont.)

Schritt 1:Zunächst dreht man so, daß der Vektor b in die (z,x)-Ebenegedreht wird (b´). Aus P entsteht dabei P´ mit P´= Rz(-θ) P, wobei

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛−

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛−

=−

dd

bbbb

d

R

xy

yx

z

0000000000

1

1000010000cossin00sincos

)(θθθθ

θ

y

z

x

b

(bx,by,0)θ d

222yx bbd +=

Page 19: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-19

§2-37

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um eine beliebige Achse (cont.)

Schritt 2:Dann dreht man so, daß der Vektor b´ mit der z-Achse zusammenfällt (b´´). Aus P´ entsteht dabei P´´ mit P´´= Ry(-φ) P´, wobei

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛ −

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛ −

=−

100000001000

10000cos0sin00100sin0cos

)(

z

z

y

bd

db

Rφφ

φφ

φ

y

z

x

φb´b´´

§2-38

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um eine beliebige Achse (cont.)

Schritt 3:Man dreht nun um den Winkel α um die z-Achse. Aus P´´ entsteht dabei P´´´ mit P´´´= Rz(α) P´´, wobei

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛ −

=

1000010000cossin00sincos

)(αααα

αzR

y

z

x

α

b´´

Page 20: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-20

§2-39

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um eine beliebige Achse (cont.)

Schritte 4 und 5:Zum Schluß werden die Rotationen aus den Schritten 1 und 2in umgekehrter Reihenfolge rückgängig gemacht. Aus P´´´ entsteht dabei der gewünschte „gedrehte“ Punkt Q des ursprünglichen Punktes P mittels Q= Rz(θ) Ry(φ) P´´´, wobei

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

100000001000

)(z

z

y bd

db

R φ

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛ −

=

dd

bbbb

dR xy

yx

z

0000000000

1)(θ

§2-40

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumRotation um eine beliebige Achse (cont.)

Ergebnis:

Die Gesamttransformation läßt sich in einem Schritt durch die Verknüpfung aller Transformationen realisieren:

Mb(α) = Rz(θ) Ry(φ) Rz(α) Ry(-φ) Rz(-θ)

Allgemeiner Fall:

Ist die Drehachse eine allgemeine Gerade

so ist vor Schritt 1 und nach Schritt 5 eine entsprechende Translation einzuschieben, also

RG(α) = Rz(θ) Ry(φ) Rz(α) Ry(-φ) Rz(-θ)

Tx y z: ( IR, b 1, a (a ,a ,a ) )G a bλ λ+ ⋅ ∈ = =

Page 21: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-21

§2-41

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumEinschub: Affine TransformationenAlle bisherigen Transformationen (Translation, Rotation, Skalierung) sind Beispiele sogenannteraffiner Transformationen.

Für eine affine Transformation f und zwei Punkte P und Q gilt immer:

f ( P (1 ) Q) für 0 1λ ⋅ + −λ ⋅ = ≤ λ ≤

§2-42

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumEinschub: Affine Transformationen (cont.)

Interpretation:

- das Bild einer Strecke (Strecke von Q nach P)ist unter einer affinen Abbildung

- Teilverhältnisse - hier λ:(1- λ) -

→ Es genügt die Endpunkte Q und P auf der Streckeabzubilden. Zwischenpunkte erhält man durch

f ( P (1 ) Q) f (P) (1 ) f (Q) für 0 1λ ⋅ + − λ ⋅ = λ ⋅ + − λ ⋅ ≤ λ ≤

Bem.: Man beachte, daß unter affinen Abbildungen parallele Linien parallel bleiben.

Page 22: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-22

§2-43

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.5 Transformationen im RaumEinschub: Affine Transformationen (cont.)einige zusätzliche affine 2D-Transformationen:

Reflexion an der Geraden y=x:

Reflexion an der x-Achse:

Reflexion an der y-Achse:

Reflexion am Ursprung:

§2-44

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.6 ProjektionenUnter einer Projektion versteht man allgemein eine Abbildung aus einem Raum der Dimension n in einen Raum mit einer kleineren Dimension als n.

Da ein Bildschirm ein zweidimensionales Ausgabemedium ist,müssen dreidimensionale Objekte in zweidimensionalen Ansichten dargestellt werden. Hierzu wird ein Raumpunkt entlang eines Projektionsstrahls (projector) auf eine vorgegebene Projektions-ebene (projection plane) abgebildet.

Der Projektionsstrahl wird durch das Projektionszentrum und den Raumpunkt festgelegt. Der Schnittpunkt des Projektionsstrahls mit der Projektionsebene bestimmt den projizierten Raumpunkt.

Page 23: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-23

§2-45

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.6 Projektionen Wir betrachten Zentralprojektion (perspektivische Projektion) und Parallelprojektion als Beispiele geometrisch planarerProjektionen.

Bei der Parallelprojektion liegt das Projektionszentrum in einemunendlich fernen Punkt. Im Rahmen der projektiven Geometrie stellt die Parallelprojektion einen Spezialfall der Zentralprojektion dar.(Dies läßt sich z. B. bei der praktischen Umsetzung der Projektionenin Matrixschreibweise gewinnbringend anwenden!)

§2-46

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.6 Projektionen Klassifikation der gängigen Projektionsarten:

Page 24: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-24

§2-47

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.7 Perspektivische Projektion / ZentralprojektionBei der perspektivischen Projektion laufen alle Projektionsstrahlen durch das Projektionszentrum, das mit dem Auge des Beobachters zusammenfällt.Das Verfahren erzeugt eine optische Tiefenwirkung und geht in seinen Anfängen bis in die Malerei der Antike zurück.

§2-48

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.7 Perspektivische Projektion / Zentralprojektion Eigenschaften:- Je zwei parallele Geraden, die nicht parallel zur

Projektionsebene sind, treffen sich in einem Punkt, dem Fluchtpunkt.

- Es gibt unendlich viele Fluchtpunkte, je einen pro Richtung nicht parallel zur Projektionsebene.

- Hervorgehoben werden die Fluchtpunkte der Hauptachsen: z. B. treffen sich Geraden, die parallel zur x-Achse verlaufen, im x-Fluchtpunkt

Perspektivische Projektionen werden nach der Anzahl der Hauptachsen, welche die Projektionsebene schneiden, eingeteilt. So entstehen 1-Punkt-, 2-Punkt- und 3-Punkt-Perspektiven.

Page 25: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-25

§2-49

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.7 Perspektivische Projektion / Zentralprojektion Beispiel:

§2-50

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.7 Perspektivische Projektion / Zentralprojektion Beispiel:

Page 26: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-26

§2-51

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.8 Parallelprojektion Bei der Parallelprojektion ist das Projektionszentrum im Unendlichen, alle Projektionsstrahlen verlaufen parallel ineiner Richtung.Die Parallelprojektion ist zwar weniger realistisch als die Zentralprojektion, es ist aber leichter, exakte Maße aus dem projizierten Bild zu bestimmen.

§2-52

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.8 Parallelprojektion Die Projektionsstrahlen können bei Parallelprojektionen gegen die Projektionsebene senkrecht (→ orthographische Projektionen) oder schiefwinklige (→ schiefe Projektionen) stehen.

Rechtwinklige / senkrechte / orthographische ProjektionHier fällt die Projektionsrichtung mit der Ebenennormalen zusammen. Man unterscheidet Hauptrisse und Axonometrie.Bei den sogenannten Hauptrissen - Grundriss (top view), Aufriß(front view), Kreuzriß (side view) - schneidet die Projektionsebene nur eine Hauptachse. Die Normale der Projektionsebene ist also parallel zu einer der Hauptachsen.

Page 27: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-27

§2-53

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.8 Parallelprojektion Rechtwinklige / senkrechte / orthographische Projektion (cont.)

Beispiel:

§2-54

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.8 Parallelprojektion Rechtwinklige / senkrechte / orthographische Projektion (cont.)

Axonometrie

Bei der Axonometrie ist die Normale der Projektionsebene nicht normal zu einer der Koordinatenachsen.

- Hier werden parallele Linien zwar auf parallele Linien abgebildet, Winkel bleiben allerdings nicht erhalten.

- Abstände können längs der Hauptachsen gemessen werden, allerdings i. a. in jeweils einem anderen Maßstab.

Im häufigsten Fall der isometrischen Axonometrie bildet die Projektionsebene mit allen Hauptachsen den gleichen Winkel.Hier hat man eine gleichmäßige Verkürzung aller Koordinatenachsen.

Page 28: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-28

§2-55

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.8 Parallelprojektion Rechtwinklige / senkrechte / orthographische Projektion (cont.)

Axonometrie (cont.)

Bei der dimetrischen Projektion bildet die Projektionsebene mit zwei Hauptachsen den gleichen Winkel, die Skalierung ist in zwei Achsenrichtungen gleich.

Bei der trimetrischen Projektion bildet die Projektionsebene mit jeder Achse einen anderen Winkel, die Skalierungen sind inden drei Achsenrichtungen verschieden.

§2-56

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.8 Parallelprojektion Schiefe / Schiefwinklige ParallelprojektionenSchiefe Parallelprojektionen entstehen, wenn sich die Projektionsrichtung von der Projektionsebenennormalen unterscheidet.Die beiden gebräuchlichsten schiefen Parallelprojektionen sind die sogenannte Kavalier- und die sog. Kabinettprojektion.

KavalierprojektionDer Winkel zwischen der Projektionsrichtung und der Projektionsebenennormalen beträgt 45°.

Kabinettprojektion / MilitärprojektionDer Winkel zwischen der Projektionsrichtung und der Projektionsebenennormalen beträgt arctan 2 = 63.4°.

Page 29: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-29

§2-57

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.9 Zentralprojektion - UmsetzungDie praktische Umsetzung der perspektivischen Projektion erfolgt je nach Anwendung in unterschiedlichsten Konfigurationen, die mittels geeigneter Transformationen des Koordinatensystems erreicht werden können.

Exemplarisch wählen wir folgendes Setup:

- das Projektionszentrum Z und der Augpunkt fallen zusammen und liegen auf der positiven z-Achse mit Abstand d>0 zum Ursprung, also Z=(0,0,d)

- die Blickrichtung ist die negative z-Achse

- die Bildebene liegt in der (x,y)-Ebene

§2-58

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.9 Zentralprojektion - UmsetzungSetup:

x

y

zZ

P

y

z

Page 30: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-30

§2-59

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.9 Zentralprojektion - Umsetzung Aus dem Strahlensatz folgt: und

Folglich gilt:

Die Zentralprojektion wird in diesem Setup somit durch folgende Matrix beschrieben:

M =

( )d

y yd z

′ = ⋅ =−

( )d

x xd z

′ = ⋅ =−

§2-60

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.9 Zentralprojektion - UmsetzungErweitertes Setup:

- in der Bildebene wird ein Sichtfenster (view window) spezifiziert(Breite, Höhe, Verhältnis Breite zu Höhe); das Sichtfenster ist symmetrisch um den Ursprung angeordnet

- die Projektoren durch die Ecken des Sichtfensters definieren das sogenannte Sichtvolumen (viewing frustum)

- zusätzlich begrenzen zwei zur Bildebene parallele Ebenen (front und back clipping plane) das Sichtvolumen in z-Richtung

- das Sichtvolumen begrenzt den Teil des Raums, derdargestellt werden soll (→ Clipping)

Page 31: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-31

§2-61

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.9 Zentralprojektion - UmsetzungErweitertes Setup: (cont.)

x

y

zZ

P

bh

§2-62

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.10 WindowingBegriffe:

Window: - auch „view window“ (→ erweitertes Setup Zentralprojektion)- definiert Sichtfenster in der Bildebene- definiert, welcher Teilbereich der Szene

abgebildet werden soll

Viewport: - definiert Bildschirmbereich, wo der Inhalteines Windows dargestellt werden soll

Bem.: I. d. R. sind sowohl Window als auch Viewport an den Koordinatenachsen ausgerichtete rechteckige Gebiete.

Die Windowing-Operation (Window-Viewport-Transformation)setzt sich aus elementaren Translationen und Skalierungen zusammen.

Page 32: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-32

§2-63

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.10 Windowing

§2-64

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.10 Windowing

Page 33: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-33

§2-65

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.10 Windowing

xW,yW Punktkoordinaten im WindowxS,yS Punktkoordinaten auf dem Bildschirm

Wxl,Wxr,Wyb,Wyt Koordinaten des WindowsVxl,Vxr,Vyb,Vyt Koordinaten des Viewports im Bildschirmkoordinatensystem

§2-66

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.10 WindowingTransformation in 3 Schritten:

1) Translation in den Koordinatenursprung

2) Skalierung auf gewünschte Größe

3) Translation an gewünschte Stelle

x x WW xly y WW yb

′ = −

′ = −

xr xl

xr xl

yt yb

yt yb

V Vx xW WV V

y yW W

−′′ ′= ⋅−−

′′ ′= ⋅−

S

S

x x Vxly y Vyb

′′= +

′′= +

Page 34: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-34

§2-67

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.11 Clipping von LinienSollen Objekte in der Bildebene innerhalb eines Fensters dargestellt werden, so wird ein Verfahren benötigt, mit dem alle außerhalb des Fensters liegenden Objektteile abgeschnitten werden können (Clipping am Fensterrand).

Wir betrachten im folgenden das Clipping von Linienan einem rechteckigen, achsenparallelen Fenster:

Offensichtlich gibt es 3 Fälle, von denen zwei trivial sind:

- beide Endpunkte innerhalb des Fensters → Linie

- beide Endpunkte oberhalb oder unterhalb oder linksoder rechts des Fensters → Linie

§2-68

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.11 Clipping von LinienFallunterscheidung: (cont.)

- Ansonsten müssen die Schnittpunkte der Linie mit dem Fensterrand anhand der Geradengleichungenberechnet und daraus die sichtbare Strecke bestimmt werden.

Cohen-Sutherland Line-Clipping Algorithmus

Der Algorithmus basiert auf einem leistungsfähigen Verfahrenzur Bestimmung der Kategorie einer Linie (innerhalb,außerhalb, schneidend).

Es sei ein Fenster (xmin, ymin, xmax, ymax) gegeben, dessen begrenzende Geraden die Bildebene in neun Regionen unterteilen.

Page 35: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-35

§2-69

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.11 Clipping von LinienCohen-Sutherland Line-Clipping Algorithmus (cont.)

Jeder Region ist ein eindeutiger 4-Bit-Code zugeordnet, der Auskunft über deren Lage in Bezug auf das Fenster gibt:

gesetzt, falls Region ...

Bit : ... links des Fensters x < xmin

Bit : ... rechts des Fensters x > xmax

Bit : ... unterhalb des Fensters y < ymin

Bit : ... oberhalb des Fensters y > ymax

§2-70

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.11 Clipping von LinienCohen-Sutherland Line-Clipping Algorithmus (cont.)

Abb.: Codes für Fenster und umgebende Regionen

Page 36: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-36

§2-71

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.11 Clipping von LinienCohen-Sutherland Line-Clipping Algorithmus (cont.)

Für die Endpunkte einer Linie bestimmt man nun die 4-Bit-Codes der Regionen, in denen sie sich befinden. Dann gilt:

- Die Linie liegt vollständig außerhalb des Fensters, falls der Durchschnitt ( -Verknüpfung) der Codes beider Endpunkte von Null verschieden ist.

- Die Linie liegt komplett im Fenster, wenn beide Endpunkte den 4-Bit-Code 0000 besitzen ( -Verknüpfung ist Null).

In allen anderen Fällen wird die Linie nacheinander mit den das Fenster begrenzenden Geraden geschnitten und jeweils in zwei Teile zerlegt, die gemäß obiger Vorgehensweise kategorisiert werden. Der dabei außerhalb des Fensters liegende Teil kann sofort eliminiert werden.

§2-72

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.11 Clipping von LinienCohen-Sutherland Line-Clipping Algorithmus (cont.) Beispiele nichttrivialer Fälle:- Linie AD: Codes 0001 und 1000 → Schnittberechnung

Schnitt mit linker Fenstergrenze liefert C → eliminiere AC Punkte C und D liegen oberhalb des Fensters → eliminiere CD

- Linie EH: Codes 0001 und 0010 → SchnittberechnungSchnitt mit linker Fenstergrenze liefert F → eliminiere EF.Für FH ist eine Schnittberechnung mitder rechten Fenstergrenze notwendig, die den Punkt G liefert→ eliminiere GH Punkte F und G liegen innerhalb desFensters → FG wird gezeichnet

Page 37: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-37

§2-73

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.12 Clipping von PolygonenPolygone sind in der Computergrafik als Begrenzung von Flächen von Bedeutung.

→ Polygon-Clipping muss wieder geschlossene Polygone liefern, also ggf. Teile des Fensterrandes mit zurückgeben.

Ein einfacher Algorithmus würde jede Polygonseite gegen das Fenster clippen.

Abb.: Polygon-Clipping durch n-faches Vektor-Clipping

§2-74

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.12 Clipping von PolygonenWenn eine Seite das Fenster verläßt, wird der Austrittspunkt mit dem Wiedereintritt verbunden, wobei z. B. die Ecken zu Problemenführen können.

Abb.: Einfügen von Fenstergrenzen beim Polygon-Clipping

Page 38: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-38

§2-75

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.12 Clipping von PolygonenSutherland-Hodgman Polygon-Clipping Algorithmus

Statt jede Polygonseite gegen alle 4 Fensterseiten zu clippen,führt das vollständige Clippen des Polygons gegen eine Fensterseite nach der anderen zum Ziel.

Die Zwischenergebnisse müssen gespeichert werden.

§2-76

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.12 Clipping von PolygonenSutherland-Hodgman Polygon-Clipping Algorithmus (cont.)

Page 39: 2.1 Motivation - ICSY2-1 2-1 2 Objekt- und Sichttransformationen Computergrafik, Visualisierung & CAD-Technologie - SS 2004 AG Graphische Datenverarbeitung und Computergeometrie 2.1

2-39

§2-77

§2 Objekt- und Sichttransformationen

Computergrafik, Visualisierung & CAD-Technologie - SS 2004AG Graphische Datenverarbeitung und Computergeometrie

2.13 Clipping im 3D-RaumStatt nach der Projektion in die zweidimensionale Bildebene kann das Clipping auch bereits im dreidimensionalen Objektraum durchgeführt werden. Dies hat den Vorteil, dass nur die tatsächlich sichtbaren Objekte transformiert werden müssen.

Das Sichtvolumen begrenzt den Teil des Raums, der dargestellt werden soll. Anhand der Ebenengleichungen der Randflächen des Sichtvolumens kann bestimmt werden, ob ein gegebener Punkt (Linie, Objekt ...) außerhalb oder innerhalb des Sichtvolumens liegt.

Die vorgestellten zweidimensionalen Clipping-Verfahren können auch auf den dreidimensionalen Fall übertragen werden.