KIT-BOOKS/ggg/ggg-cards.typ

2333 lines
84 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#import "@preview/cetz:0.4.0"
/*
* How to use for anki
* -------------------
*
* typst compile ggg-cards.typ output/{0p}ggg-cards.svg
* ls | while read -r a && read -r b; do
* echo "<img src='$a'/>, <img src='$b'/>";
* done > geometrische-grundlagen-der-geometrieverarbeitung.csv
*
* put all images from ./output in your ankis collection.media directory
*
*/
// #set page(margin: 1cm, columns: 2)
#show heading: it => none
#set heading(numbering: "1.1")
#set par(justify: true)
#show math.equation.where(block: false): box
#set math.mat(delim: "[")
#set math.vec(delim: "[")
#let TODO(args) = text(stroke: red, [TODO: #args])
#let transpose(t)={
let output=t.at(0).zip(..t.slice(1))
output
}
#let numberingH(c)={
return numbering(c.numbering,..counter(heading).at(c.location()))
}
#let card(
question: "",
answer: ""
) = [
// #rect(width: 100%)[
#set page("a7", flipped: true, width: auto, header: [
#context {
let h = query(selector(heading.where(level: 1)).before(here())).last()
let s = query(selector(heading.where(level: 2)).before(here())).last()
text(size: 7.8pt)[#smallcaps()[#numberingH(h) #h.body / #numberingH(s) #s.body]]
}
])
#page()[
#strong(question)
]
#page()[
#answer
]
// ]
]
/*
* Grundseite XY
* X = Höhe
* Y = Breite
* Z = Tiefe
* x ^ . z
* | /
* +---> y
*/
#let cube = (
points: (
(0,0,0), // 0
(1,0,0), // 1
(0,1,0), // 2
(1,1,0), // 3
(0,0,1), // 4
(1,0,1), // 5
(0,1,1), // 6
(1,1,1), // 7
),
edges: (
(0,1, orange),
(0,2, orange),
(0,4),
(1,3, orange),
(1,5),
(2,3, orange),
(2,6),
(3,7),
(4,5),
(4,6),
(5,7),
(6,7)
)
)
#let house = (
points: (
(0.0, 0.0, 0.0), // 0
(0.0, 0.0, 0.5), // 1
(0.0, 1.0, 0.0), // 2
(0.0, 1.0, 0.5), // 3
(1.0, 0.0, 0.0), // 4
(1.0, 0.0, 0.5), // 5
(1.0, 1.0, 0.0), // 6
(1.0, 1.0, 0.5), // 7
(0.0, 0.5, 1.0),
(1.0, 0.5, 1.0)
),
edges: (
(0,1, orange),
(0,2, orange),
(0,4),
(1,3, orange),
(1,5),
(2,3, orange),
(2,6),
(3,7),
(4,5),
(4,6),
(5,7),
(6,7),
// Roof
(1,8, orange),
(3,8, orange),
(5,9),
(7,9),
(8,9)
)
)
= Darstellende Geometrie
== Der Satz von Pohlke
#card(
question: [Wie lautet der Satz von Pohlke und wie lasst er sich anwenden?],
answer: [
Jedes Dreibein, das eine Ebene aufspannt, ist Parallelprojektion eines
gleichschenkligen orthogonalen Dreibeins im Raum.
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
for edge in cube.edges {
let transformation = transform-rotate-xz(75deg, -35deg)
let a = mul4x4-vec3(transformation, cube.points.at(edge.at(0)))
let b = mul4x4-vec3(transformation, cube.points.at(edge.at(1)))
// let a = cube.points.at(edge.at(0))
// let b = cube.points.at(edge.at(1))
line((a.at(0), a.at(1)), (b.at(0), b.at(1)), stroke: if (a.at(2) < 0 or
b.at(2) < 0) {gray} else {black})
}
})
])
#card(
question: [Was sind Militar-, Kavalier-und Kabinett­Projektionen?],
answer: [
#table(columns: 3*(1fr,),
[Militar], [Kavalier], [Kabinett],
[
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
for edge in cube.edges {
let transformation = ((cos(45deg),cos(45deg),0),(sin(45deg),-sin(45deg),-1))
let a = mul-vec(transformation, cube.points.at(edge.at(0)))
let b = mul-vec(transformation, cube.points.at(edge.at(1)))
line(a,b, stroke: if (edge.len() > 2) {edge.at(2)} else {black})
}
})
],
[
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
for edge in cube.edges {
let transformation = ((1,0,cos(45deg)),(0,1,sin(45deg)))
let a = mul-vec(transformation, cube.points.at(edge.at(0)))
let b = mul-vec(transformation, cube.points.at(edge.at(1)))
line(a,b, stroke: if (edge.len() > 2) {edge.at(2)} else {black})
}
})
],
[
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
for edge in cube.edges {
let transformation = ((1,0,0.5 * cos(45deg)),(0,1,0.5 * sin(45deg)))
let a = mul-vec(transformation, cube.points.at(edge.at(0)))
let b = mul-vec(transformation, cube.points.at(edge.at(1)))
line(a,b, stroke: if (edge.len() > 2) {edge.at(2)} else {black})
}
})
]
)
])
== Orthogonale Projektionen
#card(
question: [Was sind Othogonal-, isometrische und dimetrische Projektionen?],
answer: [
*Orthogonalprojektion:* Parallelprojektion, bei denen die Projektion-
sstrahlen senkrecht zur Bildebene sind.
*isometrisch:* Orthogonalprojektion, bei der die Bildebene senkrecht zur
Raumdiagonalen ist.
*dimetrisch:* wie isometrisch, aber die tiefe ist nur 1/2
])
#card(
question: [Wie erkennt man, dass die Parallelprojektion des
Einheitswürfels eine Orthogonalprojektion ist?],
answer: [
])
== Grund-und Aufriss
#let scene(xy) = {
import cetz.draw: *
import cetz.matrix: *
let model = house
for edge in model.edges {
let a = vector.add(model.points.at(edge.at(0)), (0.3,0,0))
let b = vector.add(model.points.at(edge.at(1)), (0.3,0,0))
line(mul-vec(xy, a),mul-vec(xy, b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray})
}
line(
mul-vec(xy, (0,-0.5,0)),
mul-vec(xy, (1,-0.5,0)),
mark: (end: "stealth"))
content((), $ x $, anchor: "west")
line(
mul-vec(xy, (0,-0.5,0)),
mul-vec(xy, (0,2,0)),
mark: (end: "stealth"))
content((), $ * (y) $, anchor: "west")
line(
mul-vec(xy, (0,-0.5,0)),
mul-vec(xy, (0,-0.5,1)),
mark: (end: "stealth"))
content((), $ z $, anchor: "south")
circle(
mul-vec(xy, (1.3,0,0.5)), radius: 0.08,
fill: white
)
content((rel: (0,0.3)), $mono(x)$)
circle(
mul-vec(xy, (1.3,0,0)), radius: 0.08,
fill: white
)
content((rel: (0,-0.3)), $mono(x')$)
circle(
mul-vec(xy, (0,0,0.5)), radius: 0.08,
fill: white
)
content((rel: (0,0.3)), $mono(x'')$)
}
#card(
question: [Was sind Grund- und Aufriss, Ordner und Rissachsen?],
answer: [#grid(columns: 2*(1fr,), align: center + horizon,
cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
// let transformation = transform-rotate-xyz(0deg, -20deg, 40deg)
let xy = ((cos(30deg),cos(30deg),0),(-sin(30deg),sin(30deg),1))
scene(xy)
}),
cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
let model = house
let xy = ((0,1,0),(0,0,1))
for edge in model.edges {
let a = vector.add(model.points.at(edge.at(0)), (0,0,0))
let b = vector.add(model.points.at(edge.at(1)), (0,0,0))
line(mul-vec(xy, a),mul-vec(xy, b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray})
}
circle(
mul-vec(xy, (1.3,0,0.5)), radius: 0.08,
fill: white
)
content((rel: (0,0.3)), $mono(x'')$)
line(
mul-vec(xy, (0,-0.5,0)),
mul-vec(xy, (0,-0.5,1)),
mark: (end: "stealth")
)
content((), $ z $, anchor: "south")
line(
mul-vec(xy, (0,-0.5,0)),
mul-vec(xy, (0,1.3,0)),
mark: (end: "stealth")
)
content((), $ * $, anchor: "west")
content((rel: (0,-.1)), $ y $, anchor: "north")
content((.6,1.2), [Aufriss])
/*
* Grundriss
*/
let xy = ((0,1,0),(-1,0,0))
for edge in model.edges {
let a = vector.add(model.points.at(edge.at(0)), (0.3,0,0))
let b = vector.add(model.points.at(edge.at(1)), (0.3,0,0))
line(mul-vec(xy, a),mul-vec(xy, b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray})
}
circle(
mul-vec(xy, (1.3,0,0.5)), radius: 0.08,
fill: white
)
content((rel: (0,0.3)), $mono(x')$)
line(
mul-vec(xy, (0,-0.5,0)),
mul-vec(xy, (1,-0.5,0)),
mark: (end: "stealth")
)
content((), $ x $, anchor: "north")
content((.6,-1.6), [Grundriss])
/*
* Seitenriss
*/
let phi = 60deg
let margin = 1.3
let xy = ((sin(phi),cos(phi),0),(0,0,1))
let transform(v) = vector.add(
mul-vec(
((cos(-phi),-sin(-phi)),(sin(-phi),cos(-phi))),
mul-vec(xy, vector.add(v, (-.5,-.5,margin)))
),
(0.5,-.3 -.5)
)
for edge in model.edges {
let a = vector.add(model.points.at(edge.at(0)), (0,0,0))
let b = vector.add(model.points.at(edge.at(1)), (0,0,0))
line(transform(a),transform(b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray})
}
let transform(v) = vector.add(
mul-vec(
((cos(-phi),-sin(-phi)),(sin(-phi),cos(-phi))),
v
),
(0.5,-.3 -.5)
)
line(transform((-1,margin)),transform((1,margin)))
content((), $ ** $, angle: -phi, anchor: "west")
content((2,1), [Seitenriss])
})
)
$*$, $*$$*$: Rissachsen \
Ordner
])
#card(
question: [Ein Punkt liege in einem durch Grund-und Aufriss
bekannten Dreieck. Konstruieren Sie zum Aufriss des
Punkts seinen Grundriss.],
answer: [
Ziehe Geraden je von Ecke durch Punkt bis gegenüberliegende Kante.
Der Schnittpunkt teilt Kante in zwei Teilverhaltnisse.
Diese Teilverhaltnisse in Grundriss übertragen und Gerade von Schnittpunkt zu
Ecke ziehen. Schnittpunkt aller Geraden ist der Punkt im Grundriss.
])
== +5 (Spezielle) Seitenrisse
#card(
question: [Wie konstruiert man einen Seitenriss?],
answer: [
Man schaut von Modell in Richtung Rissachse.
])
#card(
question: [Zeichnen Sie zum Grund-und aufriss eines Würfels einen
Seitenriss, der eine der Würfel-Diagonalen in wahrer
Länge zeigt.],
answer: [
Erster Seitenriss 45deg. Dann zweiten Seitenriss 45deg zum ersten
Seitenriss. Zeigt Raumdiagonale in wahrere länge.
])
== Kurven auf Flachen
#card(
question: [
Wie berechnet man die Tangentialebenen einer implizit
gegebenen Flache?],
answer: [
$Delta F dot (y - x) = 0$ stellt die Tangentialebene von $cal(F)$ an der Stelle
$x$ dar. (Implizite Flächendarstellung $F(x) = F(x,y,z) = 0$)
])
#card(
question: [Was ist die Kontur und was gilt für eine Kurve, die die
Kontur schneidet im Grundriss?],
answer: [
Wo $x(t)$ die Konturlinie kreuzt, berührt sie im Grundriss den Umriss.
Bei parallelem Licht teilt die Konturlinie die helle und die dunkle Seite
des Modells. Der Schatten = Silhoutte hat einen Umriss.
])
== Durchdringungen
#card(
question: [Zeichnen Sie die Durchdringung von zwei Zylindern, deren
Achsen, die sich im Allg. nicht schneiden, orthogonale
Richtungen haben.
],
answer: [
])
= Affine Geometrie
== Affine Raume und Koordinaten
#card(
question: [Was sind ein affiner Raum, ein affines Koordinatensystem
und affine Koordinaten?],
answer: [
Ein affiner Raum ist eine Punktmenge $cal(A)$ mit einem zugehörigen
Vektorraum $A$ und einer binären surjektiven Operation $-: cal(A) times
cal(A) -> A, (p,q) |-> q - p$
Ein affines Koordinatensystem besteht aus einem Ursprung $a in cal(A)$ und
einer Basis $a_1...a_n in A$. Bezüglich solch eines affinen
Koordinatensystems hat jeder Punkt $x in cal(A)$ eine eindeutige Darstellung
$x = a + a_1 x_1 + ... + a_n x_n$. Die Koeffizienten $x_i$ heißen affine
Koordinaten von $x$ bezüglich des affinene Systems $a a_1...a_n$ und bilden
den Koordinatenvektor $[x_1 ... x_n]^t$ des Punktes $x$.
])
== Baryzentrische Koordinaten
#card(
question: [Was sind baryzentrische Koordinaten, Grundecke,
erweiterte Koordinaten?],
answer: [
Zu einem Punkt $p = p_0 + a_1 x_1 + ... +
a_n x_n$ sind die Koeffizienten $x_0, ..., x_n$ die baryzentrischen
Koordinaten bezüglich des Grundecks $p_0 .. p_n$. Gleichzeitig erweitern sie
die affinen Koordinaten, sodass sich die Summe zu Eins ergänzt.
$
script("erweiterter \nKoordinatenvektor")
vec(1,p) = mat(1,...,1;p_0, ..., p_n) vec(x_0, x)
script("baryzentrischer \nKoordinatenvektor")
$
])
#card(
question: [Wie hängen baryzentrische und affine Koordinaten
zusammen?],
answer: [
$
&p = \
&= p_0 + a_1 x_1 + ... + a_n x_n \
&= p_0 (1 - x_1 - ... - x_n) + (a + a_1) x_1 + ... + (a + a_n) x_n \
&= p_0 x_0 + ... + p_n x_n
$
])
#card(
question: [Was bedeuten baryzentrische Koordinaten bezüglich eines
Dreiecks geometrisch?],
answer: [
#grid(columns: 2*(1fr,),
cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
import calc: *
let a = (0,0)
let b = (3,0.5)
let c = (1.2,2)
circle(a, radius: 0, name: "a")
circle(b, radius: 0, name: "b")
circle(c, radius: 0, name: "c")
let transformation = transpose((a,b,c))
let bary(x) = mul-vec(transformation, vector.div(x, x.sum()))
line(
(bary: (a: 1, b: 0, c: 0)),
(bary: (a: 0, b: 1, c: 0)),
(bary: (a: 0, b: 0, c: 1)),
close: true
)
let p = (.28,.32,.5)
circle((bary: (a: .28, b: .32, c: .5)), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $p$, anchor: "north")
line((bary: (a: 1, b: 0, c: 0)), bary(vector.element-product(p, (0,1,1))))
line(bary((1,0,0)), bary(p), name: "line")
content(
("line.start", 70%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "south",
text($x_1 + x_2$, size: 7pt)
)
line(bary(p), bary(vector.element-product(p, (0,1,1))), name: "line")
content(
("line.start", 30%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "south",
text($: x_0$, size: 7pt)
)
line(bary((0,0,1)), bary(vector.element-product(p, (0,1,1))), name: "line")
content(
("line.start", 50%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "south",
text($x_1$, size: 7pt)
)
content(
("line.start", 99%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "south",
text($:$, size: 7pt)
)
line(bary(vector.element-product(p, (0,1,1))), bary((0,1,0)), name: "line")
content(
("line.start", 50%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "south",
text($x_2$, size: 7pt)
)
circle(("a"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $p_0$, anchor: "north")
circle(("b"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $p_1$, anchor: "south-west")
circle(("c"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $p_2$, anchor: "south-west")
}),
cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
import calc: *
let a = (0,0)
let b = (3,0.5)
let c = (1.2,2)
circle(a, radius: 0, name: "a")
circle(b, radius: 0, name: "b")
circle(c, radius: 0, name: "c")
let transformation = transpose((a,b,c))
let bary(x) = mul-vec(transformation, vector.div(x, x.sum()))
line(
(bary: (a: 1, b: 0, c: 0)),
(bary: (a: 0, b: 1, c: 0)),
(bary: (a: 0, b: 0, c: 1)),
close: true
)
let coord = (.28,.32,.5)
let p = vector.div(coord, coord.sum())
circle((bary(p)), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $p$, anchor: "north")
line(bary((p.at(0) + p.at(1),0,p.at(2))), bary((0,p.at(0) + p.at(1), p.at(2))), name: "line")
line(bary((p.at(0),0,p.at(1) + p.at(2))), bary((p.at(1),p.at(0) + p.at(2), 0)), name: "line")
line(bary((0,p.at(1),p.at(0) + p.at(2))), bary((p.at(2) + p.at(0),p.at(1), 0)), name: "line")
line(bary((1,0,0)), bary((p.at(2) + p.at(0),p.at(1), 0)), name: "line")
content(
("line.start", 50%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "north",
text($x_1 :$, size: 7pt)
)
line(bary((p.at(2) + p.at(0),p.at(1), 0)), bary((p.at(1),p.at(0) + p.at(2), 0)), name: "line")
content(
("line.start", 50%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "north",
text($x_2$, size: 7pt)
)
line(bary((p.at(1),p.at(0) + p.at(2), 0)), bary((0,1,0)), name: "line")
content(
("line.start", 50%, "line.end"),
angle: "line.end",
padding: .05,
anchor: "north",
text($: x_0$, size: 7pt)
)
circle(("a"), radius: 0.08, fill: white)
content((rel: (angle: -20deg, radius: .2)), $p_0$, anchor: "north")
circle(("b"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $p_1$, anchor: "south-west")
circle(("c"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $p_2$, anchor: "south-west")
})
)
])
#card(
question: [Wie erhalt man die baryzentrischen Koordinaten des
Höhenpunkts, des In-und Umkreismittelpunkts eines
Dreiecks?],
answer: [
Umkreismittelpunkt:
$
m = (sans(a) sin(2 alpha) + ... + sans(c) sin(2 gamma)) / (sin(2 gamma) + ... + sin(2 gamma))
$
Inkreismittelpunkt
$
n = (sans(a) a + ... + sans(c) c) / (a + ... + c)
$
Höhenpunkt
$
h = (sans(a) tan(alpha) + ... + sans(c) tan(gamma)) / (tan(alpha) + ... + tan(gamma))
$
])
== Affinkombinationen
#card(
question: [Was sind Affin-und Konvex-kombinationen?],
answer: [
Eine Affinkombinationen ist eine Summe
$
sans(p) &:= sum_(i=0)^m p_i omega_i \
&:= sans(p)_0 omega + (sans(p)_1 - sans(p)_0)omega_1 + ... +
(sans(p)_m - sans(p)_0) omega_m
$
$
omega = omega_0 + ... + omega_m = cases(1 "falls" sans(p) "ein Punkt", 0
"falls" sans(p) "ein Vektor")
$
Eine Affinkombinationen heißt Konvexkombination, falls
$
omega = 1 "und" forall i : omega_i >= 0
$
])
#card(
question: [Was sind konvexe Hüllen und Simplexe?],
answer: [
Die Menge aller Konvexkombinationen bildet die konvexe Hülle der Punktmenge
${sans(p)_0, ..., sans(p)_m}$. Insbesonder heißt die konvexe Hülle eines
Grundecks $sans(p)_0...sans(p)_n$ Simplex und speziell für $n=1$ Strecke,
für $n=2$ Dreieck und für $n=3$ Tetraeder.
])
== Unterraume
#card(
question: [Wie kann man affine Unterraume darstellen?],
answer: [
Die Lösung
$
n vec("", x, "") = vec("", b, "") + overbrace(mat(""; b_1, ..., b_r; ""),r) vec(y,"")r
$
eines inhomogenen linearen Gleichungssystems (LGS)
$
n-r overbrace(mat(""; "", A, ""; ""), n) vec("", x, "") = vec(a, "")
$
vom Rang $n-r$ stellt einen affinen Unterraum des $cal(A)^n$ der Dimension
$r$ dar. Der Parametervektor $y$ stellt $x$ bezüglich des
Unterraum-Koordinatensystems $sans(b)sans(b)_1...sans(b)_r$ dar.
])
#card(
question: [Was ist eine Hyperebene und wie stellt man sie mit
baryzentrischen Koordinaten dar?],
answer: [
Eine Hyperebene ist ein (n-1)-dimensionaler Untervektorraum des $cal(A)^n$.
Sie hat eine Darstellung der Form $u(x) := u_1 x_1 + ... + u_n x_n + u_0 =
0$.Aus dieser linearen Gleichung lässt sich leicht eine Darstellung in
baryzentrischen Koordinaten bezüglich der Punkte mit den erweiterten
Koordinatenvektoren $[1 1 0...0]^t, [1 0 1 0...0]^t, ..., [1 0...0 1]^t$
gewinnen. Sei $1 = x_0 + ... + x_n$. Dann ist
$
u(x) &= u_0 ( x_0 + ... + x_n) + u_1 x_1 + ... + u_n x_n \
&= u_0 x_0 + (u_0 + u_1) x_1 + ... + (u_0 + u_n) x_n \
&= 0
$
])
#card(
question: [Wie kann ein Würfel in 6 Simplexe gleichen Volumens
zerlegt werden?],
answer: [
#grid(columns: 2*(1fr,),
[
$0 <= x <= y <= z <= 1$ \
$0 <= x <= z <= y <= 1$ \
$0 <= y <= x <= z <= 1$ \
$0 <= y <= z <= x <= 1$ \
$0 <= z <= x <= y <= 1$ \
$0 <= z <= y <= x <= 1$ \
],
[
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
let transformation = ((1,0,-0.5 * cos(45deg)),(0,1,0.5 * sin(45deg)))
for edge in cube.edges {
let a = mul-vec(transformation, cube.points.at(edge.at(0)))
let b = mul-vec(transformation, cube.points.at(edge.at(1)))
line(a,b, stroke: black)
}
line(
mul-vec(transformation, (0,0,0)),
mul-vec(transformation, (1,0,0)),
mul-vec(transformation, (1,1,1)),
mul-vec(transformation, (0,1,1)),
close: true,
stroke: green,
fill: green.transparentize(75%)
)
line(
mul-vec(transformation, (0,0,0)),
mul-vec(transformation, (0,1,0)),
mul-vec(transformation, (1,1,1)),
mul-vec(transformation, (1,0,1)),
close: true,
stroke: blue,
fill: blue.transparentize(75%)
)
line(
mul-vec(transformation, (0,0,0)),
mul-vec(transformation, (0,0,1)),
mul-vec(transformation, (1,1,1)),
mul-vec(transformation, (1,1,0)),
close: true,
stroke: red,
fill: red.transparentize(75%)
)
})
Einfache Freudenthal-Triangulierung
]
)
])
== Gitter
#card(
question: [Was kann ein regelmaBiges Dreiecksgitter in
baryzentrischen Koordinaten beschrieben werden?],
answer: [
$
x = a alpha + b beta + c gamma
text("mit") 1 = alpha + beta + gamma
$
Die Isolinien $alpha = i, beta = j, gamma = k$ für $i, j, k in ZZ$ beschreiben
ein regelmaBiges Gitter.
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
circle((0,0), radius: 0, name: "a")
circle((1,0), radius: 0, name: "b")
circle((cos(60deg),sin(60deg)), radius: 0, name: "c")
line((bary: (a: 2, b: -2, c: 1)), (bary: (a: 1, b: -2, c: 2)))
content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = 1$, angle: -60deg, anchor: "west")
line((bary: (a: 2, b: -1, c: 0)), (bary: (a: 0, b: -1, c: 2)))
content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = 0$, angle: -60deg, anchor: "west")
line((bary: (a: 2, b: 0, c: -1)), (bary: (a: -1, b: 0, c: 2)))
content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = -1$, angle: -60deg, anchor: "west")
line((bary: (a: 1, b: 1, c: -1)), (bary: (a: -2, b: 1, c: 2)))
content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = -2$, angle: -60deg, anchor: "west")
line((bary: (a: 0, b: 2, c: -1)), (bary: (a: -2, b: 2, c: 1)))
line((bary: (a: -1, b: 3, c: -1)), (bary: (a: -2, b: 3, c: 0)))
line((bary: (a: 1, b: -2, c: 2)), (bary: (a: -2, b: 1, c: 2)))
content((rel: (.1,0)), $gamma = 2$, anchor: "west")
line((bary: (a: 2, b: -2, c: 1)), (bary: (a: -2, b: 2, c: 1)))
content((rel: (.1,0)), $gamma = 1$, anchor: "west")
line((bary: (a: 2, b: -1, c: 0)), (bary: (a: -2, b: 3, c: 0)))
content((rel: (.1,0)), $gamma = 0$, anchor: "west")
line((bary: (a: 2, b: 0, c: -1)), (bary: (a: -2, b: 4, c: -1)))
content((rel: (.1,0)), $gamma = -1$, anchor: "west")
line((bary: (a: 2, b: -2, c: 1)), (bary: (a: 2, b: 0, c: -1)))
content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 0$, angle: 60deg, anchor: "west")
line((bary: (a: 1, b: -2, c: 2)), (bary: (a: 1, b: 1, c: -1)))
content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 1$, angle: 60deg, anchor: "west")
line((bary: (a: 0, b: -1, c: 2)), (bary: (a: 0, b: 2, c: -1)))
content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 2$, angle: 60deg, anchor: "west")
line((bary: (a: -1, b: 0, c: 2)), (bary: (a: -1, b: 3, c: -1)))
content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 3$, angle: 60deg, anchor: "west")
line((bary: (a: -2, b: 1, c: 2)), (bary: (a: -2, b: 4, c: -1)))
circle(("a"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $a$, anchor: "south-west")
circle(("b"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $b$, anchor: "south-west")
circle(("c"), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $c$, anchor: "south-west")
})
])
#card(
question: [Was ist die Coxeter-Freudenthal-Kuhn­Triangulierung?],
answer: grid(columns: 2, gutter: 10pt, [
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
let perspective = ((1,0,cos(45deg)),(0,1,sin(45deg)))
for edge in cube.edges {
let a = mul-vec(perspective, cube.points.at(edge.at(0)))
let b = mul-vec(perspective, cube.points.at(edge.at(1)))
line(a,b, stroke: black)
}
let a = (0,0,0)
let b = (1,0,0)
let c = (0,0,1)
let d = (0,1,0)
let transformation = transpose((a,b,c,d))
let bary(x) = mul-vec(transformation, vector.div(x, x.sum()))
line(
mul-vec(perspective, bary((0,0,0,1))),
mul-vec(perspective, bary((0,0,1,0))),
mul-vec(perspective, bary((-1,1,1,0))),
mul-vec(perspective, bary((-1,1,0,1))),
fill: red.transparentize(70%),
stroke: red,
close: true
)
line(
mul-vec(perspective, bary((0,1,0,0))),
mul-vec(perspective, bary((0,0,1,0))),
mul-vec(perspective, bary((-1,0,1,1))),
mul-vec(perspective, bary((-1,1,0,1))),
fill: green.transparentize(70%),
stroke: green,
close: true
)
line(
mul-vec(perspective, bary((0,1,0,0))),
mul-vec(perspective, bary((0,0,1,0))),
mul-vec(perspective, bary((0,0,0,1))),
fill: blue.transparentize(70%),
stroke: blue,
close: true
)
line(
mul-vec(perspective, bary((-1,1,1,0))),
mul-vec(perspective, bary((-1,1,0,1))),
mul-vec(perspective, bary((-1,0,1,1))),
fill: blue.transparentize(70%),
stroke: blue,
close: true
)
circle(mul-vec(perspective, a), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $a$, anchor: "south-west")
circle(mul-vec(perspective, b), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $b$, anchor: "south-west")
circle(mul-vec(perspective, c), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $c$, anchor: "south-west")
circle(mul-vec(perspective, d), radius: 0.08, fill: white)
content((rel: (angle: 20deg, radius: .2)), $d$, anchor: "south-west")
})
], [
Der Würfel links ist in sechs Tetraeder zerlegt. Unterteilt man alle Würfel
eines raumfüllenden regelmäßigen Würfelgitters parallel zu der links gezeigten
Unterteilung, erhält man die Coxeter-Freudenthal-Kuhn-Triangulierung des
Raums.
]))
== Affine Abbildungen
#card(
question: [Was ist eine affine Abbildung und die ihr zugeordnete
lineare Abbildung?],
answer: [
Eine Abbildung $Phi: cal(A) -> cal(B)$ zwischen affinen Räumen heißt affin,
wenn sie alle Affinkombinationen invariant lässt, d.h. wenn sie mit
Affinkombinationen vertauschbar ist: $Phi(sum sans(p)_i x_i) = sum(Phi
sans(p)_i) x_i$
$
Phi(sans(x)) = Q bb(x) &:= sans(q)_0 x_0 + ... + sans(q)_n x_n \
&= sans(q)_0 + (sans(q)_1 - sans(q)_0) x_1 + ... +
(sans(q)_n - sans(q)_0) x_n \
&=: sans(b) + B sans(x)
$
Die Abbildung $phi(sans(v)) = B sans(v)$ ist die $Phi$ zugeodnete lineare
Abbildung $sans(A) -> sans(B)$ für $sans(v) = sans(y) - sans(x),
Phi(sans(y)) - Phi(sans(x)) = B sans(v)$
])
#card(
question: [Wie lassen sich beide mit baryzentrischen Koordinaten
und Matrizen beschreiben?],
answer: [
Der Vektor $sans(v)$ hat den baryzentrischen Koordinatenvektor $bb(v) =
bb(y) - bb(x)$. Somit haben die affine Abbildung $Phi$ und die zugeodnete
lineare Abbildung $phi$ bezüglich baryzentrischen Koordinaten die gleiche
Matrixdarstellung:
$
Phi(sans(x)) = Q bb(x) = mat(sans(q)_0,...,sans(q)_n) bb(x)\
phi(sans(v)) = Q bb(v) = mat(sans(q)_0,...,sans(q)_n) bb(v)
$
])
== Parallelitat und Teilverhaltnisse
#card(
question: [Wie sind Parallelitat und Teilverhaltnisse definiert?],
answer: [
Zwei affine Unterräume $cal(U) = sans(p) + sans(U)$ und $cal(V) = sans(q) +
sans(V)$ der $cal(A)^n$ heißen parallel, falls $sans(U) subset sans(V)$ oder
$sans(V) subset sans(U)$. Die linearen Räume $sans(U)$ und $sans(V)$ heißen
auch Richtungen der affinen Unterräume.
Zwei Strecken $sans(a b)$ und $sans(c d) subset cal(A)^n$ heißen parallel,
wenngilt
$
sans(d) - sans(c) = (sans(b) - sans(a)) rho, rho in bb(R) \{0}
$
Sind Strecken parallelr, schreiben wir auch
$
(sans(d) - sans(c)) / (sans(b) - sans(a)) := rho
$
wobei der Faktor $rho$ das Teilverhältnis der beiden Strecken ist.
])
== Verallgemeinerte baryzentrische Koordinaten
#card(
question: [Was sind verallgemeinerte baryzentrische Koordinaten
und wie lassen sie sich alle darstellen?],
answer: [
Sei $sans(p_1 ... p_n)$ ein nicht-degeneriertes Polygon $cal(P)$ im
$cal(A)^2$.
$
sans(p) = sum sans(p)_i sans(v)_i "und"
1 = sum sans(v)_i
$
heißen die $v_i$ verallgemeinerte baryzentrische Koordinaten von
$sans(p)$ bezüglich $cal(P)$. Sie bilden einen verallgemeinerten
baryzentrischen Koordinatenvektor $bb(v) = [v_1 ... v_n]^t$.
])
== Wachspresskoordinaten
#card(
question: [Was sind die Wachspresskoordinaten und welche
Eigenschaften haben sie?],
answer: [
$a_i := det mat(1,1,1;sans(p), sans(p)_i, sans(p)_(i+:))$ und
$d_i := det mat(1,1,1; sans(p)_(i-z),sans(p)_i,sans(p)_(i+1))$
Wachspresskoordinaten $omega_i := lambda_i / (sum_j lambda_j)$ wobei
$lambda_j = d_j / (a_i a_(i-1))$
Die Wachspresskoordinaten kann man als Affinkombinationen der $sans(b)_i$
darstellen. Bemerkenswerterweise gilt für der Wachspresskoordinatenvektoren
$bb(w) = [omega_1 ... omega_n]^t$, dass $[sans(b)_1 ... sans(b)_n] bb(w) =
bb(w)$. Somit ist $bb(w)$ ein Eigenvektor der Matrix $B = [sans(b)_1 ...
sans(b)_n]$ zum Eigenwert 1.
])
== Mittelwertkoordinaten
#card(
question: [Was sind die Mittelwertkoordinaten und wo sind sie alle
positiv?],
answer: [
Für das Polygon $sans(p p_1 ... p_n)$ sind die Mittelwertkoordinaten $mu_i$
eines Punkts $sans(p)$ so definiert:
$
mu_i := tau_i / (sum_j tau_j), "wobei" tau_i := 1 / c_i (tan delta_(i-1) +
tan delta_i)
$
Der Kern eines Polygons besteht aus allen Punkten im Inneren, von denen aus
der gesamte Polygonrand gesehen werden kann, wenn der Polygonrand als
undurchsichtig angesehen wird. Die Mittelwertkoordinaten der Punkte im Kern
sind alle positiv.
])
= Euklidische Geometrie
#card(
question: [Was ist ein euklidischer Raum und was unterscheidet ihn
von einem affinen?],
answer: [
Ein euklidischer Vektorraum ist ein reeller Vektorraum mit einem
Skalarprodukt und ein euklidischer Raum ist ein affiner Raum, dessen
zugeordneter Vektorraum euklidisch ist.
$cal(E)^n$ bezeichnet den euklidischen $cal(A)^n$ und er Abstand zweier
Punkte $sans(p)$ und $sans(q)$ ist die Länge des Vektors $sans(q) - sans(p)$
als auch die Länge der Strecke $sans(p q)$.
])
== Euklidische Bewegungen
#card(
question: [Was gilt für ihre Matrizen?],
answer: [
Ein affines Koordinatessystem $sans(a a_1 ... a_n)$ ist ein euklidisches
Koordinatensystem, wenn die Vektoren $sans(a)_1,...,sans(a)_n$ eine
orthonormale Basis bilden.
Stellen $sans(u), sans(v)$ zwei Vektoren zezüglich einer orthonormalen Basis
dar, ist $sans(u)^t sans(v)$ ihr Skalarprodukt und allgemeiner lässt sich
jedes Skalarprodukt mit Hilfe einer symmetrischen, positiv definiten Matrix
A als $sans(u)^t A sans(v)$ schreiben. Hier setzen wir für den $cal(E)^n$
immer ein euklidisches Koordinatensystem voraus.
])
#card(
question: [Wie kann man die Drehachse einer Rotation im
dreidimensionalen Raum bestimmen?],
answer: [
Eigenvektor der Matrix $[sans(b)_1, sans(b)_2, sans(b)_3]$
Eine affine Abbildung $Phi(x) = sans(b) + B sans(x)$ ist eine Bewegung, wenn
B orthonormal ist.
])
== Euler-Winkel
#card(
question: [Was sind die Euler-Winkel und wie verwendet man sie?],
answer: [
Jede Rotation im $cal(E)^3$ kann aus einer Rotation um die z-Achse mit dem
Winkel $alpha$, eine Rotation um die gedrehte x-Achse (= $x'$-Achse) mit dem
Winkel $beta$ und eine Rotation um die zweimal gedrehte z-Achse mit dem
Winkel $gamma$ zusammengesetzt werden. Diese Rotation sind die
Euler-Drehungen um die Euler-Winkel $alpha, beta, gamma$.
#text(stroke: red)[TODO: verwendung]
])
== Quaternionen
#card(
question: [Was sind Quaternionen, konjugierte und normierte?],
answer: [
Quaternionen oder hyperkomplexe Zahlen sind Elemente
$
bb(q) = (q_0, ..., q_3) = q_0 dot 1 + q_1 dot i + q_2 dot j + q_3 dot k
$
des $bb(R)^4$ mit den Multiplikationsregeln
#table(columns: 5,
$dot$, $1$, $i$, $j$, $k$,
$1$, $1$, $i$, $j$, $k$,
$i$, $i$, $-1$, $k$, $-j$,
$j$, $j$, $-k$, $-1$, $i$,
$k$, $k$, $j$, $-i$, $-1$
)
d.h. für ein Quaternionenprodukt
$
bb(a) dot bb(b) &= (a_0, ..., a_3) dot (b_0, ..., b_3) \
&= (a_0 b_0 - a_1 b_1 - a_2 b_2 - a_3 b_3) \
& + (a_0 b_1 + a_1 b_0 + a_2 b_3 - a_3 b_2) dot i \
& + (a_0 b_2 - a_1 b_3 + a_2 b_0 + a_3 b_1) dot j \
& + (a_0 b_3 + a_1 b_2 - a_2 b_1 + a_3 b_0) dot k \
$
und insbesondere $bb(1) := (1, 0, 0, 0)$ und alle $bb(q)$ ist
$
bb(1) dot bb(q) = bb(q) dot bb(1)
$
Das konjugierte Quaternion zu $bb(q)$ ist
$
bb(q)^* = (q_0, -q_1, -q_2, -q_3)
$
Es heißt Einheitsquaternion oder normiertes Quaternion, falls
$
norm(bb(q))^2 = norm(bb(q)^*)^2 := sum q_i^2 = 1
$
])
#card(
question: [Wie hangen sie mit Rotationen zusammen?],
answer: [
Sei $bb(r) = (cos phi / 2, a^t, sin phi / 2) $ ein normiertes Quaternion,
d.h. $a^2 = 1$.
Dann gilt
$
bb(r) dot (0 x^t) dot bb(r)^* = (mat(0, ""; "", R) vec(0, x))^t
$
$bb(r) = (1, 0, 0, )$ stellt die Identität dar\
$bb(r)^*$ die inverse Rotation \
$bb(p r)$ die Komposition der durch $bb(p)$ und $bb(r)$ gegebene Rotation
])
#card(
question: [Was lasst sich mit Quaternionen, Euler­Winkeln und
Drehmatrizen jeweils besser gut darstellen oder
durchführen?],
answer: [
*Euler-Winkel*: interpolation, anwendung auf pkt\
*Matirx*: anwendung auf pkt\
*Quaternion*: Konkatenation, Normierung, Interpolation
])
== Zweibögen
#card(
question: [Was sind Zweibogen und Kontaktelemente?],
answer: [
Ein Zweibogen (Biarc) ist eine glatte Kurve bestehend aus zwei orientierten
Kreisbögen. Dabei dürfen Radien unendlich sein, d.h. Kreisbögen können
Strecken sein.
Ein Punkt $p$ einer Kurve bildet zusammen mit dem zugehörigen
Tangentenvektor $t, norm(t) = 1$, ein Kontaktelement der Kurve.
])
#card(
question: [Wodurch ist ein Zweibogen eindeutig festgelegt?],
answer: [
Zu zwei gegebenen Punkten $a$ und $b$ und einem Kontaktelement $c t$ gibt es
genau einen Zweibogen von $a$ nach $b$ mit der Tangentenrichtung $t$ um
Übergangspunkt $c$ zwischen den beiden Bögen.
])
#card(
question: [Was erfüllen die drei Endkontaktelemente der beiden
Bogen eines Zweibogens?],
answer: [
])
#card(
question: [Wie bekommt man alle Zweibogen zu gegebenen
Anfangs-und Endkontaktelement?],
answer: [
Im $cal(E)^2$ seien $a u$ und $c w$ zwei beliebige Kontaktelemente mit den
Tangenten $cal(A) := a + u bb(R)$ und $cal(C) := c w bb(R)$. Dann existiert
ein eindeutiger Kreis $K$ durch $a$ und $b$ sodass
$
phi := angle cal(A K) = angle cal(C K)
$
Dieser Kreis $cal(K)$ ist der Ort $cal(B)$ (d.h. die Menge) Übergangs- oder
Bindepunkte aller Zweibögen mit den Endkontaktelementen $a u$ und $c w$.
])
#card(
question: [Wie übertragen sich planare Zweibogenkonstruktionen
auf sphärische?],
answer: [
Die Sätze gelten genauso auch auf der Sphäre $S^2$ anstelle des $cal(E)^2$.
Echte Zweibögen auf $S^2$ sind räumlich: Ihre Bögen liegen in verschiedenen
Ebenen. Außerdem liegt jeder räumliche Zweibogen auf einer (eideutigen)
Sphäre.
])
== Volumen
#card(
question: [Wie ist das Volumen eines Parallelepipeds definiert?],
answer: [
Jedes k-dimensionale Parallelepiped
$
P_k := sans(p) + A_k [0,1]^k
$
hat die Höhe $gamma_(k k)$ über $P_(k-1)$ und das Volumen
$
"vol"_k P_k &:= gamma_11 ... gamma_(k k) \
&= sqrt(det(Gamma_k^t B_k^t B_k Gamma_k)) \
&= sqrt(det(A_k^t A_k))
$
])
#card(
question: [Warum lassen euklidische Bewegungen Volumina invariant?
],
answer: [
Euklidische Bewegungen lassen Volumina invariant. Affinitäten
$
Phi(x) = c + C x: cal(E)^n -> cal(E)^n
$
ändern das n-dimensionale Volumina um den Faktor $abs(det C)$ und lassen
Verhältnisse n-dimensionaler Volumina invariant. (Weil C orthonormal/eine
Drehung und keine Skalierung ist?)
])
== Alternierendes Produkt
#card(
question: [Wie ist das alternierende Produkt definiert und welche
Eigenschaften hat es?],
answer: [
Die Determinate einer $n times n$-Matrix $A = [a_1 ... a_n]$ kann mit Hilfe
ihrer Kofaktoren $v_i = (-1)^(i+1) det A_(i 1)$ berechnet werden, wobei
$A_(i 1)$ die Matrix A ohne ihre $i$-te Zeile und erste Spalte ist; denn mit
dem Vektor $bb(b) = [v_1 ... v_n]$ der Kofaktoren git $det A = a_1^t v$.
Das alternierende Produkt der Vektoren $a_2,...,a_n$ ist der Vektor $a_2 and
... and a_n := v$.
- $a_i^t v = 0$ für $i = 2, ..., n$
- $"vol"_n A = "vol"_(n-1) [a_2 ... a_n] dot abs(a_1^t) / norm(v) => norm(v)
= "vol"_(n-1) [a_2 ... a_n]$
- $det [v a_2 ... a_n] = v^2 >= 0$, d.h. die Folge $v a_2 ... a_n$ ist
positiv orientiert.
Für $n=2$: $and vec(a,b) = vec(b, -a)$\
Für $n=3$: Kreuzprodukt $a_2 and a_3 = a_2 times a_3$
])
== Lot und Abstand
#card(
question: [Wie lassen sich die Abstände eines Punkts von einer
Ebene und die zweier Geraden berechnen?],
answer: [
Gesucht: Fußpunkt $f$ und Abstand $d$
*Punkt $p$ zu Ebene $U: d(x) = u^t x - u = 0$, sodass $f = p - d u$*:
$
u^t f &= u^t p - d = u \
=> d &= u^t p - d \
&= d(p)
$
*Punkt $p$ zu Ebene $U: x = a + [a_2 ... a_n]y =: a + A y$, sodass $f = p - d u$*:
$
d = (det mat((p-a), A))/("vol"_(n-1) A)
= (det mat((p-a), A)) / norm(a_2 and ... and a_n) \
f = p - (a_2 and ... and a_n)/(norm(a_2 and ... and a_n)) d
$
*Gerade $cal(A): x = a + a_1 lambda$ zu Gerade $cal(B): x = b + b_1 lambda$:*
$
d = ("vol"_3 mat((b-a), a_1, b_1))/("vol"_2 mat(a_1, b_1))
$
Der Fußpunkt liegt in der Ebene $cal(E) : u^t (x - a) = 0$
$
... => f = b + b_1 (u^t (a-b)) / (u^t b_1)
$
])
= Perspektivische Darstellungen
== Homogene Koordinaten
#card(
question: [Was sind homogene Koordinten, Fernpunkte und der
Unpunkt?],
answer: [
Ein Punkt $x = vec(x_1, dots.v, x_n) in cal(A)^n$ hat die homogenen
Koordinatnvektoren $bb(x) = vec(1, x) xi, xi != 0$, die die Vielfachen des
erweiterten Koordinatenvektors von $x$ sind.
Die Mengen der Vielfachen eines Vektors $v$ ohne den Nullvektor $o$ werden
als ein (einziger) Fern- oder uneigentlicher Punkt mit den homogenen
Koordinatenvektoren $bb(v) = vec(0, v) phi, phi != 0$ betrachtet. Jedoch
zählt der Unpunkt $bb(o) = vec(0, o) phi, phi != 0$ nicht zu den
Fernpunkten.
Vielfache eines homogenen Koordinatenvektors $bb(x)$ stellen denselben Punkt
$x$ dar. Wir bezeichnen dies mit $bb(x) ~ bb(y) :<=> bb(x) = bb(y)phi, phi
!= 0$, und $bb(x) lt.tri x$
])
#card(
question: [Geben Sie die Gleichungsdarstellung einer Hyperebene in
erweiterten Koordinaten an und leiten Sie daraus die
homogene Darstellung ab!],
answer: [
Eine Hyperebene $cal(H): u^t x + u_0 = mat(u_0, u^t) vec(1,x) = 0$ hat die
homogene Darstellung $bb(u)^t bb(x) = 0$.
])
#card(
question: [Was ist die Fernhyperebene?],
answer: [
Die projektive Hyperebene $cal(F): [1 0 ... 0] bb(x) = 0$ besteht aus den
Fernpunkten des $cal(A)^n$. Sie heißt Fern(hyper)ebene oder im $cal(A)^2$
auch Ferngerade.
] )
== Zentralprojektion
#card(
question: [Was ist eine Zentralprojektion?],
answer: [
Bei einer Zentralprojektion sind nicht parallel, sondern gehen alle durch ei
nZentrum $a$, das auch Auge genannt wird.
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
let transformation = ((1,0.5 * cos(30deg),0),(0,-0.5 * sin(30),1))
let d = 1.3
let x = (2,2,1)
circle((0,0), radius: .08)
content((), [Auge], padding: .1, anchor: "north")
line(
mul-vec(transformation, (0,0,0)),
mul-vec(transformation, (0,0,1)), mark: (end: "stealth"))
content((), $z$, anchor: "south")
line(
mul-vec(transformation, (0,0,0)),
mul-vec(transformation, (3,0,0)), mark: (end: "stealth"))
content((), $x$, anchor: "west")
line(
mul-vec(transformation, (2,0,0)),
mul-vec(transformation, (2,3,0)), mark: (end: "stealth"))
content((), $y$, anchor: "west")
line(
mul-vec(transformation, (2,2,0)),
mul-vec(transformation, x))
content((), $bb(x)$, padding: .1, anchor: "west")
circle(mul-vec(transformation, x), radius: .08)
line(
mul-vec(transformation, (0,0,0)),
mul-vec(transformation, (0,d,0)))
content((), $delta$, anchor: "west")
line(
mul-vec(transformation, (0,d,0)),
mul-vec(transformation, (1.5,d,0)),
mul-vec(transformation, (1.5,d,1)),
mul-vec(transformation, (0,d,1)),
close: true
)
line(
mul-vec(transformation, (0,0,0)),
mul-vec(transformation, x))
let y = mul-vec(((0,0,1,0),(0,d,0,0),(0,0,0,d)),(1,) + x)
circle(mul-vec(transformation, (y.at(1)/y.at(0),d,y.at(2)/y.at(0))), radius: .08)
content((), $bb(y)$, padding: .1, anchor: "north")
})
Wir wählen das Koordinatessystem so, dass der Ursprung im
Projektionszentrum, dem Auge $a$ liegt und die Bildebene parallel zur $x
z$-Ebene ist. Das Koordinatessystem der Bildebene sei
$
vec(0, delta, 0), vec(1,0,0), vec(0,0,1)
$
Dann hat $x = [x y z]^t$ das Bild
$
y := vec(xi, eta) = vec(x, z) delta / y
$
])
#card(
question: [Wie kann sie mit Matrizen beschrieben werden?],
answer: [
In homogenen Koordinten sieht dies so aus:
$
bb(y) = vec(1, xi, eta) omega = vec(y, x delta, z delta) phi = mat(0, ,
1,;0, delta,,;0,,,delta) vec(1,x,y,z) phi = P bb(x)
$
])
#card(
question: [Was ist die Fokaldistanz und was ist der Hauptpunkt?],
answer: [
Die Fokaldistanz $delta$ ist der Abstand der Bildebene zur Kamera und
kontrolliert die Bildgröße.
Der Punkt $h$ der Bildebene, wo der Projektionsstrahl/das Auge senkrecht zur
Bildebene ist, heißt Hauptpunkt.
])
== Kamerabewegung
#card(
question: [Wie stellt sich eine Zentralprojektion in Matrizen dar,
wenn das Objekt- und Kamerasystem verschieden sind?],
answer: [
#TODO()[Bild]
Im Allgemeinen ist das Kamerasystme mit dem Koordinatenvektoren $dash(x) =
[xi delta eta]^t$ des Objektsystems bezogen, sondern über eine allgemeine
Koordinatentransformation $x = c + [c_1 c_2 c_3] dash(x)$, wobei sich die
$c$'s wie $x$ auf das Objektsystem beziehen. Wir fassen die
Koordinatentransformation mit Matrizen als $x = c + C dash(x)$ oder kürzer
als $bb(x) = mat(1, o^t; c, C) dash(bb(x)) = bb(C) dash(bb(x))$ zusammen.
Das zentralperspektivische Bild von $x$ hat somit die homogene Darstellung
$bb(y) = bb(T P C)^(-1) bb(x) = bb(A)$, wobei $bb(T)$ zusätzlch eine
Translation des Bildsystems beschreibt.
Weil $C$ orthonormal ist, folgt $bb(C)^(-1) = mat(1, o^t; -C^t c, C^t)$.
])
== Fluchtpunkte
#card(
question: [Was versteht man unter Fluchtpunkten, de Spur, Horizont,
Verschwindungsebene und Fluchtdreieck?],
answer: [
Eine Gerade
$
cal(G): x &= p + v lambda
bb(x)&= vec(1, p) + vec(0, v) lambda = bb(p) + bb(v) lambda
$
wird auf die Gerade $cal(G)': bb(A p) + bb(A v) lambda$ abgebildet, wobei
$bb(A)$ die Abbildungsmatrix ist. Dabei stellt $bb(A v)$ das Bild des
Fernpunkts $f_(cal(G))$ von $cal(G)$ dar. Es ist der Fluchtpunkt von
$cal(G)$ bzw. von $cal(G)'$.
Die Fluchtpunkte (der Geraden) einer Ebene $cal(E)$ bilden deren
Fluchtgeraden oder, wenn $cal(E)$ horizontal ist, deren Horizont.
Der Schnitt einer Ebene $cal(E)$ mit der Bildebene heißt die Spur von
$cal(E)$. Sie ist parallel zu Fluchtgeraden von $cal(E)$.
Die Ebene $cal(V)$ parallel zur Bildebene durch das Auge heißt
Verschwindungsebene. Sie wird auf die Ferngerade der Bildebene abgebildet,
aber das Auge hat kein Bild.
])
#card(
question: [Wann sind Fluchtpunkte Fernpunkte?],
answer: [
Ist $cal(G)$ parallel zur Bildebene, ist ihr Fluchtpunkt ein Fernpunkt der
Bildebene.
])
#card(
question: [Wo schneiden sich Spur und Fluchtgeraden einer Ebene?],
answer: [
])
== Der Hauptsatz
#card(
question: [Erklären Sie, was die Spalten und Elemente der Matrix
einer Zentralperspektive bedeuten!],
answer: [
Eine Zentralperspektive hat die Darstellung $bb(y) = bb(A x)$ und
ausführlicher
$
vec(epsilon, y) rho = mat(1 alpha, epsilon_1 alpha_1, epsilon_2 alpha_2,
epsilon_3 alpha_3; a alpha, a_1 alpha_1, a_2 alpha_2, a_3 alpha_3) vec(e,
x)
$
wobei $epsilon, epsilon_1, epsilon_2, epsilon_3, e in {0,1}$ und $alpha_i !=
0 != alpha$. Dabei wird vorausgesetzt, dass $[1, o]^t$ nicht in der
Verschwindungsebene liegt.
Die Spalten von $bb(A)$ repräsentieren das Bild des Objektsystems, $a$ das
Bild des Ursprungs $[1, o]^t$ und $[epsilon_i, a_i]^t$ den Fluchtpunkt
$f_i$ der i-Achse.
])
== Kameradaten
#card(
question: [ Wie erhält man die Verschwindungsebene, den
Hauptrichtungsvektor, den Hauptpunkt und die
Fokaldistanz aus der Matrix einer Zentralperspektive?],
answer: [
Die Verschwindungsebene hat die Gleichung $
epsilon rho &= epsilon_1 alpha_1 x + epsilon_2 alpha_2 y + epsilon_3 alpha_3 z + alpha e \
&= [alpha epsilon_1 alpha_1, epsilon_2 alpha_2, epsilon_3,
alpha_3] vec(e, x, y, z) \
&= 0
$
und den nicht normierten Normalenvektor $n:= [epsilon_1 alpha_1, epsilon_2,
alpha_2, epsilon_3 alpha_3]$. Seine Vielfachen $n rho$ mit $rho != 0$ sind
die Hauptrichtungsvektoren. Das Auge $c$ wird durch den Lösung von $bb(A c)
= bb(o)$ repräsentiert und der Hauptpunkt durch $bb(h) = bb(A) vec(0, n)$,
woraus $h = sum a_i lambda_i$ mit $lambda_i = (epsilon_i alpha_i^2)/(n^t n)$
folgt.
Die Fokaldistanz $delta$ lässt sich aus dem Hauptrichtungsvektor $n$ und
einem Vektor $v$ im Winkel von 45° zu $n$ ermitteln, da sie dem Abstand von
$f lt.tri bb(A v)$ zu $h$ entspricht.
])
#card(
question: [Warum ist der Hauptpunkt der Höhenpunkt des
Fluchtdreiecks?],
answer: [
Jede $(3 times 4)$-Matrix $bb(A) = mat(1, alpha_1, alpha_2, alpha_3; a, a_1
alpha_1, a_2 alpha_2, a_3 alpha_3)$ vom Rang 3 repräsentiert eine
3-Punkt-Perspektive genau dann, wenn $h = sum a_i a_i^2 / (a_1^2 + a_2^2 +
a_3^2)$
der Höhepunkt des Dreiecks $a_1 a_2 a_3$ ist.
Diese Bedingung ergibt sich aus Abschnitt 4.6 und sie beinhaltet zwei
Bedingungen, nämlich je eine für beide Koordinaten von h. Im Übrigen ist das
Fluchtdreieck einer 3-Punkt-Perspektive immer spitzwinklig, da alle $alpha_i
> 0$, weswegen der Hauptpunkt im Dreiecksinneren liegt.
])
== Fluchtpunkte des Systems
#card(
question: [Was ist eine i-Punkt-Perspektive und wie kann man
erkennen, ob und welche i-Punkt-Perspektive eine Matrix
darstellt?],
answer: [
Die Matirx $bb(A) = mat(epsilon_0 alpha, epsilon_1 alpha_1, epsilon_2
alpha_2, epsilon_3 alpha_3; a alpha, a_1 alpha_1, a_2 alpha_2, a_3 alpha_3)$
(vom Rang 3), repräsentiert eine i-Punkt-Perspektive, wobei $i = epsilon_1 +
epsilon_2, epsilon_3$.
0-Punkt: $epsilon_i = 0$ \
1-Punkt: $epsilon_2 = 1, norm(a_1) = norm(a_3), a_1 bot a_3$ \
2-Punkt: $epsilon_1 = epsilon_2 = 1, a_3 bot a_2 - a_1, norm(a_3) sqrt(a_1^1
+ a_2^2) = abs(alpha_1 alpha_2) norm(a_2 - a_1)$ \
3-Punkt: $epsilon_{1,2,3} = 1, h = sum a_i alpha_i^2 / (alpha_1^2 +
alpha_2^2 + alpha_3^2)$ der Höhenpunkt des Dreiecks $a_1 a_2 a_3$ ist.
])
== Urbilder
#card(
question: [Wie berechnet man das Urbild eines Punkts und einer
Geraden unter einer Zentralperspektive?],
answer: [
Möchten wir bei bekannter Matrix $bb(A)$ einer Zentralprojektion zu einem
gegbenen Bildpunkt $y$ den Urbildpunkt $x$ bestimmen, haben wir diese drei
Gleichungen für vier Unbekannte zu läsen: $bb(A) vec(1, x) omega = vec(1,
y)$.
Eine Gerade $cal(V): bb(v)^t bb(y) = 0$ der Bildebene hat die Ebene $cal(U)
: bb(v)^t bb(A) vec(1,x) xi = bb(u)^t vec(1, x) xi = 0$ als Urbild und, wenn
wir $xi$ jeweils streichen, erhalten wir über zwei Geraden durch $y$ zwei
Gleichungen für die rdei Koordinaten des gesuchten Punkts $x$. Weitere
Geraden durch $y$ sind von den ersten beiden abhängig und führen nur zu
abhängigen Gleichungen.
])
== Kamerakalibrierung
#card(
question: [Wie kann man die Matrix bestimmen, die zu einem
zentralperspektivischen Bild gehört?],
answer: [
Die Gleichung $bb(v)^t bb(A) = sum v_i a_(i j) x_j = 0$ ist linear in den 12
Matrixelemenden $a_(i j)$. Kennt man sechts Pankte $x$ und ihre Bilder $y$,
kann man $bb(A)$ folglich daraus berchenen.
Da $bb(A)$ homogen ist und zwei Bedingungen genügt, reichen zur Bestimmung
von $bb(A)$ sogar nur 4,5 Pankte, d.h. vier Punkte mit je zwei Geraden und
ein Punkt mit einer Geraden. Mehr zu kennen hilft aber numerische Fehler
entgegenzuwirken. Man bekommt dann überbestimmte Gleichungssysteme, die mit
Hilfe der Methode der kleinsten Quadrate gelöst werden.
])
#card(
question: [Wie viele Freiheitsgrade hat man für diese Matrizen und
was sind ihre Dimensionen?],
answer: [
])
= Projektive Geometrie
== Projektive Räume
#card(
question: [Was ist ein projektiver Raum?],
answer: [
Die eigentlichen und uneigentlichen Punkte des $cal(A)^n$ bilden den
projektiven Raum $cal(P)^n$ bzw die projektive Erweiterung des $cal(A)^n$.
])
#card(
question: [Was sind die projektiven Unterräume?],
answer: [
Der $cal(P)^n$ wird durch die Menge der eindimensionalen Unterräume des
$bb(R)^(n+1)$ repräsentiert und die projektiven Unterräume von $cal(P)^n$
durch die linearen Unterräume des $bb(R)^(n+1)$. Die eindimensionalen
Unterräume des $bb(R)^(n+1)$ stellen die Punkte des $cal(P)^n$ dar.
Stellt ein Unterraum $U subset bb(R)^(n+1)$ den Unterraum $U subset
cal(P)^n$ dar, gilt $dim cal(U) := dim U -1$. Ein Unterraum $cal(U)$ der
Dimension $-1,0,1,2,n-1$ ist leer oder wird Punkt, eine Gerade, eine Ebene
bzw. eine Hyperebene genannt.
Der Schnitt zweier projektiven Unterräume $cal(U)$ und $cal(V)$ ist der
projektive Unterraum $cal(U) inter.sq cal(V) := cal(U) inter cal(V)$ und
ihre Verbindung $cal(U) union.sq cal(V)$ der kleinste projektive Unterraum,
der $cal(U)$ und $cal(V)$ enthält.
])
#card(
question: [Warum schneiden sich zwei Geraden einer projektiven
Ebene immer?],
answer: [
(Alle Hyperebenen gehen durch den Ursprung des $cal(A)^n$)
])
== Projektive Koordinaten
#card(
question: [Wann heißt eine Punktfolge projektiv unabhängig?],
answer: [
Die Folge $bold(p)_0 ... bold(p)_r$ heißt projektiv unabhängig genau dann,
wenn die Folge $bb(p)_0...bb(p)_r subset bb(R)^(n+15$ linear unabhängig ist.
])
#card(
question: [Wie ist die projektive Hülle von Punkten definiert?],
answer: [
Die projektive Hülle oder der Aufspann von $bold(p)_0 ... bold(p)_r$ ist der
projektive Unterraum $<bold(p)_0 ... bold(p)_r> := { bold(x) | bb(x) in
[bb(p)_0 .. bb(p)_r] bb(R)^(r+1) \\ { bb(o) } }$.
])
#card(
question: [Wie sind projektive Koordinaten definiert?],
answer: [
Wir bemereken, dass jedes projektive Grundeck im $cal(P)^n$ eindeutig ein
Koordinatensystem im $bb(R)^(n+1)$ bestimmt. Für die Angabe von Koordinaten
im $cal(P)^(n+1)$ reicht es, nur ein Grundeck im $cal(P)^n$ anzugeben,
sodass wir uns ganz vom $bb(R)^(n+1)$ lösen können. Wir nennen die
Koordinaten eines Punktes deshalb auch projektive Koordinaten bezüglich
eines Grundecks. Sind $x_i$ die projektiven Koordinaten eines Punkts
$bold(x)$ bezüglich $bold(p)_0 ... bold(p)_n bold(p)$ schreiben wir auch
$bold(x) = bold(p)_0 x_0 + ... + bold(p)_n x_n$.
])
#card(
question: [Was ist eine projektive Skala?],
answer: [
Seien $x_0$ und $x_1$ die projektiven Koordinaten eines Punkts $bold(x)$
bezüglich eines Grundecks $bold(p)_0 bold(p)_1 bold(p)$. Dann bilden die
Quotienten $x = x_1 / x_0$ für alle $bold(x) in bold(p)_0 union.sq
bold(p)_1$ die projektive Skala bezüglich $bold(p)_0 bold(p_1) bold(p)$.
])
#card(
question: [Wann ist eine projektive Skala eine affine?],
answer: [
Ist $bold(p) bold(p)_0 bold(p)_1$ ein projektives Grundeck in einer
projektiv erweiterten affinen Gerade mit Fernpunkt $bold(p)_1$, ist die
porjektive Skala $x$ bezüglich $bold(p) bold(p)_0 bold(p)_1$ auch eine
affinie Skala, die den affinen Koordinaten der Punkte $bold(x)$ bezüglich
des affinen Koordinatensystems $bold(p)_0 (bold(p) - bold(p)_0)$ entspricht.
])
== Koordintentransformation
#card(
question: [Wie können projektive Koordinaten in projektive
Koordinaten bezüglich eines anderen Grundecks
transformiert werden?],
answer: [
Seien $bold(p)_0 ... bold(p)_n bold(p)$ und $bold(q)_0 ... bold(q)_n
bold(q)$ Grundecke des $cal(P)^n$ und sei
$
bb(p) = & [ bb(p)_0 ... bb(p)_n] bb(e) = bb(P e) \
bb(q) = & [ bb(q)_0 ... bb(q)_n] bb(e) = bb(Q e) \
bb(x) = & bb(P x)_p = bb(Q x)_q
$
Dann ist $bb(x)_q = bb(Q)^(-1) bb(P) bb(x)_p$ eine
Koordinatentransformation. Dabei repräsentiert $bb(Q)^(-1) bb(P)$ die
Grundpunkte $bold(p)_i$ bezüglich des Grundecks $bold(q)_0 ... bold(q)_n
bold(q)$.
])
#card(
question: [Wie ändern sich bei einer Koordinatentransformation die
Koordinaten von Hyperebenen?],
answer: [
Eine Hyperebene $cal(U): bb(u)^t bb(x) = 0$ hat bezüglich des Gundecks
$bold(q)_0... bold(q)_n bold(q)$ die Darstellung $bb(u)^t bb(Q) bb(x)_q =:
bb(u)^t_q bb(x)_q = 0$. Also ist $bb(u)_q = bb(Q)^t bb(u)$ die
Transformation des homogenen Hyperebenen-Koordinatenvektors $bb(u)$ in den
bezüglich des Grundecks $bold(q)_0... bold(q)_n bold(q)$.
])
#card(
question: [Warum kann jede Hyperebene eines projektiven Raums
als Fernhyperebene aufgefasst werden?],
answer: [
Die Grundpunkte $bold(q)_1, ..., bold(q)_n$ liegen in der Hyperebene
$cal(U)$ genau dann, wenn $bb(u)^t_q ~ [1 0 ... 0]$. D.h. bezüglich des
Grundecks $bold(q)_0 ... bold(q)_n bold(q)$ kann $cal(U)$ als die
Fernhyperebene einer projektiven Erweiterung des $cal(A)^n$ aufgefasst
werden. Da $cal(U)$ eine beliebige Hyperebene ist, kann auch jede andere
Hyperebene als Fernhyperebene aufgefasst werden.
])
== Der Dualraum
#card(
question: [Was ist der Dualraum eines projektiven Raums?],
answer: [
Die Hyperebenen des $cal(P) := cal(P)^n$ bilden einen projektiven Raume, der
Dualraum von $cal(P)^n$ genannd und mit $cal(P)^*$ bezeichnet wird.
])
#card(
question: [Was heißt alles dual zueinander?],
answer: [
Ein Punkt $bold(u)$ und eine Hyperebene $cal(U)$ med dem glichen homogenen
Koordinatenvektoren $bb(u)$ heißen dual zueinander.
])
#card(
question: [Wie kann man den Schnitt von n Hyperebenen des $cal(P)^n$ berechnen?],
answer: [
Ein Unterraum $cal(A) := bold(a)_0 union.sq ... union.sq bold(a)_k subset
cal(P)$ geht beim Dualisieren in den Unterraum $cal(A)^* := cal(A)_0
union.sq ... union.sq cal(A)_k subset cal(P)^*$ über, aber meist stellt man
den Unterraum $cal(A)^*$ durch den polaren Unterraum $cal(A)̧̃° := cal(A)_0 inter
... inter cal(A)_k subset cal(P)$ dar und bezeichnet auch $cal(A)°$ als den
zu $cal(A)$ dualen Unterraum.
Die Hyperebene $cal(U) = bold(a)_1 union.sq ... union.sq bold(a)_n : bb(u)^t
= [bb(a)_1 and ... and bb(a)_n]^t$ ist dual zum Punkt $cal(U)^* = cal(A)_1
inter.sq ... inter.sq cal(A)_n = { bold(u)}: bb(u) = bb(a)_1 and ... and
bb(a)_n$.
])
== Projektive Abbildungen
#card(
question: [Was ist eine projektive Abbildung?],
answer: [
Jede lineare Abbildung $phi : bb(R)^(m+1) -> bb(R)^(n+1), bb(x) |-> bb(A
x)$, induziert eine projektive Abbildung $Phi: cal(P)^m -> cal(P)^n$, die
durch die gleiche Matrix $bb(A)$ wie $phi$ dargestellt wird: $bold(y) =
Phi(bold(x)) : bb(A x) = [bb(a)_0 .. bb(a)_m] bb(x)$.
Dabei repräsentieren die Koordinatenvektoren $bb(a)_0...bb(a)_m (bb(a)_0 +
... bb(a)_m)$ die Bilder des Koordinaten-Grundecks.
])
#card(
question: [Wann hat eine projektive Abbildung einen ausnahmeraum
und wie ist er definiert?],
answer: [
Die projektive Abbildung $Phi$ heißt regulär oder Projektivität, wenn
$bb(A)$ eine reguläre Matrix ist. Der Kern der Matrix repräsentiert den
Ausnahmeraum $cal(A)_Phi := "kern" bb(A) = {bb(x) | bb(A x) = bb(o)}$ von
$Phi$. Es ist der Raum, der durch $Phi$ auf den Unpunkt abgebildet wird.
])
#card(
question: [Auf was bilden projektive Abbildungen projektive Unterräume ab?],
answer: [
Projektivitäten bilden projektive Unterräume auf projektive Unterräume ab
und allgemein bildet eine projektive Abbildung $Phi$ jeden projektiven
Unterraum $cal(U)$ ohne den Ausnahmeraum auf einen projektiven Unterraum ab:
$Phi: cal(U) \\ cal(A)_Phi |-> Phi(cal(U) \\ cal(A)_Phi)$.
Zu zwei Grundecken $bold(p)_0...bold(p)_n bold(p)$ und
$bold(q)_0...bold(q)_n bold(q)$ zweier projektiver Räume gibt es genau eine
Projektivität $Phi$, die das erste auf das zweite abbildet, d.h. die
$Phi(bold(p)_i) = bold(q)_i$ und $Phi(bold(p)) = bold(q)$ erfüllt.
])
== Kollineationen und Korrelationen
#card(
question: [Was sind Kollineationen und Korrelationen?],
answer: [
Projektivitäten $Phi: cal(P) -> cal(P)$ heißen Kollineationen, weil sie
kollineare Punkte auf kollineare Punkte abbliden, und Projektivitäten $Phi:
cal(P) -> cal(P)^*$ heißen Korrelationen.
])
#card(
question: [Wie ist Dualität allgemein definiert?],
answer: [
Die Dualitätsdefinition besagt, dass eine Figur, d.h. ein aus Unterräumen
eines projektiven Raums besthendes Gebilde, dual zu einer zweiten ist, wenn
sie durch eine Korrelation in diese überführt werden kann.
])
#card(
question: [Wie lautet der Satz von Desargues und wie der dazu duale
Satz?],
answer: [
Sind die Ecken zweier Dreiecke in perspektivischer Lage, dann sind es auch
ihre Kanten.
(Sind die Kanten zweier Dreiecke in perspektivischer Lage, dann sind es auch
ihre Ecken. )
])
== Linear rationale Transformationen
#card(
question: [Wie lassen sich Projektivitäten zwischen zwei Geraden
darstellen?],
answer: [
Eine Projektivität zwischen zwei Geraden hat die Darstellung $vec(y_0, y_1)
= mat(a, b; c, d) vec(x_0, x_1)$ oder nach Inhomogenisierung die Darstellung
$y_1 / y_0 = (c x_0 + d x_1) / (a x_0 + b x_1) = (c + d x_1 / x_0) / (a + b
x_1 / x_0)$ bzw., wenn wir die projektiven Skalen $x = x_1 / x_0$ und $y = y_1
/ y_0$ verwenden, die Darstellung $y = (c x_0 + d x_1) / (a x_0 + b x_1) = (c
+ d x) / (a + b x)$. Letztere ist eine linear-rationale Transformation der
projektiven Skala $x$.
])
== Das Doppelverhältnis
#card(
question: [Was ist das Doppelverhältnis?],
answer: [
Hier betrachen wir vier Punkte $bold(a), bold(b), bold(x)$ und $bold(y)$
einer Geraden mit den projektiven Skalenwerten $alpha, beta, xi$ und $eta$
bzgl. irgendeines Grundecks.
#cetz.canvas({
import cetz.draw: *
line((0,0), (7.5, 0))
content((), [projektive Skala], anchor: "south-east")
circle((1,0), radius: .08, fill: white)
content((), $alpha$, padding: .2, anchor: "south")
content((), $bold(a)$, padding: .2, anchor: "north")
circle((2,0), radius: .08, fill: white)
content((), $eta$, padding: .2, anchor: "south")
content((), $bold(y)$, padding: .2, anchor: "north")
circle((3.5,0), radius: .08, fill: white)
content((), $beta$, padding: .2, anchor: "south")
content((), $bold(b)$, padding: .2, anchor: "north")
circle((4.5,0), radius: .08, fill: white)
content((), $xi$, padding: .2, anchor: "south")
content((), $bold(x)$, padding: .2, anchor: "north")
})
Das Doppelverhaltnis der Punktpaare $bold(x y)$ und $bold(a b)$ ist der Wert
$delta = D V [bold(x y) | bold(a b)] := (xi - alpha) / (xi - beta) : (eta -
alpha) / (eta - beta)$.
])
#card(
question: [Warum sind Doppelverhältnisse invariant unter projektiven Abbildungen?],
answer: [
Weil die Matrix einer projektiven Abbildung $Phi$ die Einheitsmatrix ist,
wenn wir sie für die Urbild- und Bildkoordinaten bezüglich des Grundecks
$bold(a b y)$ bzw $Phi(bold(a)) Phi(bold(b)) Phi(bold(y))$ beschreiben,
ändern projektive Abbildungen Doppelverhältnisse nicht. Doppelverhälnisse
treten daher im projektiven Raum an die Stelle der Teilverhaltnisse, da
letztere nur affine Invarientan sind.
])
#card(
question: [Was ist das harmonische Doppelverhältnis?],
answer: [
Für das harmonische Doppelverhaltnis $delta = -1$ liegen $bold(x y)$ und
$bold(a b)$ in harmonischer Lage.
])
#card(
question: [Was bedeutet harmonische Lage von vier kollinearen
Punkten, wenn einer von ihnen ein Fernpunkt ist?],
answer: [
Für $delta = - 1$ liegen $bold(x y)$ und $bold(a b)$ in harmonischer Lage.
Ist $bold(b)$ ein Fernpunkt, ist $delta$ eine affine Skala und für $delta =
-1$ ist $bold(a) = (bold(x) + bold(y)) /2$.
#cetz.canvas({
import cetz.draw: *
line((0,0), (4, 0))
content((), [affine Skala], padding: .2, anchor: "south")
circle((0.5,0), radius: .08, fill: white)
content((), $-1$, padding: .2, anchor: "south")
content((), $bold(x)$, padding: .2, anchor: "north")
circle((1.5,0), radius: .08, fill: white)
content((), $0$, padding: .2, anchor: "south")
content((), $bold(a)$, padding: .2, anchor: "north")
circle((2.5,0), radius: .08, fill: white)
content((), $1$, padding: .2, anchor: "south")
content((), $bold(y)$, padding: .2, anchor: "north")
line((5,0), (6, 0), mark: (end: ">"))
content((), $oo$, padding: .2, anchor: "south")
content((), $bold(b)$, padding: .2, anchor: "north")
})
])
#card(
question: [Unter welchen Vertauschungen ist das harmonische Verhältnis invariant?],
answer: [
Das harmonische Doppelverhaltnis $delta = -1$ ist invariant gegenüber den
Vertauschungen $bold(x) <-> bold(y), bold(x y) <-> bold(a b), bold(a) <->
bold(b)$.
])
== Die duale Abbildung
#card(
question: [Was ist die duale Abbildung?],
answer: [
Sei $Phi: cal(X) -> cal(Y), bb(x) |-> bb(A x)$ eine projektive Abbildung.
NUter ihr hat eine Hyperebene $cal(V): bb(v)^t bb(y) = 0$ von $cal(Y)$ das
Urbild $Phi^- cal(V) = { bold(x) in cal(X) | bb(v)^t bb(A x) = 0} : bb(u)^t
= bb(v)^t bb(A)$. Die Abbildung $Phi^* : cal(Y)^* -> cal(X)^*, bb(v)^t |->
bb(A)^t bb(v)$ ist die duale Abbildung zu $Phi$. Ist sie bijektiv, bildet
ihre Inverse jede Hyperebene $cal(U)$ auf die Hyperebene $cal(V)$ ab, in die
$Phi$ alle Punkte von $cal(U)$ abbildet.
Da $A^(t t) = A$, ist die duale Abbildung $Phi^(* *)$ der dualen Abbildung
$Phi^*$ wieder die Ausgangsabbildung $Phi$.
])
== Quadriken
#card(
question: [Was ist eine Quadrik?],
answer: [
Eine Quadrik im $cal(P)^n$ besteht aus den Punkten $bold(x)$, deren homogene
Koordinatenvektioren $bb(x)^t = [epsilon, bold(x)^t] x_0$ eine quadratische
Gleichung erfüllen:
$
cal(Q)(bb(x)) &= bb(x)^t bb(Q x) \
&= [epsilon x_0, bold(x)^t x_0] mat(q, bold(q)^t; bold(q), Q)
vec(epsilon x_0, bold(x) x_0) \
&~ bold(x)^t Q bold(x) + 2 epsilon bold(q)^t bold(x) + q epsilon^2 \
&= 0
$
])
#card(
question: [Warum können wir annehmen, dass die Matrix einer
Quadrik symmetrisch ist?],
answer: [
Da $bb(Q) + bb(Q)^t$ ebenfalls $cal(Q)$ repräsentiert, nehmen wir ohne
Einschränkung der Allgemeinheit an, dass $bb(Q) = bb(Q)^t$ symmetrisch ist.
])
#card(
question: [Was ist die Fernquadrik und der affine Teil einer
projektiven Quadrik?],
answer: [
Für $epsilon = 1$, erhäld man den affinen Teil $cal(Q)_"aff"$ von $cal(Q)$
und für $epsilon = 0$ die Fernquadrik $cal(Q)_oo$. Die Fernpunkte von
$cal(Q)$ heißen asymptotic directions und $cal(Q) = cal(Q)_"aff" union
cal(Q)_oo$ auch projektive Erweiterung von $cal(Q)_"aff"$. Die Quadrik
$cal(Q)$ heißt regulär, wenn ihre Matrix $bb(Q)$ regulär ist.
])
#card(
question: [Was ist eine Quadrik in einer projektiven Gerade?],
answer: [
])
== Tangential- und Polarebenen
#card(
question: [Wie berechnet man die Tangentenquadrik einer Quadrik?],
answer: [
Um die Tangentialebenen (genauer Tangentialhyperebenen) einer Quadrik
$cal(Q)$ zu bestimmen, betrachten wir zunächst einen Punkt $bold(p)$ der
Quadrik $cal(Q)$ und einer Geraden $cal(T): bb(x) = bb(p) + bb(q) lambda$
des $cal(P)^n$. (Dabei stellt $lambda = lambda_1 / lambda_0$ eine projektive
Skala auf $cal(T) : bb(x) = bb(p) lambda_0 + bb(q) lambda_1$ dar.) Nur wenn
die Gerade $cal(T)$ die Quadrik allein im Punkt $bold(p)$ berührt oder ganz
auf der Quadrik liegt ist sie eine Tangente. Folglich ist $cal(T)$ Tangente
genau dann, wenn die quadratische Gleichung
$
cal(Q)(bb(x)(lambda)) &= bb(x)^t bb(Q x) \
&= bb(p)^t bb(Q p) + 2 bb(p)^t bb(Q q) lambda + bb(q)^t bb(Q q) lambda^2 \
&= 2 bb(p)^t bb(Q p) lambda + bb(q)^t bb(Q q) lambda^2 \
&= 0
$
eine doppelte Nullstelle $lambda = 0$ hat. Somit ist $cal(T)$ Tangente von
$cal(Q)$ genau dann, wenn $bb(p)^t bb(Q q) = 0$. Weiter folgt, dass die
Tangentialebene von $cal(Q)$ in $bold(p)$ die Qleichung $bb(u)^t bb(x) =
bb(q)^t bb(Q x) = 0$ hat.
])
#card(
question: [Was sind Polarebenen?],
answer: [
Für einen beliebigen Punkt $bold(p) in cal(P)^n$, definiert die Gleicuhng
$bb(p)^t bb(Q x) = 0$ die Polarebene (oder eigentlich Polarhyperebene)
$cal(P)(bold(p), cal(Q))$ von $bold(p)$ bezüglich $cal(Q)$, sofern $bold(p)$
kein singulärer Punkt ist. Sie schneidet $cal(Q)$ in den Punkten $bold(x)$,
deren Tangentialebenen $cal(T) lt.tri bb(Q x)$ auch durch $bold(p)$ gehen.
Liegt $bold(p)$ auf $cal(Q)$, ist die Polarebene die Tangentialebene von
$cal(Q)$ in $bold(p)$.
])
#card(
question: [Was bilden die Tangentialebenen einer Quadrik?],
answer: [
Auch die Tangentialebenen einer Quadrik $cal(Q)$ bilden eine Quadrik im
Dualraum. Dazu macht man sich klar, dass ein $bb(u)$ eine Tangentialebene
von $cal(Q)$ in einem Punkt $bold(p)$ von $cal(Q)$ darstellt, falls das
homogene lineare Gleichungssystem
$
bb(Q p) - bb(u) rho &= bb(o) \
bb(u)^t bb(p) &= 0
$
für $bb(p)$ und $rho$ lösbar ist, d.h. falls $det mat(bb(Q), bb(u); bb(u)^t,
0) = 0$. Letzteres ist eine quadratische Gleichung und stellt die duale
Quadrik $cal(Q)^*$ zu $cal(Q)$ dar.
])
#card(
question: [Was ist eine Polaritat?],
answer: [
Ist die Matirx $bb(Q)$ regulär, heißt die Korrelation $bb(x) |-> bb(x)^t
bb(Q)$ die Polarität bezüglich $cal(Q)$. Sie bildet die Punkte von $cal(Q)$
auf die zugehörigen Tangentialebenen ab und $cal(Q)$ auf die duale Quadrik
$cal(Q)^*$, deren Punkte $bold(u) lt.tri bb(u) := bb(Q x)$ die Gleichung
$bb(u)^t bb(Q)^(-1) bb(u) = 0$ erfüllen. Polaritäten sind also Korrelationen
oder Dualitäten mit symmetrischer Matrix.
])
#card(
question: [Ist jede Korrelation eine Polaritat?],
answer: [
Polaritäten sind Korrelationen oder Dualitäten mit symmetrischer Matrix.
])
#card(
question: [Was bedeutet dies für den Begriff der Dualitat?],
answer: [
Bsp. Die Dualität $bold(x) |-> cal(X)$ ist die Polarität zur leeren
regulären Quadrik $cal(Q) lt.tri bb(E)$.
])
== Harmonische Punkte und Polaritat
#card(
question: [Was ist das Doppelverhaltnis von pq und xy, wenn q auf
der Polaren von p bezüglich einer Quadrik Q liegt und x
und y die Schnittpunkte der Geraden pq mit Q sind?],
answer: [
])
== Normalform
#card(
question: [Was ist die Normalform einer Quadrik?],
answer: [
Mit einer reellen Koordinatentransformation kann die Gleichung einer Quadrik
$cal(Q)$ in die Normalform $y_0^2 + ... + y_r^2 - y_(r+1)^2 - ... -
y_(r+s)^2 = 0$ und anschließend mid der komplexen Koordinatentransformation
$bb(y) = "diag"(1 ... bold(1) i ... i) bb(z)$ in die Normalform $z_0^2 + ... +
z_(r+s)^2 = 0$ überführt werden.
])
#card(
question: [Wie viele projektiv verschiedene Quadriken gibt es im
reellen projektiven Raum und wie viele im in seiner
komplexen Erweiterung?],
answer: [
])
= Hyperbolische Geometrie
== Das hyperbolische Modell
#card(
question: [Erklaren Sie das hyperbolische Modell der hyperbolischen Ebene !],
answer: [
Im hyperbolischen Modell wird ie hyperbolische Ebene $cal(H)^2$ durch die
obere Schale des zweischaligen Hyperboloids $cal(O) : bold(x)^t H bold(x) =
[x, y, z] mat(1,,;,1,;,,-1) vec(x,y,z) = -1, z > 0$ im $bb(R)^3$
dargestellt. Der asymptotische Kegel $cal(K)$ von $cal(O)$ hat die Gleichung
$cal(K) : bold(x)^t H bold(x) = 0$ und ist in der Abbildung rot gezeichnet.
])
#card(
question: [Was sind in diesem Modell die hyperbolischen Geraden?],
answer: [
In diesem Modell sind die hyperbolischen Geraden durch die nicht leeren
Schnitte von $cal(O)$ mit den zweidimensionalen linearen Unterräumen des
$bb(R)^3$ gegeben. Es sind Pyperbeläste auf $cal(O)$.
])
#card(
question: [Was sind die hyperbolischen Abbildungen in diesem Modell?],
answer: [
Die regulären linearen Abbildungen des $bb(R)^3$, die $cal(O)$ auf sich
abbilden, und ihre Vielfachen repräsentieren die hyperbolischen Abbildungen,
wen wir sie auf $cal(O)$ beschränken und die Vielfachen der $bold(x) in
cal(O)$ als homogene Koordinatenvektoren für die Punkte des $cal(H)^2$
auffassen. Zu diesen linearen Abbildungen gehören under anderem Rotationen
um die z-Achse und Spiegelungen an Ebenen durch die z-Achste.
Die hyperbolischen Abbildungen werden durch die Matrizen $A$ repräsentiert,
für die $A^t H A = rho H$ mit $rho > 0$.
Da der Kegel $cal(K)$ durch die Gleichung $bold(x)^t rho H bold(x) = 0$
gegeben ist, stellen die linearen Abbildungen, die den Kegel auf sich
abbilden, die hyperbolischen Abbildungen dar.
])
#card(
question: [Nennen Sie einfache Beispiele für hyperbolische
Abbildungen in diesem Modell !],
answer: [
])
== Das Klein-Modell
#card(
question: [Wie ist das Klein-Modell der hyperbolischen Ebene definiert?],
answer: [
Aus dem hyperbolischen Modell der hyperbolischen Ebene erhalten wir durch
die Zentralprojektion $pi: bb(R)^3 \\ {bold(o)} -> {vec(bold(x), 1) |
bold(x) in bb(R)^2}, vec(bold(x),z) |-> vec(bold(x)/z, 1)$, das Klein-Modell
der hyperbolischen Ebene. Die Zentralprojektion $pi$ bildet $cal(O)$ auf die
offene Einheitskreisscheibe $cal(D) : x^2 + y^2 < 1, z = 1$ ab.
])
#card(
question: [Was sind in diesem Modell die hyperbolischen Geraden?],
answer: [
Hyperbolische Geraden in bildet die Zentralprojektion $pi$ auf die geraden
Strecken, die sich ergeben, wenn die Scheibe $cal(D)$ mit den
zweidimensionalen Unterräumen des $bb(R)^3$ geschnitten wird.
])
#card(
question: [Was sind die hyperbolischen Abbildungen in diesem
Modell?],
answer: [
Unter der Projektion $pi$ werden die linearen Abbildungen des $bb(R)^3$ und
ihre Vielfachen je zu einer linear rationalen Abbildung der Ebene $z = 1$,
das heißt, dass eine lineare Abbildung und ihre Vielfachen eine projektive
Abbildung der linearen Abbildung auf $cal(O)$ entspricht der Beschränkung
der projektiven Abbildung auf $cal(D)$.
Folglich sind die hyperbolischen Abbildungen im Klein-Modell die auf
$cal(D)$ beschränkten Projektivetäten der Ebene $z=1$, die $cal(D)$ bzm.,
wenn nicht beschränkt, den Kreis $pi cal(K) = "Rand" cal(D)$ auf sich
abbilden.
])
#card(
question: [Wie sind Entfernungen definiert?],
answer: [
Eine Strecke $bold(x y)$ hat die Länge $"dist"(bold(x), bold(y)) = abs(log D
V [bold(x y) | bold(a b)])$ wobei $bold(a)$ und $bold(b)$ die Fernpunkte der
hyperbolischen Geraden $bold(x y)$ sind. Man beachte, dass die Vertauschung
der Punkte $bold(a)$ und $bold(b)$ oder der Punkte $bold(x)$ und $bold(y)$ das
Doppelverhaltnis invertiert und daher nur das Vorzeichen seines Logarithmus
ändert.
(Der Rand der Kreisscheibe $cal(D)$ heißt Fernkreis. Er gehört nicht zur
hyperbolischen Ebene. Seine Punkte werden Fernpunkte genannt und die Punkte
außerhalb des Fernkreises Ultra-Fernpunkte. )
])
#card(
question: [Warum sind Entfernungen invariant unter hyperbolischen
Abb.?],
answer: [
])
== Spiegelungen
#card(
question: [Wie ist eine hyperbolische Spiegelung definiert?],
answer: [
Eine hyperbolische Spiegelung oder harmonische Homologie ist eine
hyperbolische Abbildung $bold(y) = Phi(bold(x))$ mit einer Fixpunktgeraden
$cal(P)$, bei der die Geraden $bold(x) union.sq Phi(bold(x))$ alle durch den
Pol $bold(p)$ zur Polare $cal(P)$ bezüglich des Fernkreis gehen. Es sind
also Perspektivitäten, die $cal(D)$ auf sich abbilden.
])
#card(
question: [Was muss man tun, um eine hyperbolische Spiegelung ais
euklidische Spiegelung anzusehen?],
answer: [
Betrachtet man den Pol $bold(p)$ als Fernpunkt einer euklidischen Ebene,
entspricht die hyperbolische Spiegelung einer Spiegelung der euklidischen
Ebene an $cal(P)$. Die Polare geht bei dieser Betrachtung durch den
Mittelpunkt von $cal(D)$.
])
#card(
question: [Wie geht man vor, um zu zeigen, dass jede hyperbolische
Abb. Produkt von Spiegelungen ist?],
answer: [
Bildet $Phi$ eine Gerade $cal(P)$ und einen Punkt $bold(r) in cal(P)$ auf
sich ab, bildet sie die Fernpunkte $bold(a)$ und $bold(b)$ von $cal(P)$ mit
den zugehöringen Tangenten des Fernkreis auf sich ab oder vertauscht sie.
Sie bildet dahre auch den Pol $bold(p)$ zu $cal(P)$ und die Gerade $cal(Q)$
durch $bold(p)$ und $bold(r)$ auf sich ab. Da $Phi$ durch die Bilder der
Fernpunkte von $cal(P)$ und $cal(Q)$ bestimmt ist, kann $Phi$ nur die
Identität, die Spiegelung an $cal(P)$, die an $cal(Q)$ odie die Verknüpfung
dieser beiden Spiegelungen sein.
])
== Kreisverwandtschaften
#card(
question: [Was ist eine stereographische Projektion?],
answer: [
Eine stereographische Projektion ist eine Zentralprojektion vom Nordpol
$bold(n)$ einer Kugel aus auf die Tangentialebene am Südpol, die auf die
Kugel beschränkt wird und eindeutig jedem Punkt der Kugel mit Ausnahme des
Nordpols einen Punkt der Ebene zuordnet.
Für den Nordpol erweitert man die Ebene um einen gedachten unechten Punkt
$bold(k)$ und erklärt $bold(k)$ als das stereographische Bild von $bold(n)$.
(Durch $bold(k)$ wird die Ebene kompaktifiziert.) Die Kreise durch den
Nordpol werden durch die stereographische Projektion auf die Geraden der
Ebene abgebildet und ihnen eindeutig zugeordnet. Die Geraden heißen unechte
Kreise und sind genau die Kreise, die durch $bold(k)$ gehen.
#cetz.canvas({
import cetz.draw: *
import cetz.matrix: *
let xy = ((cos(20deg),cos(20deg),0),(-sin(20deg),sin(20deg),1))
// set-transform(xy)
line(mul-vec(xy, (-2, -2, -1)), mul-vec(xy, (2, -2, -1)))
line(mul-vec(xy, (-2, -2, -1)), mul-vec(xy, (-2, 2, -1)))
line(mul-vec(xy, (2, 2, -1)), mul-vec(xy, (2, -2, -1)))
line(mul-vec(xy, (2, 2, -1)), mul-vec(xy, (-2, 2, -1)))
circle((0,0), radius: 1, stroke: blue)
circle(mul-vec(xy, (0,0,1)), radius: 0.08, fill: red, stroke: none)
content((), text(fill: red, $n$), anchor: "south-west", padding: .1)
line(mul-vec(xy, (0,0,1)), mul-vec(xy, (1,0,-1)), mark: (end: ">"),
stroke: red)
circle(mul-vec(xy, (1,0,-1)), radius: 0.08, stroke: red)
circle((mul-vec(xy, (0,0,1)), 60%, mul-vec(xy, (1,0,-1))), radius: 0.08, stroke: blue)
})
])
#card(
question: [Warum sind stereographische Projektionen winkel-und
kreistreu?],
answer: [
Zum Beweis der Winkeltreue, sehen wir uns zwei Tangenten der Kugel in einem
Punkt $bold(p)$ an und dazu die Beiden Kreise durch $bold(p)$ und $bold(n)$
mit diesen Tangenten. Diese Kreise schneiden sich im Nordpol im gleichen
Winkel und die Tangenten im Nordpol sind parallel zu den Bildtangenten, da
diese beiden Tangentenpaare Schnitte der beiden Kreisebenen mit den
Tangentialebenen der Kugel im Nord- und Südpol sind. Das beweist die
Winkeltreue.
Kreise, die nicht den Nordpol gehen, werden auf Ellipsen abgebildet. Um zu
zeigen, dass diese Ellipsen Kreise sind, betrachten wir zu einem Kreis der
Kugel den Tangentialkegel, der die Gugel in diesem Kreis berührt. Die
Mantellinien des Kegels schneiden den Kreis orthogonal und werden auf
Geraden abgebildet, die alle durch das Bild der Kegelspitze gehen und wegen
der Winkeltreue das Bild des Kreises orthogonal schneiden. Deshalb kann das
Bild nur ein Kreis sein.
])
#card(
question: [Was sind Kreisverwandtschaften?],
answer: [
Kreisverwandtschaften sind bijektive Abbildungen, die Kreise und nur Kreise
auf Kreise abbilden. Beispielsweise sind stereographische Projektionen
Kreisverwandtschaften.
])
#card(
question: [Was ist eine Inversion an einem Kreis?],
answer: [
Jeder echte Kreis $cal(K)$ einer Ebene, ist Bild eines Kugeläquators unter
einer stereographischen Projektion $pi$. Bezeichnet $rho$ die Spiegelung der
Kugel an der Äquatorebene, ist $pi compose rho compose pi^(-1)$ die
Inversion der Ebene an $cal(K)$.
])
#card(
question: [Wie kann man Kreisinversionen berechnen?],
answer: [
Invertiert man einen Punkt $bold(x)$ an einem Kreis mit Radius $r$ und
Mittelpunkt $bold(m)$ gilt für den Bildpunkt $bold(y)$: $norm(bold(x) -
bold(m)) dot norm(bold(y) - bold(m)) = r^2$.
])
#card(
question: [(Warum) sind Kreisinversionen winkeltreu?],
answer: [
Eine Inversion an einem Kreis $cal(K)$ ist eine winkeltreue
Kreisverwandtschaft, die $cal(K)$ punktweise auf sich und den Mittelpunkt
auf $bold(k)$ abbildet.
Daher bildet sie auch zu $cal(K)$ orthogonale Kreise auf sich ab.
])
#card(
question: [Warum sind Kreisinversionen Kompositionen von Ahnlichkeiten und
Kreisinversionen?],
answer: [
(1) Eine Kreisverwandtschaft $kappa$, die den Punkt $bold(k)$ fest lässt,
bildet ein Quadratgitter wieder auf ein solches ab, weil sie die
einbeschriebenen Kreise auf Kreise abbildet. Somit ist sie eine Ähnlichkeit.
(2) Bildet $kappa$ den Punkt $bold(k)$ auf einen anderen Punkt $bold(m)$ ab,
betrachten wir die Inversion $iota$ an einem Kreis mit Mittelpunkt
$bold(m)$. Weil $iota compose kappa$ nach (1) eine Ähnlichkeit $alpha$ ist,
hat auch $kappa = iota compose iota compose kappa = iota compose alpha$ die
behauptete Zerlegung.
])
== Das Poincaré-Modell
#card(
question: [Wie ist das Poincaré-Modell der hyperbolischen Ebene definiert?],
answer: [
Das Poincaré-Modell der hyperbolischen Ebene erhalten wir aus dem
Klein-Modell, indem wir die Kreisscheinbe $cal(D)$ als orthogonale
Projektion einer auf ihr liegenden Kugel auffassen und das Klein-Modell der
hyperbolischen Ebene zurück nach oben auf die untere Hälfte der Kugel
projizieren.
Vom Nordpol der Kugel projiziert man die untere Halbkugel stereographisch
wieder zurück auf die Ebene von $cal(D)$ und erhält so das Poincaré-Modell
der hyperbolischen Ebene.
])
#card(
question: [Was sind in diesem Modell die hyperbolischen Geraden?],
answer: [
Aus den hyperbolischen Geraden werden Halbkreise, die orthogonal vom Äquator
der Kugel weg nach unten hängen.
Die hyperbolischen Geraden entsprechen im Poincaré-Modell Kreisbögen, die
orthogonal vom Fernkreis weglaufen.
])
#card(
question: [Was sind die hyperbolischen Spiegelungen in diesem
Modell?],
answer: [
Die hyperbolischen Abbildungen werden im Poincaré-Modell zu Abbildungen, die
den Fernkreis auf sich abbilden. insbesondere wird aus einer hyperbolischen
Spiegelung an einer Polagen eine Inversion an einem zum Fernkreis
orthogonalen Kreis, dessen Mittelpunkt $bold(m)$ der Pol der Spiegelung ist.
])
#card(
question: [Warum sind die hyperbolischen Abb. genau die
Kreisverwandtschaften, die den Fernkreis auf sich
abbilden?],
answer: [
Die projektiven Geraden durch den Pol gehen bei der Spiegelung und der
Inversion in sich über. Jede hyperbolische Gerade ist hat im Klein- als auch
im Poincaré-Modell zwei Fernpunkte auf dem Fernkreis und ist durch diese
festgelegt. Weil die Fernpunkte sowohl durch die Spiegelung als auch durch
die Inversion auf sich abgebildet werden, wird jede Gerade in die gleiche
aber unterschiedlich als Strecke oder Kreissegment dargestellte Gerade
gespiegelt bzw. invertiert. Da jeder Punkt Schnitt von zwei Geraden ist,
folgt die Behauptung.
])
#card(
question: [Wie ist der hyperbolische Winkel definiert?],
answer: [
Der Winkel, in dem sich zwei hyperbolische Geraden im Poincaré-Modell
schneiden, ist ihr hyperbolischer Winkel. Er ist invariant unter
hyperbolischen Abbildungen.
])
#card(
question: [Warum bleiben Winkel unter hyperbolischen Abb.
invariant?],
answer: [
])
== Fundamentalgebiete
#card(
question: [Wie gro8 ist die Winkelsumme eines hyperbolischen
Dreiecks?],
answer: [
Die Winkelsumme in einem hyperbolischen Dreieck ist kleiner als 180°.
(Die Winkelsumme eines Dreiecks der euklidischen Ebene ist 180° und für ein
Kugeldreieck größer als 180°.)
])
#card(
question: [Warum ist die Winkelsumme eines hyperbolischen
Dreiecks kleiner als 180?],
answer: [
Jedes hyperbolische Dreieck $bold(o' p' q')$ kann durch eine Spiegelung
(winkelerhaltend) in ein Dreieck $bold(o p q)$ überführt werden, bei dem
z.B. $bold(o)$ Mittelpunkt der Kreisscheibe $cal(D)$ ist. Die zu dieser Ecke
adjazenten Kanten liegen dann auf Durchmessern der Kreisscheibe. Nur der
Winkel bei $bold(o)$ entspricht dem des euklidischen Dreiecks $bold(o p q)$,
während die beiden anderen kleiner als die entsprechenden des euklidischen
Dreiecks sind.
])
#card(
question: [Wie groB kônnen die Winkelsummen regelma8iger n-Ecke sein?],
answer: [
Die Winkelsummen aller regelmäßigen n-Ecke bilden das Intervall $(0, (n-2)
180°)$. Zu jeder Winkelsumme aus diesem Intervall gibt es also regelmäßige
n-Ecke.
Ein regelmäßiges n-Eck ist ein Polygon, dessen Kantenlängen und Winkel alle
gleichgroß sind.
])
#card(
question: [Was ist ein Fundamentalgebiet?],
answer: [
Ein regelmäßiger n-Eck mit Winkelsumme 360° (n > 4) heißt Fundamentalgebiet.
])
#card(
question: [Was ist eine Fuchssche Gruppe?],
answer: [
Bei einem Fundamentalgebiet $cal(Q)$ (regelmäßiger n-Eck mit Winkelsumme 360°)
existiren $n$ (nicht eindeutige) Drehungen $phi_1, ..., phi_n$0mit $phi_1
compose ... compose phi_n = id$, sodass die Bilder $phi cal(Q)$ für $phi =
rho_1 compose ... compose rho_k, k in NN$ und $rho_1 ... rho_k in {phi_1,
..., phi_n}$, die hyperbolische Ebene $cal(H)^2$ zerlegen.
Die $phi_i$ erzeugen eine Fuchse Gruppe. Allgemeiner ist eine Fuchssche
Gruppe eine Gruppe hyperbolischer Abbildungen, die ein, auch nicht
regelmäßiges Polygon auf Polygone abbildet, welche die hyperbolische Ebene
$cal(H)^2$ zerlegen.
])
== Orbifaltigkeiten
#card(
question: [Was ist eine Obifaltigkeit?],
answer: [
Die Oberfläche eines Körpers mat $gamma$ hindurchführenden Tunneln ist eine
Fläche vom topologischen Geschlecht $gamma$. Solch eine Fläche kann
aufgeschnitten und vber dem Fundamentalgebiet einer Fuchsschen Gruppe
parametrisiert werden.
Indem man eine Fläche über einem Fundamentalgebiet parametrisiert und ihre
Parametrisierung periodisch über einer zugehörigen Kachelung der
hyperbolischen Ebene fortsetzt, erhält man eine Orbidfaltigkeit. Die
periodische Fortsetzung hilft, glatte, d.h. differenzierbare
Parametrisierungen für solche Flächen zu konstruiren, die von beliebiger
Glattheitsordnung sind. Man kann so stückweise rationale
Splineorbidfaltigkeiten konstruiren, deren Grad nur um eins höher als ihre
Differenzierbarkeitsordnung ist.
])