#import "@preview/cetz:0.4.0" #set page(margin: 1cm, columns: 2) #set heading(numbering: "1.1") #set math.mat(delim: "[") #set math.vec(delim: "[") #let transpose(t)={ let output=t.at(0).zip(..t.slice(1)) output } #let card( question: "", answer: "" ) = rect(width: 100%)[ #strong(question) #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: [ ]) #card( question: [Geben Sie die Gleichungsdarstellung einer Hyperebene in erweiterten Koordinaten an und leiten Sie daraus die homogene Darstellung ab!], answer: [ ]) #card( question: [Was ist die Fernhyperebene?], answer: [ ]) == Zentralprojektion #card( question: [Was ist eine Zentralprojektion?], answer: [ ]) #card( question: [Wie kann sie mit Matrizen beschrieben werden?], answer: [ ]) #card( question: [Was ist die Fokaldistanz und was ist der Hauptpunkt?], answer: [ ]) == Kamerabewegung #card( question: [Wie stellt sich eine Zentralprojektion in Matrizen dar, wenn das Objekt- und Kamerasystem verschieden sind?], answer: [ ]) == Fluchtpunkte #card( question: [Was versteht man unter Fluchtpunkten, de Spur, Horizont, Verschwindungsebene und Fluchtdreieck?], answer: [ ]) #card( question: [Wann sind Fluchtpunkte Fernpunkte?], answer: [ ]) #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: [ ]) == Kameradaten #card( question: [ Wie erhält man die Verschwindungsebene, den Hauptrichtungsvektor, den Hauptpunkt und die Fokaldistanz aus der Matrix einer Zentralperspektive?], answer: [ ]) #card( question: [Warum ist der Hauptpunkt der Höhenpunkt des Fluchtdreiecks?], answer: [ ]) == 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: [ ]) == Urbilder #card( question: [Wie berechnet man das Urbild eines Punkts und einer Geraden unter einer Zentralperspektive?], answer: [ ]) == Kamerakalibrierung #card( question: [Wie kann man die Matrix bestimmen, die zu einem zentralperspektivischen Bild gehört?], answer: [ ]) #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: [ ]) #card( question: [Was sind die projektiven Unterräume?], answer: [ ]) #card( question: [Warum schneiden sich zwei Geraden einer projektiven Ebene immer?], answer: [ ]) == Projektive Koordinaten #card( question: [Wann heißt eine Punktfolge projektiv unabhängig?], answer: [ ]) #card( question: [Wie ist die projektive Hülle von Punkten definiert?], answer: [ ]) #card( question: [Wie sind projektive Koordinaten definiert?], answer: [ ]) #card( question: [Was ist eine projektive Skala?], answer: [ ]) #card( question: [Wann ist eine projektive Skala eine affine?], answer: [ ]) == Koordintentransformation #card( question: [Wie können projektive Koordinaten in projektive Koordinaten bezüglich eines anderen Grundecks transformiert werden?], answer: [ ]) #card( question: [Wie ändern sich bei einer Koordinatentransformation die Koordinaten von Hyperebenen?], answer: [ ]) #card( question: [Warum kann jede Hyperebene eines projektiven Raums als Fernhyperebene aufgefasst werden?], answer: [ ]) == Der Dualraum #card( question: [Was ist der Dualraum eines projektiven Raums?], answer: [ ]) #card( question: [Was heißt alles dual zueinander?], answer: [ ]) #card( question: [Wie kann man den Schnitt von n Hyperebenen des 𝒫𝒫 ⁿ berechnen?], answer: [ ]) == Projektive Abbildungen #card( question: [Was ist eine projektive Abbildung?], answer: [ ]) #card( question: [Wann hat eine projektive Abbildung einen ausnahmeraum und wie ist er definiert?], answer: [ ]) #card( question: [Auf was bilden projektive Abbildungen projektive Unterräume ab?], answer: [ ]) == Kollineationen und Korrelationen #card( question: [Was sind Kollineationen und Korrelationen?], answer: [ ]) #card( question: [Wie ist Dualität allgemein definiert?], answer: [ ]) #card( question: [Wie lautet der Satz von Desargues und wie der dazu duale Satz?], answer: [ ]) == Linear rationale Transformationen #card( question: [Wie lassen sich Projektivitäten zwischen zwei Geraden darstellen?], answer: [ ]) == Das Doppelverhältnis #card( question: [Was ist das Doppelverhältnis?], answer: [ ]) #card( question: [Warum sind Doppelverhältnisse invariant unter projektiven Abbildungen?], answer: [ ]) #card( question: [Was ist das harmonische Doppelverhältnis?], answer: [ ]) #card( question: [Was bedeutet harmonische Lage von vier kollinearen Punkten, wenn einer von ihnen ein Fernpunkt ist?], answer: [ ]) #card( question: [Unter welchen Vertauschungen ist das harmon,ische Verhältnis invariant?], answer: [ ]) == Die duale Abbildung #card( question: [Was ist die duale Abbildung?], answer: [ ]) == Quadriken #card( question: [Was ist eine Quadrik?], answer: [ ]) #card( question: [Warum können wir annehmen, dass die Matrix einer Quadrik symmetrisch ist?], answer: [ ]) #card( question: [Was ist die Fernquadrik und der affine Teil einer projektiven Quadrik?], answer: [ ]) #card( question: [Was ist eine Quadrik in einer projektiven Gerade?], answer: [ ]) == Tangential- und Polarebenen #card( question: [Wie berechnet man die Tangentenquadrik einer Quadrik?], answer: [ ]) #card( question: [Was sind Polarebenen?], answer: [ ]) #card( question: [Was bilden die Tangentialebenen einer Quadrik?], answer: [ ]) #card( question: [Was ist eine Polaritat?], answer: [ ]) #card( question: [Ist jede Korrelation eine Polaritat?], answer: [ ]) #card( question: [Was bedeutet dies für den Begriff der Dualitat?], answer: [ ]) == 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: [ ]) #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: [ ]) #card( question: [Was sind in diesem Modell die hyperbolischen Geraden?], answer: [ ]) #card( question: [Was sind die hyperbolischen Abbildungen in diesem Modell?], answer: [ ]) #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: [ ]) #card( question: [Was sind in diesem Modell die hyperbolischen Geraden?], answer: [ ]) #card( question: [Was sind die hyperbolischen Abbildungen in diesem Modell?], answer: [ ]) #card( question: [Wie sind Entfernungen definiert?], answer: [ ]) #card( question: [Warum sind Entfernungen invariant unter hyperbolischen Abb.?], answer: [ ]) == Spiegelungen #card( question: [Wie ist eine hyperbolische Spiegelung definiert?], answer: [ ]) #card( question: [Was muss man tun, um eine hyperbolische Spiegelung ais euklidische Spiegelung anzusehen?], answer: [ ]) #card( question: [Wie geht man vor, um zu zeigen, dass jede hyperbolische Abb. Produkt von Spiegelungen ist?], answer: [ ]) == Kreisverwandtschaften #card( question: [Was ist eine stereographische Projektion?], answer: [ ]) #card( question: [Warum sind stereographische Projektionen winkel-und kreistreu?], answer: [ ]) #card( question: [Was sind Kreisverwandtschaften?], answer: [ ]) #card( question: [Was ist eine Inversion an einem Kreis?], answer: [ ]) #card( question: [Wie kann man Kreisinversionen berechnen?], answer: [ ]) #card( question: [(Warum) sind Kreisinversionen winkeltreu?], answer: [ ]) #card( question: [Warum sind Kreisinversionen Kompositionen von Ahnlichkeiten und Kreisinversionen?], answer: [ ]) == Das Poincaré-Modell #card( question: [Wie ist das Poincaré-Madel! der hyperbolischen Ebene definiert?], answer: [ ]) #card( question: [Was sind in diesem Modell die hyperbolischen Geraden?], answer: [ ]) #card( question: [Was sind die hyperbolischen Spiegelungen in diesem Modell?], answer: [ ]) #card( question: [Warum sind die hyperbolischen Abb. genau die Kreisverwandtschaften, die den Fernkreis auf sich abbilden?], answer: [ ]) #card( question: [Wie ist der hyperbolische Winkel definiert?], answer: [ ]) #card( question: [Warum bleiben Winkel unter hyperbolischen Abb. invariant?], answer: [ ]) == Fundamentalgebiete #card( question: [Wie gro8 ist die Winkelsumme eines hyperbolischen Dreiecks?], answer: [ ]) #card( question: [Warum ist die Winkelsumme eines hyperbolischen Dreiecks kleiner ais 180], answer: [ ]) #card( question: [Wie groB kônnen die Winkelsummen regelma8iger n-Ecke sein?], answer: [ ]) #card( question: [Was ist ein Fundamentalgebiet?], answer: [ ]) #card( question: [Was ist eine Fuchssche Gruppe?], answer: [ ]) == Orbifaltigkeiten #card( question: [Was ist eine Obifaltigkeit?], answer: [ ])