2333 lines
84 KiB
Plaintext
2333 lines
84 KiB
Plaintext
#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 KabinettProjektionen?],
|
||
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-KuhnTriangulierung?],
|
||
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, EulerWinkeln 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.
|
||
])
|
||
|