computergrafik 2008 oliver vornberger kapitel 16: 3d ...cg/2008/pdf/folie-16.pdf · computergrafik...
TRANSCRIPT
![Page 1: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/1.jpg)
1
Kapitel 16:3D-Repräsentation
Computergrafik 2008Oliver Vornberger
![Page 2: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/2.jpg)
2
Repräsentation + Darstellung
• Datenstruktur zur Beschreibung der Szene
• Lichtquellen
• Synthetische Kamera
• das daraus berechnete 2D-Pixelbild
Rep
äsen
tation
Dar
stel
lung
![Page 3: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/3.jpg)
3
Repräsentationshierarchie
• Elementarobjekt (Kugel, Würfel, Kegel, Pyramide,Zylinder)
• Drahtmodell(Punkte, Kanten)
• Flächenmodell(Punkte, Kanten, Flächen, Normalen)
![Page 4: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/4.jpg)
4
Darstellungshierarchie
• Punktmodell• Drahtmodell• Drahtmodell, verdeckte Kanten entfernt• Flächenmodell, ohne abgewandte Flächen• Flächenmodell, verdeckte Flächen entfernt• Flächenmodell mit Beleuchtung• Flächenmodell mit Beleuchtung + Schatten• Flächenmodell mit Spiegelung + Brechung
![Page 5: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/5.jpg)
5
Datenstruktur für Polyeder
• Punkte
• Kanten
• Flächen
• Normale
• Farbe
• Materialeigenschaften
• Textur
• Bump Map
![Page 6: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/6.jpg)
6
Beispiel: Tetraeder
P1
P2
P4
P2, P1, P4
N4, N5, N6
N4
N5
N6(255,255,0)
P3
F2F1P2→P1:F1
P1→P4:F3
P4→P2:F4
F2
F3
F4
Farbe, Punkte, Kanten, Flächen, Normalen
![Page 7: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/7.jpg)
7
Drahtgitterdarstellung
für jede Fläche F tue {für jede Kante E von F tue {
falls !bearbeitet(E) {falls sichtbar(F)
zeichne E solide;falls !sichtbar(F) {
falls sichtbar(Nachbarfläche(F))zeichne E solide;
falls !sichtbar(Nachbarfläche(F))zeichne E gestrichelt;
}markiere E als bearbeitet;
}}
}
![Page 8: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/8.jpg)
8
Würfel
(+0.5, +0.5, +0.5, 1.0)(+0.5, -0.5, +0.5, 1.0)(-0.5, +0.5, +0.5, 1.0)(-0.5, -0.5, +0.5, 1.0)(+0.5, +0.5, -0.5, 1.0)(+0.5, -0.5, -0.5, 1.0)(-0.5, +0.5, -0.5, 1.0)(-0.5, -0.5, -0.5, 1.0)
Kantenlänge 1Schwerpunkt im Ursprung
![Page 9: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/9.jpg)
9
Zylinder
x
y
z
1
1
1
Schwerpunkt im Ursprung
Zwei Deckflächen mit Radius 1
Eine Mantelfläche der Länge 2
![Page 10: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/10.jpg)
10
Approximation eines Zylinders
α
α = 2·π/n
[cos(ϕ), sin(ϕ), +1,1][cos(ϕ+α),sin(ϕ+α), +1,1][cos(ϕ+α),sin(ϕ+α), -1,1][cos(ϕ), sin(ϕ), -1,1]
ϕ = i·α, i = 0, ..., n-1
[cos(ϕ), sin(ϕ), 0,0][cos(ϕ+α),sin(ϕ+α), 0,0][cos(ϕ+α),sin(ϕ+α), 0,0][cos(ϕ), sin(ϕ), 0,0]
Eckpunkte: Normalen:
![Page 11: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/11.jpg)
11
φ
Kugel
Radius 1 im Ursprung
ϕ
( cos(ϕ), sin(ϕ), , 1)
0 ≤ ϕ < 2·π 0 ≤ φ < π
xy
z
cos(φ)sin(φ)· sin(φ)·
![Page 12: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/12.jpg)
12
Approximation einer Kugel
• wähle n gerade
• bilde n/2 Längenkreise(alle gleich groß)
• bilde n/2-1 Breitenkreise(verschieden groß)
![Page 13: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/13.jpg)
13
Kugel für n=10
n/2 = 5 Längenkreise
n/2-1 = 4 Breitenkreise
2n=20Dreiecke
n·(n/2-2)=30Rechtecke
![Page 14: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/14.jpg)
14
Dreiecke von Kugel
(0, 0,+1, 1),
(sin(α) cos(φ), sin(α) sin(φ), cos(α), 1),
(sin(α) cos(φ+ α), sin(α) sin(φ+ α), cos(α), 1)
φ = k · α, k ∈ {0, ..., n− 1}
α = (2π)/n, n ∈ N gerade
![Page 15: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/15.jpg)
15
Rechtecke von Kugel
φ = k · α, k ∈ N, k < nα = (2π)/n, n ∈ N gerade
(sin(θ) cos(φ), sin(θ) sin(φ), cos(θ), 1)
(sin(θ) cos(φ + α), sin(θ) sin(φ + α), cos(θ), 1)
(sin(θ + α) cos(φ + α), sin(θ + α) sin(φ + α), cos(θ + α), 1)
(sin(θ + α) cos(φ), sin(θ + α) sin(φ), cos(θ + α), 1)
θ = l · α, l ∈ N, 0 < l < (n/2− 1)
![Page 16: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/16.jpg)
16
Normalen von Kugel
φ = k · α, k ∈ N, k < nα = (2π)/n, n ∈ N gerade
(sin(θ) cos(φ), sin(θ) sin(φ), cos(θ), 0)
(sin(θ) cos(φ+ α), sin(θ) sin(φ+ α), cos(θ), 0)
(sin(θ + α) cos(φ+ α), sin(θ + α) sin(φ+ α), cos(θ + α), 0)
(sin(θ + α) cos(φ), sin(θ + α) sin(φ), cos(θ + α), 0)
θ = l · α, l ∈ N, 0 < l < (n/2− 1)
![Page 17: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/17.jpg)
17
Java-Applet zur Wireframe-Projektion
~cg/2008/skript/Applets/3D-wire/App.html
4 Dreiecke6 Vierecke8 Dreiecke12 Fünfecke20 Dreiecke
PlatonischeKörper
![Page 18: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/18.jpg)
18
parametrisierte Fläche
P00
P01
P10
P11
(1-v)·P00+ v·P01 (1-v)·P10+ v·P11
P (u, v) =1Xi=0
1Xj=0
fi(u) · fj(v) · Pi,j
f0(t) = 1− t
f1(t) = t
(1-u)·[ ]+u·[ ]
f0(u)f0(v)P00 + f0(u)f1(v)P01+ f1(u)f0(v)P10 + f1(u)f1(v)P11
![Page 19: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/19.jpg)
19
Bezier-Kurve
P (t) =3Xi=0
Bi,3(t) · Pi
Pi =
⎛⎝ xiyizi
⎞⎠
![Page 20: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/20.jpg)
20
Kubische Bernstein-Polynome
1.0
1.0
0.0
1.0
1.0
0.0 1.0
1.0
0.0
1.0
1.0
0.0
B0,3 = (1− t)3
B2,3 = 3 · t2 · (1− t) B3,3 = t3
B1,3 = 3 · t · (1− t)2
![Page 21: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/21.jpg)
21
Gekrümmte Fläche
P00
P01
P02
P03
P10
P11
P12
P13
P20
P21
P22
P30P31
P32
P33P23
P (u, v) =3Xi=0
3Xj=0
·Bi,3(u) ·Bj,3(v) · Pi,j
![Page 22: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/22.jpg)
22
Drahtgitterdarstellung
for (u=0.0; u<=1.0; u=u+0.1){for (v=0.0; v<=1.0; v=v+0.1){p = new Punkt();for (i=0; i<=3; i++){
for (j=0; j<=3; j++){p = add(p,Bi,3(u)·Bj,3(v)·Pi,j);
}}// Punkt p verarbeiten
}}
![Page 23: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/23.jpg)
23
Flächendarstellung
Zerlege Rechteck in 2 Dreiecke
berechne Normalenvektoren
färbe Dreiecke ein
![Page 24: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/24.jpg)
24
Normalen berechnen• im Approximationspunkt
Bezierkurve nach u ableiten
• im Approximationspunkt Bezierkurve nach v ableiten
• Kreuzprodukt beider Tangenten berechnen
∂P (u, v)
∂v=
3Xi=0
3Xj=0
Bi,3(u) ·B0j,3(v) · Pi,j
∂P (u, v)
∂u=
3Xi=0
3Xj=0
B0i,3(u) ·Bj,3(v) · Pi,j
![Page 25: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/25.jpg)
25
Bezier-Flächen anstückeln
Q01
Q31Q21Q11
Q30
Q00
Q10Q20
Pi2, Pi3 = Qi0, Qi1 collinear
|Pi3−Pi2||Qi1−Qi0| konstantVerhältnis der Abstände
Anschlusspunkte
P12
P02P13
P03
P22
P23
P32
P33
![Page 26: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/26.jpg)
26
Rotationskörper
2D 3D
![Page 27: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/27.jpg)
27
CSG
Constructive Solid Geometry
• Objekte sollen physikalisch realisierbar sein• Objekte haben Volumen, Gewicht• Objekte lassen sich maschinell herstellen
![Page 28: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/28.jpg)
28
\
∩
∪
∪
CSG-Beispiel
![Page 29: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/29.jpg)
29
Schnittmengen
![Page 30: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/30.jpg)
30
Innen und außen
Objekt Boundary Interior
Abstand = 0 vom Objekt undvom Komplement des Objekts
Komplement von Boundarybzgl. des Objekts
![Page 31: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/31.jpg)
31
Regularisierte Verknüpfung
Ab ∩ Bb same
A ∩* B = A ∩ Binterior( )closure( )
Ai ∩ Bb
Ai ∩ Bi Ab ∩ Bi
B
A
B
A
A ∩ B
![Page 32: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/32.jpg)
32
Quadtree
A
C D
B
AB
C D
strukturiere 2D-Fläche durch Baum vom Grad 4
Effizientes ∪ ∩ \ durch Traversieren
![Page 33: Computergrafik 2008 Oliver Vornberger Kapitel 16: 3D ...cg/2008/PDF/folie-16.pdf · Computergrafik 2008 Oliver Vornberger. 2 Repräsentation + Darstellung • Datenstruktur zur Beschreibung](https://reader034.vdokument.com/reader034/viewer/2022042807/5f8017be660ce659fc06fd7b/html5/thumbnails/33.jpg)
33
Octree
strukturiere 3D-Raumdurch Baum vom Grad 8
0 1
2 3
5
7
4
A
A A A A
C
B
C
BBBB
Effizientes ∪ ∩ \ durch Traversieren