ggg-cards.typ (86263B)
1 #import "@preview/cetz:0.4.0" 2 3 /* 4 * How to use for anki 5 * ------------------- 6 * 7 * typst compile ggg-cards.typ output/{0p}ggg-cards.svg 8 * ls | while read -r a && read -r b; do 9 * echo "<img src='$a'/>, <img src='$b'/>"; 10 * done > geometrische-grundlagen-der-geometrieverarbeitung.csv 11 * 12 * put all images from ./output in your ankis collection.media directory 13 * 14 */ 15 #let EXPORT_FLASHCARD = false 16 17 #set heading(numbering: "1.1") 18 #set text(lang: "de") 19 20 #show math.equation.where(block: false): box 21 22 #set math.mat(delim: "[") 23 #set math.vec(delim: "[") 24 25 #let TODO(args) = text(stroke: red, [TODO: #args]) 26 27 #let transpose(t)={ 28 let output=t.at(0).zip(..t.slice(1)) 29 output 30 } 31 32 #let numberingH(c)={ 33 return numbering(c.numbering,..counter(heading).at(c.location())) 34 } 35 36 #let flash-card( 37 question: "", 38 answer: "" 39 ) = [ 40 #set page("a7", flipped: true, width: auto, header: [ 41 #context { 42 let h = query(selector(heading.where(level: 1)).before(here())).last() 43 let s = query(selector(heading.where(level: 2)).before(here())).last() 44 text(size: 7.8pt)[#smallcaps()[#numberingH(h) #h.body / #numberingH(s) #s.body]] 45 } 46 ]) 47 #page()[ 48 #strong(question) 49 ] 50 #page()[ 51 #answer 52 ] 53 ] 54 55 #let cheatsheet-card( 56 question: "", 57 answer: "" 58 ) = rect(width: 100%)[ 59 #strong(question) 60 61 #answer 62 ] 63 64 #let card = if EXPORT_FLASHCARD {flash-card} else {cheatsheet-card} 65 #show: doc => if not EXPORT_FLASHCARD [ 66 #set page(margin: 1cm, columns: 2) 67 #doc 68 ] else [ 69 #show heading: it => none 70 #set par(justify: true) 71 #doc 72 ] 73 74 /* 75 * Grundseite XY 76 * X = Höhe 77 * Y = Breite 78 * Z = Tiefe 79 * x ^ . z 80 * | / 81 * +---> y 82 */ 83 84 #let cube = ( 85 points: ( 86 (0,0,0), // 0 87 (1,0,0), // 1 88 (0,1,0), // 2 89 (1,1,0), // 3 90 (0,0,1), // 4 91 (1,0,1), // 5 92 (0,1,1), // 6 93 (1,1,1), // 7 94 ), 95 edges: ( 96 (0,1, orange), 97 (0,2, orange), 98 (0,4), 99 (1,3, orange), 100 (1,5), 101 (2,3, orange), 102 (2,6), 103 (3,7), 104 (4,5), 105 (4,6), 106 (5,7), 107 (6,7) 108 ) 109 ) 110 111 #let house = ( 112 points: ( 113 (0.0, 0.0, 0.0), // 0 114 (0.0, 0.0, 0.5), // 1 115 (0.0, 1.0, 0.0), // 2 116 (0.0, 1.0, 0.5), // 3 117 (1.0, 0.0, 0.0), // 4 118 (1.0, 0.0, 0.5), // 5 119 (1.0, 1.0, 0.0), // 6 120 (1.0, 1.0, 0.5), // 7 121 (0.0, 0.5, 1.0), 122 (1.0, 0.5, 1.0) 123 ), 124 edges: ( 125 (0,1, orange), 126 (0,2, orange), 127 (0,4), 128 (1,3, orange), 129 (1,5), 130 (2,3, orange), 131 (2,6), 132 (3,7), 133 (4,5), 134 (4,6), 135 (5,7), 136 (6,7), 137 // Roof 138 (1,8, orange), 139 (3,8, orange), 140 (5,9), 141 (7,9), 142 (8,9) 143 ) 144 ) 145 146 = Darstellende Geometrie 147 == Der Satz von Pohlke 148 #card( 149 question: [Wie lautet der Satz von Pohlke und wie lasst er sich anwenden?], 150 answer: [ 151 Jedes Dreibein, das eine Ebene aufspannt, ist Parallelprojektion eines 152 gleichschenkligen orthogonalen Dreibeins im Raum. 153 154 #cetz.canvas({ 155 import cetz.draw: * 156 import cetz.matrix: * 157 158 for edge in cube.edges { 159 let transformation = transform-rotate-xz(75deg, -35deg) 160 let a = mul4x4-vec3(transformation, cube.points.at(edge.at(0))) 161 let b = mul4x4-vec3(transformation, cube.points.at(edge.at(1))) 162 // let a = cube.points.at(edge.at(0)) 163 // let b = cube.points.at(edge.at(1)) 164 line((a.at(0), a.at(1)), (b.at(0), b.at(1)), stroke: if (a.at(2) < 0 or 165 b.at(2) < 0) {gray} else {black}) 166 } 167 }) 168 ]) 169 #card( 170 question: [Was sind Militar-, Kavalier-und KabinettProjektionen?], 171 answer: [ 172 #table(columns: 3*(1fr,), 173 [Militar], [Kavalier], [Kabinett], 174 [ 175 #cetz.canvas({ 176 import cetz.draw: * 177 import cetz.matrix: * 178 179 for edge in cube.edges { 180 let transformation = ((cos(45deg),cos(45deg),0),(sin(45deg),-sin(45deg),-1)) 181 let a = mul-vec(transformation, cube.points.at(edge.at(0))) 182 let b = mul-vec(transformation, cube.points.at(edge.at(1))) 183 line(a,b, stroke: if (edge.len() > 2) {edge.at(2)} else {black}) 184 } 185 }) 186 ], 187 [ 188 #cetz.canvas({ 189 import cetz.draw: * 190 import cetz.matrix: * 191 192 for edge in cube.edges { 193 let transformation = ((1,0,cos(45deg)),(0,1,sin(45deg))) 194 let a = mul-vec(transformation, cube.points.at(edge.at(0))) 195 let b = mul-vec(transformation, cube.points.at(edge.at(1))) 196 line(a,b, stroke: if (edge.len() > 2) {edge.at(2)} else {black}) 197 } 198 }) 199 ], 200 [ 201 #cetz.canvas({ 202 import cetz.draw: * 203 import cetz.matrix: * 204 205 for edge in cube.edges { 206 let transformation = ((1,0,0.5 * cos(45deg)),(0,1,0.5 * sin(45deg))) 207 let a = mul-vec(transformation, cube.points.at(edge.at(0))) 208 let b = mul-vec(transformation, cube.points.at(edge.at(1))) 209 line(a,b, stroke: if (edge.len() > 2) {edge.at(2)} else {black}) 210 } 211 }) 212 ] 213 ) 214 215 ]) 216 == Orthogonale Projektionen 217 #card( 218 question: [Was sind Othogonal-, isometrische und dimetrische Projektionen?], 219 answer: [ 220 *Orthogonalprojektion:* Parallelprojektion, bei denen die Projektion- 221 sstrahlen senkrecht zur Bildebene sind. 222 223 *isometrisch:* Orthogonalprojektion, bei der die Bildebene senkrecht zur 224 Raumdiagonalen ist. 225 226 *dimetrisch:* wie isometrisch, aber die tiefe ist nur 1/2 227 ]) 228 #card( 229 question: [Wie erkennt man, dass die Parallelprojektion des 230 Einheitswürfels eine Orthogonalprojektion ist?], 231 answer: [ 232 233 ]) 234 == Grund-und Aufriss 235 #let scene(xy) = { 236 import cetz.draw: * 237 import cetz.matrix: * 238 239 let model = house 240 241 for edge in model.edges { 242 let a = vector.add(model.points.at(edge.at(0)), (0.3,0,0)) 243 let b = vector.add(model.points.at(edge.at(1)), (0.3,0,0)) 244 line(mul-vec(xy, a),mul-vec(xy, b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray}) 245 } 246 line( 247 mul-vec(xy, (0,-0.5,0)), 248 mul-vec(xy, (1,-0.5,0)), 249 mark: (end: "stealth")) 250 content((), $ x $, anchor: "west") 251 line( 252 mul-vec(xy, (0,-0.5,0)), 253 mul-vec(xy, (0,2,0)), 254 mark: (end: "stealth")) 255 content((), $ * (y) $, anchor: "west") 256 line( 257 mul-vec(xy, (0,-0.5,0)), 258 mul-vec(xy, (0,-0.5,1)), 259 mark: (end: "stealth")) 260 content((), $ z $, anchor: "south") 261 circle( 262 mul-vec(xy, (1.3,0,0.5)), radius: 0.08, 263 fill: white 264 ) 265 content((rel: (0,0.3)), $mono(x)$) 266 circle( 267 mul-vec(xy, (1.3,0,0)), radius: 0.08, 268 fill: white 269 ) 270 content((rel: (0,-0.3)), $mono(x')$) 271 circle( 272 mul-vec(xy, (0,0,0.5)), radius: 0.08, 273 fill: white 274 ) 275 content((rel: (0,0.3)), $mono(x'')$) 276 } 277 #card( 278 question: [Was sind Grund- und Aufriss, Ordner und Rissachsen?], 279 answer: [#grid(columns: 2*(1fr,), align: center + horizon, 280 cetz.canvas({ 281 import cetz.draw: * 282 import cetz.matrix: * 283 284 285 // let transformation = transform-rotate-xyz(0deg, -20deg, 40deg) 286 let xy = ((cos(30deg),cos(30deg),0),(-sin(30deg),sin(30deg),1)) 287 scene(xy) 288 }), 289 cetz.canvas({ 290 import cetz.draw: * 291 import cetz.matrix: * 292 293 let model = house 294 295 let xy = ((0,1,0),(0,0,1)) 296 for edge in model.edges { 297 let a = vector.add(model.points.at(edge.at(0)), (0,0,0)) 298 let b = vector.add(model.points.at(edge.at(1)), (0,0,0)) 299 line(mul-vec(xy, a),mul-vec(xy, b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray}) 300 } 301 circle( 302 mul-vec(xy, (1.3,0,0.5)), radius: 0.08, 303 fill: white 304 ) 305 content((rel: (0,0.3)), $mono(x'')$) 306 line( 307 mul-vec(xy, (0,-0.5,0)), 308 mul-vec(xy, (0,-0.5,1)), 309 mark: (end: "stealth") 310 ) 311 content((), $ z $, anchor: "south") 312 line( 313 mul-vec(xy, (0,-0.5,0)), 314 mul-vec(xy, (0,1.3,0)), 315 mark: (end: "stealth") 316 ) 317 content((), $ * $, anchor: "west") 318 content((rel: (0,-.1)), $ y $, anchor: "north") 319 content((.6,1.2), [Aufriss]) 320 321 /* 322 * Grundriss 323 */ 324 325 let xy = ((0,1,0),(-1,0,0)) 326 for edge in model.edges { 327 let a = vector.add(model.points.at(edge.at(0)), (0.3,0,0)) 328 let b = vector.add(model.points.at(edge.at(1)), (0.3,0,0)) 329 line(mul-vec(xy, a),mul-vec(xy, b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray}) 330 } 331 circle( 332 mul-vec(xy, (1.3,0,0.5)), radius: 0.08, 333 fill: white 334 ) 335 content((rel: (0,0.3)), $mono(x')$) 336 line( 337 mul-vec(xy, (0,-0.5,0)), 338 mul-vec(xy, (1,-0.5,0)), 339 mark: (end: "stealth") 340 ) 341 content((), $ x $, anchor: "north") 342 343 content((.6,-1.6), [Grundriss]) 344 345 /* 346 * Seitenriss 347 */ 348 let phi = 60deg 349 let margin = 1.3 350 let xy = ((sin(phi),cos(phi),0),(0,0,1)) 351 let transform(v) = vector.add( 352 mul-vec( 353 ((cos(-phi),-sin(-phi)),(sin(-phi),cos(-phi))), 354 mul-vec(xy, vector.add(v, (-.5,-.5,margin))) 355 ), 356 (0.5,-.3 -.5) 357 ) 358 for edge in model.edges { 359 let a = vector.add(model.points.at(edge.at(0)), (0,0,0)) 360 let b = vector.add(model.points.at(edge.at(1)), (0,0,0)) 361 line(transform(a),transform(b), stroke: if (edge.len() > 2) {edge.at(2)} else {gray}) 362 } 363 let transform(v) = vector.add( 364 mul-vec( 365 ((cos(-phi),-sin(-phi)),(sin(-phi),cos(-phi))), 366 v 367 ), 368 (0.5,-.3 -.5) 369 ) 370 line(transform((-1,margin)),transform((1,margin))) 371 content((), $ ** $, angle: -phi, anchor: "west") 372 373 content((2,1), [Seitenriss]) 374 }) 375 ) 376 $*$, $*$$*$: Rissachsen \ 377 Ordner 378 ]) 379 #card( 380 question: [Ein Punkt liege in einem durch Grund-und Aufriss 381 bekannten Dreieck. Konstruieren Sie zum Aufriss des 382 Punkts seinen Grundriss.], 383 answer: [ 384 Ziehe Geraden je von Ecke durch Punkt bis gegenüberliegende Kante. 385 Der Schnittpunkt teilt Kante in zwei Teilverhaltnisse. 386 Diese Teilverhaltnisse in Grundriss übertragen und Gerade von Schnittpunkt zu 387 Ecke ziehen. Schnittpunkt aller Geraden ist der Punkt im Grundriss. 388 ]) 389 == +5 (Spezielle) Seitenrisse 390 #card( 391 question: [Wie konstruiert man einen Seitenriss?], 392 answer: [ 393 Man schaut von Modell in Richtung Rissachse. 394 ]) 395 #card( 396 question: [Zeichnen Sie zum Grund-und aufriss eines Würfels einen 397 Seitenriss, der eine der Würfel-Diagonalen in wahrer 398 Länge zeigt.], 399 answer: [ 400 Erster Seitenriss 45deg. Dann zweiten Seitenriss 45deg zum ersten 401 Seitenriss. Zeigt Raumdiagonale in wahrere länge. 402 ]) 403 == Kurven auf Flachen 404 #card( 405 question: [ 406 Wie berechnet man die Tangentialebenen einer implizit 407 gegebenen Flache?], 408 answer: [ 409 $Delta F dot (y - x) = 0$ stellt die Tangentialebene von $cal(F)$ an der Stelle 410 $x$ dar. (Implizite Flächendarstellung $F(x) = F(x,y,z) = 0$) 411 ]) 412 #card( 413 question: [Was ist die Kontur und was gilt für eine Kurve, die die 414 Kontur schneidet im Grundriss?], 415 answer: [ 416 Wo $x(t)$ die Konturlinie kreuzt, berührt sie im Grundriss den Umriss. 417 Bei parallelem Licht teilt die Konturlinie die helle und die dunkle Seite 418 des Modells. Der Schatten = Silhoutte hat einen Umriss. 419 ]) 420 421 == Durchdringungen 422 #card( 423 question: [Zeichnen Sie die Durchdringung von zwei Zylindern, deren 424 Achsen, die sich im Allg. nicht schneiden, orthogonale 425 Richtungen haben. 426 ], 427 answer: [ 428 429 ]) 430 431 = Affine Geometrie 432 == Affine Raume und Koordinaten 433 #card( 434 question: [Was sind ein affiner Raum, ein affines Koordinatensystem 435 und affine Koordinaten?], 436 answer: [ 437 Ein affiner Raum ist eine Punktmenge $cal(A)$ mit einem zugehörigen 438 Vektorraum $A$ und einer binären surjektiven Operation $-: cal(A) times 439 cal(A) -> A, (p,q) |-> q - p$ 440 441 Ein affines Koordinatensystem besteht aus einem Ursprung $a in cal(A)$ und 442 einer Basis $a_1...a_n in A$. Bezüglich solch eines affinen 443 Koordinatensystems hat jeder Punkt $x in cal(A)$ eine eindeutige Darstellung 444 $x = a + a_1 x_1 + ... + a_n x_n$. Die Koeffizienten $x_i$ heißen affine 445 Koordinaten von $x$ bezüglich des affinene Systems $a a_1...a_n$ und bilden 446 den Koordinatenvektor $[x_1 ... x_n]^t$ des Punktes $x$. 447 ]) 448 449 == Baryzentrische Koordinaten 450 #card( 451 question: [Was sind baryzentrische Koordinaten, Grundecke, 452 erweiterte Koordinaten?], 453 answer: [ 454 Zu einem Punkt $p = p_0 + a_1 x_1 + ... + 455 a_n x_n$ sind die Koeffizienten $x_0, ..., x_n$ die baryzentrischen 456 Koordinaten bezüglich des Grundecks $p_0 .. p_n$. Gleichzeitig erweitern sie 457 die affinen Koordinaten, sodass sich die Summe zu Eins ergänzt. 458 $ 459 script("erweiterter \nKoordinatenvektor") 460 vec(1,p) = mat(1,...,1;p_0, ..., p_n) vec(x_0, x) 461 script("baryzentrischer \nKoordinatenvektor") 462 $ 463 ]) 464 #card( 465 question: [Wie hängen baryzentrische und affine Koordinaten 466 zusammen?], 467 answer: [ 468 $ 469 &p = \ 470 &= p_0 + a_1 x_1 + ... + a_n x_n \ 471 &= p_0 (1 - x_1 - ... - x_n) + (a + a_1) x_1 + ... + (a + a_n) x_n \ 472 &= p_0 x_0 + ... + p_n x_n 473 $ 474 ]) 475 #card( 476 question: [Was bedeuten baryzentrische Koordinaten bezüglich eines 477 Dreiecks geometrisch?], 478 answer: [ 479 #grid(columns: 2*(1fr,), 480 cetz.canvas({ 481 import cetz.draw: * 482 import cetz.matrix: * 483 import calc: * 484 485 let a = (0,0) 486 let b = (3,0.5) 487 let c = (1.2,2) 488 circle(a, radius: 0, name: "a") 489 circle(b, radius: 0, name: "b") 490 circle(c, radius: 0, name: "c") 491 let transformation = transpose((a,b,c)) 492 let bary(x) = mul-vec(transformation, vector.div(x, x.sum())) 493 494 line( 495 (bary: (a: 1, b: 0, c: 0)), 496 (bary: (a: 0, b: 1, c: 0)), 497 (bary: (a: 0, b: 0, c: 1)), 498 close: true 499 ) 500 501 let p = (.28,.32,.5) 502 503 circle((bary: (a: .28, b: .32, c: .5)), radius: 0.08, fill: white) 504 content((rel: (angle: 20deg, radius: .2)), $p$, anchor: "north") 505 line((bary: (a: 1, b: 0, c: 0)), bary(vector.element-product(p, (0,1,1)))) 506 507 line(bary((1,0,0)), bary(p), name: "line") 508 content( 509 ("line.start", 70%, "line.end"), 510 angle: "line.end", 511 padding: .05, 512 anchor: "south", 513 text($x_1 + x_2$, size: 7pt) 514 ) 515 line(bary(p), bary(vector.element-product(p, (0,1,1))), name: "line") 516 content( 517 ("line.start", 30%, "line.end"), 518 angle: "line.end", 519 padding: .05, 520 anchor: "south", 521 text($: x_0$, size: 7pt) 522 ) 523 524 line(bary((0,0,1)), bary(vector.element-product(p, (0,1,1))), name: "line") 525 content( 526 ("line.start", 50%, "line.end"), 527 angle: "line.end", 528 padding: .05, 529 anchor: "south", 530 text($x_1$, size: 7pt) 531 ) 532 content( 533 ("line.start", 99%, "line.end"), 534 angle: "line.end", 535 padding: .05, 536 anchor: "south", 537 text($:$, size: 7pt) 538 ) 539 line(bary(vector.element-product(p, (0,1,1))), bary((0,1,0)), name: "line") 540 content( 541 ("line.start", 50%, "line.end"), 542 angle: "line.end", 543 padding: .05, 544 anchor: "south", 545 text($x_2$, size: 7pt) 546 ) 547 548 circle(("a"), radius: 0.08, fill: white) 549 content((rel: (angle: 20deg, radius: .2)), $p_0$, anchor: "north") 550 circle(("b"), radius: 0.08, fill: white) 551 content((rel: (angle: 20deg, radius: .2)), $p_1$, anchor: "south-west") 552 circle(("c"), radius: 0.08, fill: white) 553 content((rel: (angle: 20deg, radius: .2)), $p_2$, anchor: "south-west") 554 }), 555 556 cetz.canvas({ 557 import cetz.draw: * 558 import cetz.matrix: * 559 import calc: * 560 561 let a = (0,0) 562 let b = (3,0.5) 563 let c = (1.2,2) 564 circle(a, radius: 0, name: "a") 565 circle(b, radius: 0, name: "b") 566 circle(c, radius: 0, name: "c") 567 let transformation = transpose((a,b,c)) 568 let bary(x) = mul-vec(transformation, vector.div(x, x.sum())) 569 570 line( 571 (bary: (a: 1, b: 0, c: 0)), 572 (bary: (a: 0, b: 1, c: 0)), 573 (bary: (a: 0, b: 0, c: 1)), 574 close: true 575 ) 576 577 let coord = (.28,.32,.5) 578 let p = vector.div(coord, coord.sum()) 579 580 circle((bary(p)), radius: 0.08, fill: white) 581 content((rel: (angle: 20deg, radius: .2)), $p$, anchor: "north") 582 583 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") 584 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") 585 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") 586 587 line(bary((1,0,0)), bary((p.at(2) + p.at(0),p.at(1), 0)), name: "line") 588 content( 589 ("line.start", 50%, "line.end"), 590 angle: "line.end", 591 padding: .05, 592 anchor: "north", 593 text($x_1 :$, size: 7pt) 594 ) 595 596 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") 597 content( 598 ("line.start", 50%, "line.end"), 599 angle: "line.end", 600 padding: .05, 601 anchor: "north", 602 text($x_2$, size: 7pt) 603 ) 604 605 line(bary((p.at(1),p.at(0) + p.at(2), 0)), bary((0,1,0)), name: "line") 606 content( 607 ("line.start", 50%, "line.end"), 608 angle: "line.end", 609 padding: .05, 610 anchor: "north", 611 text($: x_0$, size: 7pt) 612 ) 613 614 circle(("a"), radius: 0.08, fill: white) 615 content((rel: (angle: -20deg, radius: .2)), $p_0$, anchor: "north") 616 circle(("b"), radius: 0.08, fill: white) 617 content((rel: (angle: 20deg, radius: .2)), $p_1$, anchor: "south-west") 618 circle(("c"), radius: 0.08, fill: white) 619 content((rel: (angle: 20deg, radius: .2)), $p_2$, anchor: "south-west") 620 }) 621 ) 622 ]) 623 #card( 624 question: [Wie erhalt man die baryzentrischen Koordinaten des 625 Höhenpunkts, des In-und Umkreismittelpunkts eines 626 Dreiecks?], 627 answer: [ 628 Umkreismittelpunkt: 629 $ 630 m = (sans(a) sin(2 alpha) + ... + sans(c) sin(2 gamma)) / (sin(2 gamma) + ... + sin(2 gamma)) 631 $ 632 633 Inkreismittelpunkt 634 $ 635 n = (sans(a) a + ... + sans(c) c) / (a + ... + c) 636 $ 637 638 Höhenpunkt 639 $ 640 h = (sans(a) tan(alpha) + ... + sans(c) tan(gamma)) / (tan(alpha) + ... + tan(gamma)) 641 $ 642 ]) 643 == Affinkombinationen 644 #card( 645 question: [Was sind Affin-und Konvex-kombinationen?], 646 answer: [ 647 Eine Affinkombinationen ist eine Summe 648 $ 649 sans(p) &:= sum_(i=0)^m p_i omega_i \ 650 &:= sans(p)_0 omega + (sans(p)_1 - sans(p)_0)omega_1 + ... + 651 (sans(p)_m - sans(p)_0) omega_m 652 $ 653 $ 654 omega = omega_0 + ... + omega_m = cases(1 "falls" sans(p) "ein Punkt", 0 655 "falls" sans(p) "ein Vektor") 656 $ 657 Eine Affinkombinationen heißt Konvexkombination, falls 658 $ 659 omega = 1 "und" forall i : omega_i >= 0 660 $ 661 ]) 662 #card( 663 question: [Was sind konvexe Hüllen und Simplexe?], 664 answer: [ 665 Die Menge aller Konvexkombinationen bildet die konvexe Hülle der Punktmenge 666 ${sans(p)_0, ..., sans(p)_m}$. Insbesonder heißt die konvexe Hülle eines 667 Grundecks $sans(p)_0...sans(p)_n$ Simplex und speziell für $n=1$ Strecke, 668 für $n=2$ Dreieck und für $n=3$ Tetraeder. 669 ]) 670 == Unterraume 671 #card( 672 question: [Wie kann man affine Unterraume darstellen?], 673 answer: [ 674 Die Lösung 675 $ 676 n vec("", x, "") = vec("", b, "") + overbrace(mat(""; b_1, ..., b_r; ""),r) vec(y,"")r 677 $ 678 eines inhomogenen linearen Gleichungssystems (LGS) 679 $ 680 n-r overbrace(mat(""; "", A, ""; ""), n) vec("", x, "") = vec(a, "") 681 $ 682 vom Rang $n-r$ stellt einen affinen Unterraum des $cal(A)^n$ der Dimension 683 $r$ dar. Der Parametervektor $y$ stellt $x$ bezüglich des 684 Unterraum-Koordinatensystems $sans(b)sans(b)_1...sans(b)_r$ dar. 685 ]) 686 #card( 687 question: [Was ist eine Hyperebene und wie stellt man sie mit 688 baryzentrischen Koordinaten dar?], 689 answer: [ 690 Eine Hyperebene ist ein (n-1)-dimensionaler Untervektorraum des $cal(A)^n$. 691 Sie hat eine Darstellung der Form $u(x) := u_1 x_1 + ... + u_n x_n + u_0 = 692 0$.Aus dieser linearen Gleichung lässt sich leicht eine Darstellung in 693 baryzentrischen Koordinaten bezüglich der Punkte mit den erweiterten 694 Koordinatenvektoren $[1 1 0...0]^t, [1 0 1 0...0]^t, ..., [1 0...0 1]^t$ 695 gewinnen. Sei $1 = x_0 + ... + x_n$. Dann ist 696 $ 697 u(x) &= u_0 ( x_0 + ... + x_n) + u_1 x_1 + ... + u_n x_n \ 698 &= u_0 x_0 + (u_0 + u_1) x_1 + ... + (u_0 + u_n) x_n \ 699 &= 0 700 $ 701 ]) 702 #card( 703 question: [Wie kann ein Würfel in 6 Simplexe gleichen Volumens 704 zerlegt werden?], 705 answer: [ 706 #grid(columns: 2*(1fr,), 707 [ 708 $0 <= x <= y <= z <= 1$ \ 709 $0 <= x <= z <= y <= 1$ \ 710 $0 <= y <= x <= z <= 1$ \ 711 $0 <= y <= z <= x <= 1$ \ 712 $0 <= z <= x <= y <= 1$ \ 713 $0 <= z <= y <= x <= 1$ \ 714 ], 715 [ 716 #cetz.canvas({ 717 import cetz.draw: * 718 import cetz.matrix: * 719 720 let transformation = ((1,0,-0.5 * cos(45deg)),(0,1,0.5 * sin(45deg))) 721 for edge in cube.edges { 722 let a = mul-vec(transformation, cube.points.at(edge.at(0))) 723 let b = mul-vec(transformation, cube.points.at(edge.at(1))) 724 line(a,b, stroke: black) 725 } 726 line( 727 mul-vec(transformation, (0,0,0)), 728 mul-vec(transformation, (1,0,0)), 729 mul-vec(transformation, (1,1,1)), 730 mul-vec(transformation, (0,1,1)), 731 close: true, 732 stroke: green, 733 fill: green.transparentize(75%) 734 ) 735 line( 736 mul-vec(transformation, (0,0,0)), 737 mul-vec(transformation, (0,1,0)), 738 mul-vec(transformation, (1,1,1)), 739 mul-vec(transformation, (1,0,1)), 740 close: true, 741 stroke: blue, 742 fill: blue.transparentize(75%) 743 ) 744 line( 745 mul-vec(transformation, (0,0,0)), 746 mul-vec(transformation, (0,0,1)), 747 mul-vec(transformation, (1,1,1)), 748 mul-vec(transformation, (1,1,0)), 749 close: true, 750 stroke: red, 751 fill: red.transparentize(75%) 752 ) 753 }) 754 Einfache Freudenthal-Triangulierung 755 ] 756 ) 757 ]) 758 == Gitter 759 #card( 760 question: [Was kann ein regelmaBiges Dreiecksgitter in 761 baryzentrischen Koordinaten beschrieben werden?], 762 answer: [ 763 $ 764 x = a alpha + b beta + c gamma 765 text("mit") 1 = alpha + beta + gamma 766 $ 767 Die Isolinien $alpha = i, beta = j, gamma = k$ für $i, j, k in ZZ$ beschreiben 768 ein regelmaBiges Gitter. 769 770 #cetz.canvas({ 771 import cetz.draw: * 772 import cetz.matrix: * 773 circle((0,0), radius: 0, name: "a") 774 circle((1,0), radius: 0, name: "b") 775 circle((cos(60deg),sin(60deg)), radius: 0, name: "c") 776 777 line((bary: (a: 2, b: -2, c: 1)), (bary: (a: 1, b: -2, c: 2))) 778 content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = 1$, angle: -60deg, anchor: "west") 779 line((bary: (a: 2, b: -1, c: 0)), (bary: (a: 0, b: -1, c: 2))) 780 content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = 0$, angle: -60deg, anchor: "west") 781 line((bary: (a: 2, b: 0, c: -1)), (bary: (a: -1, b: 0, c: 2))) 782 content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = -1$, angle: -60deg, anchor: "west") 783 line((bary: (a: 1, b: 1, c: -1)), (bary: (a: -2, b: 1, c: 2))) 784 content((rel: (angle: -60deg, radius: -1.3), to: ()), $alpha = -2$, angle: -60deg, anchor: "west") 785 line((bary: (a: 0, b: 2, c: -1)), (bary: (a: -2, b: 2, c: 1))) 786 line((bary: (a: -1, b: 3, c: -1)), (bary: (a: -2, b: 3, c: 0))) 787 788 line((bary: (a: 1, b: -2, c: 2)), (bary: (a: -2, b: 1, c: 2))) 789 content((rel: (.1,0)), $gamma = 2$, anchor: "west") 790 line((bary: (a: 2, b: -2, c: 1)), (bary: (a: -2, b: 2, c: 1))) 791 content((rel: (.1,0)), $gamma = 1$, anchor: "west") 792 line((bary: (a: 2, b: -1, c: 0)), (bary: (a: -2, b: 3, c: 0))) 793 content((rel: (.1,0)), $gamma = 0$, anchor: "west") 794 line((bary: (a: 2, b: 0, c: -1)), (bary: (a: -2, b: 4, c: -1))) 795 content((rel: (.1,0)), $gamma = -1$, anchor: "west") 796 797 798 line((bary: (a: 2, b: -2, c: 1)), (bary: (a: 2, b: 0, c: -1))) 799 content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 0$, angle: 60deg, anchor: "west") 800 line((bary: (a: 1, b: -2, c: 2)), (bary: (a: 1, b: 1, c: -1))) 801 content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 1$, angle: 60deg, anchor: "west") 802 line((bary: (a: 0, b: -1, c: 2)), (bary: (a: 0, b: 2, c: -1))) 803 content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 2$, angle: 60deg, anchor: "west") 804 line((bary: (a: -1, b: 0, c: 2)), (bary: (a: -1, b: 3, c: -1))) 805 content((rel: (angle: 60deg, radius: -1.3), to: ()), $beta = 3$, angle: 60deg, anchor: "west") 806 line((bary: (a: -2, b: 1, c: 2)), (bary: (a: -2, b: 4, c: -1))) 807 808 circle(("a"), radius: 0.08, fill: white) 809 content((rel: (angle: 20deg, radius: .2)), $a$, anchor: "south-west") 810 circle(("b"), radius: 0.08, fill: white) 811 content((rel: (angle: 20deg, radius: .2)), $b$, anchor: "south-west") 812 circle(("c"), radius: 0.08, fill: white) 813 content((rel: (angle: 20deg, radius: .2)), $c$, anchor: "south-west") 814 }) 815 ]) 816 #card( 817 question: [Was ist die Coxeter-Freudenthal-KuhnTriangulierung?], 818 answer: grid(columns: 2, gutter: 10pt, [ 819 #cetz.canvas({ 820 import cetz.draw: * 821 import cetz.matrix: * 822 823 let perspective = ((1,0,cos(45deg)),(0,1,sin(45deg))) 824 for edge in cube.edges { 825 let a = mul-vec(perspective, cube.points.at(edge.at(0))) 826 let b = mul-vec(perspective, cube.points.at(edge.at(1))) 827 line(a,b, stroke: black) 828 } 829 let a = (0,0,0) 830 let b = (1,0,0) 831 let c = (0,0,1) 832 let d = (0,1,0) 833 let transformation = transpose((a,b,c,d)) 834 let bary(x) = mul-vec(transformation, vector.div(x, x.sum())) 835 836 line( 837 mul-vec(perspective, bary((0,0,0,1))), 838 mul-vec(perspective, bary((0,0,1,0))), 839 mul-vec(perspective, bary((-1,1,1,0))), 840 mul-vec(perspective, bary((-1,1,0,1))), 841 fill: red.transparentize(70%), 842 stroke: red, 843 close: true 844 ) 845 line( 846 mul-vec(perspective, bary((0,1,0,0))), 847 mul-vec(perspective, bary((0,0,1,0))), 848 mul-vec(perspective, bary((-1,0,1,1))), 849 mul-vec(perspective, bary((-1,1,0,1))), 850 fill: green.transparentize(70%), 851 stroke: green, 852 close: true 853 ) 854 line( 855 mul-vec(perspective, bary((0,1,0,0))), 856 mul-vec(perspective, bary((0,0,1,0))), 857 mul-vec(perspective, bary((0,0,0,1))), 858 fill: blue.transparentize(70%), 859 stroke: blue, 860 close: true 861 ) 862 line( 863 mul-vec(perspective, bary((-1,1,1,0))), 864 mul-vec(perspective, bary((-1,1,0,1))), 865 mul-vec(perspective, bary((-1,0,1,1))), 866 fill: blue.transparentize(70%), 867 stroke: blue, 868 close: true 869 ) 870 871 circle(mul-vec(perspective, a), radius: 0.08, fill: white) 872 content((rel: (angle: 20deg, radius: .2)), $a$, anchor: "south-west") 873 circle(mul-vec(perspective, b), radius: 0.08, fill: white) 874 content((rel: (angle: 20deg, radius: .2)), $b$, anchor: "south-west") 875 circle(mul-vec(perspective, c), radius: 0.08, fill: white) 876 content((rel: (angle: 20deg, radius: .2)), $c$, anchor: "south-west") 877 circle(mul-vec(perspective, d), radius: 0.08, fill: white) 878 content((rel: (angle: 20deg, radius: .2)), $d$, anchor: "south-west") 879 }) 880 ], [ 881 Der Würfel links ist in sechs Tetraeder zerlegt. Unterteilt man alle Würfel 882 eines raumfüllenden regelmäßigen Würfelgitters parallel zu der links gezeigten 883 Unterteilung, erhält man die Coxeter-Freudenthal-Kuhn-Triangulierung des 884 Raums. 885 ])) 886 == Affine Abbildungen 887 #card( 888 question: [Was ist eine affine Abbildung und die ihr zugeordnete 889 lineare Abbildung?], 890 answer: [ 891 Eine Abbildung $Phi: cal(A) -> cal(B)$ zwischen affinen Räumen heißt affin, 892 wenn sie alle Affinkombinationen invariant lässt, d.h. wenn sie mit 893 Affinkombinationen vertauschbar ist: $Phi(sum sans(p)_i x_i) = sum(Phi 894 sans(p)_i) x_i$ 895 896 $ 897 Phi(sans(x)) = Q bb(x) &:= sans(q)_0 x_0 + ... + sans(q)_n x_n \ 898 &= sans(q)_0 + (sans(q)_1 - sans(q)_0) x_1 + ... + 899 (sans(q)_n - sans(q)_0) x_n \ 900 &=: sans(b) + B sans(x) 901 $ 902 903 Die Abbildung $phi(sans(v)) = B sans(v)$ ist die $Phi$ zugeodnete lineare 904 Abbildung $sans(A) -> sans(B)$ für $sans(v) = sans(y) - sans(x), 905 Phi(sans(y)) - Phi(sans(x)) = B sans(v)$ 906 ]) 907 #card( 908 question: [Wie lassen sich beide mit baryzentrischen Koordinaten 909 und Matrizen beschreiben?], 910 answer: [ 911 Der Vektor $sans(v)$ hat den baryzentrischen Koordinatenvektor $bb(v) = 912 bb(y) - bb(x)$. Somit haben die affine Abbildung $Phi$ und die zugeodnete 913 lineare Abbildung $phi$ bezüglich baryzentrischen Koordinaten die gleiche 914 Matrixdarstellung: 915 $ 916 Phi(sans(x)) = Q bb(x) = mat(sans(q)_0,...,sans(q)_n) bb(x)\ 917 phi(sans(v)) = Q bb(v) = mat(sans(q)_0,...,sans(q)_n) bb(v) 918 $ 919 ]) 920 == Parallelitat und Teilverhaltnisse 921 #card( 922 question: [Wie sind Parallelitat und Teilverhaltnisse definiert?], 923 answer: [ 924 Zwei affine Unterräume $cal(U) = sans(p) + sans(U)$ und $cal(V) = sans(q) + 925 sans(V)$ der $cal(A)^n$ heißen parallel, falls $sans(U) subset sans(V)$ oder 926 $sans(V) subset sans(U)$. Die linearen Räume $sans(U)$ und $sans(V)$ heißen 927 auch Richtungen der affinen Unterräume. 928 929 Zwei Strecken $sans(a b)$ und $sans(c d) subset cal(A)^n$ heißen parallel, 930 wenngilt 931 $ 932 sans(d) - sans(c) = (sans(b) - sans(a)) rho, rho in bb(R) \{0} 933 $ 934 935 Sind Strecken parallelr, schreiben wir auch 936 $ 937 (sans(d) - sans(c)) / (sans(b) - sans(a)) := rho 938 $ 939 wobei der Faktor $rho$ das Teilverhältnis der beiden Strecken ist. 940 ]) 941 == Verallgemeinerte baryzentrische Koordinaten 942 #card( 943 question: [Was sind verallgemeinerte baryzentrische Koordinaten 944 und wie lassen sie sich alle darstellen?], 945 answer: [ 946 Sei $sans(p_1 ... p_n)$ ein nicht-degeneriertes Polygon $cal(P)$ im 947 $cal(A)^2$. 948 $ 949 sans(p) = sum sans(p)_i sans(v)_i "und" 950 1 = sum sans(v)_i 951 $ 952 heißen die $v_i$ verallgemeinerte baryzentrische Koordinaten von 953 $sans(p)$ bezüglich $cal(P)$. Sie bilden einen verallgemeinerten 954 baryzentrischen Koordinatenvektor $bb(v) = [v_1 ... v_n]^t$. 955 ]) 956 == Wachspresskoordinaten 957 #card( 958 question: [Was sind die Wachspresskoordinaten und welche 959 Eigenschaften haben sie?], 960 answer: [ 961 $a_i := det mat(1,1,1;sans(p), sans(p)_i, sans(p)_(i+:))$ und 962 $d_i := det mat(1,1,1; sans(p)_(i-z),sans(p)_i,sans(p)_(i+1))$ 963 964 Wachspresskoordinaten $omega_i := lambda_i / (sum_j lambda_j)$ wobei 965 $lambda_j = d_j / (a_i a_(i-1))$ 966 967 Die Wachspresskoordinaten kann man als Affinkombinationen der $sans(b)_i$ 968 darstellen. Bemerkenswerterweise gilt für der Wachspresskoordinatenvektoren 969 $bb(w) = [omega_1 ... omega_n]^t$, dass $[sans(b)_1 ... sans(b)_n] bb(w) = 970 bb(w)$. Somit ist $bb(w)$ ein Eigenvektor der Matrix $B = [sans(b)_1 ... 971 sans(b)_n]$ zum Eigenwert 1. 972 973 ]) 974 == Mittelwertkoordinaten 975 #card( 976 question: [Was sind die Mittelwertkoordinaten und wo sind sie alle 977 positiv?], 978 answer: [ 979 Für das Polygon $sans(p p_1 ... p_n)$ sind die Mittelwertkoordinaten $mu_i$ 980 eines Punkts $sans(p)$ so definiert: 981 $ 982 mu_i := tau_i / (sum_j tau_j), "wobei" tau_i := 1 / c_i (tan delta_(i-1) + 983 tan delta_i) 984 $ 985 986 Der Kern eines Polygons besteht aus allen Punkten im Inneren, von denen aus 987 der gesamte Polygonrand gesehen werden kann, wenn der Polygonrand als 988 undurchsichtig angesehen wird. Die Mittelwertkoordinaten der Punkte im Kern 989 sind alle positiv. 990 ]) 991 = Euklidische Geometrie 992 #card( 993 question: [Was ist ein euklidischer Raum und was unterscheidet ihn 994 von einem affinen?], 995 answer: [ 996 Ein euklidischer Vektorraum ist ein reeller Vektorraum mit einem 997 Skalarprodukt und ein euklidischer Raum ist ein affiner Raum, dessen 998 zugeordneter Vektorraum euklidisch ist. 999 1000 $cal(E)^n$ bezeichnet den euklidischen $cal(A)^n$ und er Abstand zweier 1001 Punkte $sans(p)$ und $sans(q)$ ist die Länge des Vektors $sans(q) - sans(p)$ 1002 als auch die Länge der Strecke $sans(p q)$. 1003 1004 1005 ]) 1006 1007 == Euklidische Bewegungen 1008 #card( 1009 question: [Was gilt für ihre Matrizen?], 1010 answer: [ 1011 Ein affines Koordinatessystem $sans(a a_1 ... a_n)$ ist ein euklidisches 1012 Koordinatensystem, wenn die Vektoren $sans(a)_1,...,sans(a)_n$ eine 1013 orthonormale Basis bilden. 1014 1015 Stellen $sans(u), sans(v)$ zwei Vektoren zezüglich einer orthonormalen Basis 1016 dar, ist $sans(u)^t sans(v)$ ihr Skalarprodukt und allgemeiner lässt sich 1017 jedes Skalarprodukt mit Hilfe einer symmetrischen, positiv definiten Matrix 1018 A als $sans(u)^t A sans(v)$ schreiben. Hier setzen wir für den $cal(E)^n$ 1019 immer ein euklidisches Koordinatensystem voraus. 1020 ]) 1021 #card( 1022 question: [Wie kann man die Drehachse einer Rotation im 1023 dreidimensionalen Raum bestimmen?], 1024 answer: [ 1025 Eigenvektor der Matrix $[sans(b)_1, sans(b)_2, sans(b)_3]$ 1026 1027 Eine affine Abbildung $Phi(x) = sans(b) + B sans(x)$ ist eine Bewegung, wenn 1028 B orthonormal ist. 1029 ]) 1030 1031 == Euler-Winkel 1032 #card( 1033 question: [Was sind die Euler-Winkel und wie verwendet man sie?], 1034 answer: [ 1035 Jede Rotation im $cal(E)^3$ kann aus einer Rotation um die z-Achse mit dem 1036 Winkel $alpha$, eine Rotation um die gedrehte x-Achse (= $x'$-Achse) mit dem 1037 Winkel $beta$ und eine Rotation um die zweimal gedrehte z-Achse mit dem 1038 Winkel $gamma$ zusammengesetzt werden. Diese Rotation sind die 1039 Euler-Drehungen um die Euler-Winkel $alpha, beta, gamma$. 1040 1041 #text(stroke: red)[TODO: verwendung] 1042 ]) 1043 1044 1045 == Quaternionen 1046 #card( 1047 question: [Was sind Quaternionen, konjugierte und normierte?], 1048 answer: [ 1049 Quaternionen oder hyperkomplexe Zahlen sind Elemente 1050 $ 1051 bb(q) = (q_0, ..., q_3) = q_0 dot 1 + q_1 dot i + q_2 dot j + q_3 dot k 1052 $ 1053 des $bb(R)^4$ mit den Multiplikationsregeln 1054 #table(columns: 5, 1055 $dot$, $1$, $i$, $j$, $k$, 1056 $1$, $1$, $i$, $j$, $k$, 1057 $i$, $i$, $-1$, $k$, $-j$, 1058 $j$, $j$, $-k$, $-1$, $i$, 1059 $k$, $k$, $j$, $-i$, $-1$ 1060 ) 1061 d.h. für ein Quaternionenprodukt 1062 $ 1063 bb(a) dot bb(b) &= (a_0, ..., a_3) dot (b_0, ..., b_3) \ 1064 &= (a_0 b_0 - a_1 b_1 - a_2 b_2 - a_3 b_3) \ 1065 & + (a_0 b_1 + a_1 b_0 + a_2 b_3 - a_3 b_2) dot i \ 1066 & + (a_0 b_2 - a_1 b_3 + a_2 b_0 + a_3 b_1) dot j \ 1067 & + (a_0 b_3 + a_1 b_2 - a_2 b_1 + a_3 b_0) dot k \ 1068 $ 1069 und insbesondere $bb(1) := (1, 0, 0, 0)$ und alle $bb(q)$ ist 1070 $ 1071 bb(1) dot bb(q) = bb(q) dot bb(1) 1072 $ 1073 1074 Das konjugierte Quaternion zu $bb(q)$ ist 1075 $ 1076 bb(q)^* = (q_0, -q_1, -q_2, -q_3) 1077 $ 1078 1079 Es heißt Einheitsquaternion oder normiertes Quaternion, falls 1080 $ 1081 norm(bb(q))^2 = norm(bb(q)^*)^2 := sum q_i^2 = 1 1082 $ 1083 1084 ]) 1085 #card( 1086 question: [Wie hangen sie mit Rotationen zusammen?], 1087 answer: [ 1088 Sei $bb(r) = (cos phi / 2, a^t, sin phi / 2) $ ein normiertes Quaternion, 1089 d.h. $a^2 = 1$. 1090 Dann gilt 1091 $ 1092 bb(r) dot (0 x^t) dot bb(r)^* = (mat(0, ""; "", R) vec(0, x))^t 1093 $ 1094 1095 $bb(r) = (1, 0, 0, )$ stellt die Identität dar\ 1096 $bb(r)^*$ die inverse Rotation \ 1097 $bb(p r)$ die Komposition der durch $bb(p)$ und $bb(r)$ gegebene Rotation 1098 1099 ]) 1100 #card( 1101 question: [Was lasst sich mit Quaternionen, EulerWinkeln und 1102 Drehmatrizen jeweils besser gut darstellen oder 1103 durchführen?], 1104 answer: [ 1105 *Euler-Winkel*: interpolation, anwendung auf pkt\ 1106 *Matirx*: anwendung auf pkt\ 1107 *Quaternion*: Konkatenation, Normierung, Interpolation 1108 ]) 1109 == Zweibögen 1110 #card( 1111 question: [Was sind Zweibogen und Kontaktelemente?], 1112 answer: [ 1113 Ein Zweibogen (Biarc) ist eine glatte Kurve bestehend aus zwei orientierten 1114 Kreisbögen. Dabei dürfen Radien unendlich sein, d.h. Kreisbögen können 1115 Strecken sein. 1116 1117 Ein Punkt $p$ einer Kurve bildet zusammen mit dem zugehörigen 1118 Tangentenvektor $t, norm(t) = 1$, ein Kontaktelement der Kurve. 1119 ]) 1120 #card( 1121 question: [Wodurch ist ein Zweibogen eindeutig festgelegt?], 1122 answer: [ 1123 Zu zwei gegebenen Punkten $a$ und $b$ und einem Kontaktelement $c t$ gibt es 1124 genau einen Zweibogen von $a$ nach $b$ mit der Tangentenrichtung $t$ um 1125 Übergangspunkt $c$ zwischen den beiden Bögen. 1126 1127 ]) 1128 #card( 1129 question: [Was erfüllen die drei Endkontaktelemente der beiden 1130 Bogen eines Zweibogens?], 1131 answer: [ 1132 ]) 1133 #card( 1134 question: [Wie bekommt man alle Zweibogen zu gegebenen 1135 Anfangs-und Endkontaktelement?], 1136 answer: [ 1137 Im $cal(E)^2$ seien $a u$ und $c w$ zwei beliebige Kontaktelemente mit den 1138 Tangenten $cal(A) := a + u bb(R)$ und $cal(C) := c w bb(R)$. Dann existiert 1139 ein eindeutiger Kreis $K$ durch $a$ und $b$ sodass 1140 $ 1141 phi := angle cal(A K) = angle cal(C K) 1142 $ 1143 Dieser Kreis $cal(K)$ ist der Ort $cal(B)$ (d.h. die Menge) Übergangs- oder 1144 Bindepunkte aller Zweibögen mit den Endkontaktelementen $a u$ und $c w$. 1145 1146 ]) 1147 #card( 1148 question: [Wie übertragen sich planare Zweibogenkonstruktionen 1149 auf sphärische?], 1150 answer: [ 1151 Die Sätze gelten genauso auch auf der Sphäre $S^2$ anstelle des $cal(E)^2$. 1152 Echte Zweibögen auf $S^2$ sind räumlich: Ihre Bögen liegen in verschiedenen 1153 Ebenen. Außerdem liegt jeder räumliche Zweibogen auf einer (eideutigen) 1154 Sphäre. 1155 ]) 1156 1157 == Volumen 1158 #card( 1159 question: [Wie ist das Volumen eines Parallelepipeds definiert?], 1160 answer: [ 1161 Jedes k-dimensionale Parallelepiped 1162 $ 1163 P_k := sans(p) + A_k [0,1]^k 1164 $ 1165 hat die Höhe $gamma_(k k)$ über $P_(k-1)$ und das Volumen 1166 $ 1167 "vol"_k P_k &:= gamma_11 ... gamma_(k k) \ 1168 &= sqrt(det(Gamma_k^t B_k^t B_k Gamma_k)) \ 1169 &= sqrt(det(A_k^t A_k)) 1170 $ 1171 ]) 1172 #card( 1173 question: [Warum lassen euklidische Bewegungen Volumina invariant? 1174 ], 1175 answer: [ 1176 Euklidische Bewegungen lassen Volumina invariant. Affinitäten 1177 $ 1178 Phi(x) = c + C x: cal(E)^n -> cal(E)^n 1179 $ 1180 ändern das n-dimensionale Volumina um den Faktor $abs(det C)$ und lassen 1181 Verhältnisse n-dimensionaler Volumina invariant. (Weil C orthonormal/eine 1182 Drehung und keine Skalierung ist?) 1183 ]) 1184 1185 == Alternierendes Produkt 1186 #card( 1187 question: [Wie ist das alternierende Produkt definiert und welche 1188 Eigenschaften hat es?], 1189 answer: [ 1190 Die Determinate einer $n times n$-Matrix $A = [a_1 ... a_n]$ kann mit Hilfe 1191 ihrer Kofaktoren $v_i = (-1)^(i+1) det A_(i 1)$ berechnet werden, wobei 1192 $A_(i 1)$ die Matrix A ohne ihre $i$-te Zeile und erste Spalte ist; denn mit 1193 dem Vektor $bb(b) = [v_1 ... v_n]$ der Kofaktoren git $det A = a_1^t v$. 1194 1195 Das alternierende Produkt der Vektoren $a_2,...,a_n$ ist der Vektor $a_2 and 1196 ... and a_n := v$. 1197 1198 - $a_i^t v = 0$ für $i = 2, ..., n$ 1199 - $"vol"_n A = "vol"_(n-1) [a_2 ... a_n] dot abs(a_1^t) / norm(v) => norm(v) 1200 = "vol"_(n-1) [a_2 ... a_n]$ 1201 - $det [v a_2 ... a_n] = v^2 >= 0$, d.h. die Folge $v a_2 ... a_n$ ist 1202 positiv orientiert. 1203 1204 Für $n=2$: $and vec(a,b) = vec(b, -a)$\ 1205 Für $n=3$: Kreuzprodukt $a_2 and a_3 = a_2 times a_3$ 1206 ]) 1207 == Lot und Abstand 1208 #card( 1209 question: [Wie lassen sich die Abstände eines Punkts von einer 1210 Ebene und die zweier Geraden berechnen?], 1211 answer: [ 1212 Gesucht: Fußpunkt $f$ und Abstand $d$ 1213 1214 Punkt $mono(p)$ zu Ebene $cal(U): d(x) = mono(u)^t mono(x) - u = 0$, sodass 1215 $mono(f) = mono(p) - d mono(u)$: 1216 $ 1217 mono(u)^t mono(f) &= mono(u)^t mono(p) - d = u \ 1218 => d &= mono(u)^t mono(p) - u \ 1219 &= d(mono(p)) 1220 $ 1221 1222 Punkt $mono(p)$ zu Ebene $cal(U): mono(x) = mono(a) + [mono(a)_2 ... 1223 mono(a)_n]mono(y) =: mono(a) + A mono(y)$, sodass $mono(f) = mono(p) - d 1224 mono(u)$: 1225 $ 1226 d = (det mat((mono(p)-mono(a)), A))/("vol"_(n-1) A) 1227 = (det mat((mono(p)-mono(a)), A)) / norm(mono(a)_2 and ... and mono(a)_n) \ 1228 1229 mono(f) = mono(p) - (mono(a)_2 and ... and mono(a)_n)/(norm(mono(a)_2 and 1230 ... and mono(a)_n)) d 1231 $ 1232 1233 Gerade $cal(A): mono(x) = mono(a) + mono(a)_1 lambda$ zu Gerade $cal(B): 1234 mono(x) = mono(b) + mono(b)_1 lambda$: 1235 $ 1236 d = ("vol"_3 mat((mono(b)-mono(a)), mono(a)_1, mono(b)_1))/("vol"_2 1237 mat(mono(a)_1, mono(b)_1)) 1238 $ 1239 1240 Der Fußpunkt liegt in der Ebene $cal(E) : mono(u)^t (mono(x) - mono(a)) = 0$ 1241 $ 1242 ... => mono(f) = mono(b) + mono(b)_1 (mono(u)^t (mono(a)-mono(b))) / 1243 (mono(u)^t mono(b)_1) 1244 $ 1245 ]) 1246 = Perspektivische Darstellungen 1247 == Homogene Koordinaten 1248 #card( 1249 question: [Was sind homogene Koordinten, Fernpunkte und der 1250 Unpunkt?], 1251 answer: [ 1252 Ein Punkt $x = vec(x_1, dots.v, x_n) in cal(A)^n$ hat die homogenen 1253 Koordinatnvektoren $bb(x) = vec(1, x) xi, xi != 0$, die die Vielfachen des 1254 erweiterten Koordinatenvektors von $x$ sind. 1255 1256 Die Mengen der Vielfachen eines Vektors $v$ ohne den Nullvektor $o$ werden 1257 als ein (einziger) Fern- oder uneigentlicher Punkt mit den homogenen 1258 Koordinatenvektoren $bb(v) = vec(0, v) phi, phi != 0$ betrachtet. Jedoch 1259 zählt der Unpunkt $bb(o) = vec(0, o) phi, phi != 0$ nicht zu den 1260 Fernpunkten. 1261 1262 Vielfache eines homogenen Koordinatenvektors $bb(x)$ stellen denselben Punkt 1263 $x$ dar. Wir bezeichnen dies mit $bb(x) ~ bb(y) :<=> bb(x) = bb(y)phi, phi 1264 != 0$, und $bb(x) lt.tri x$ 1265 ]) 1266 #card( 1267 question: [Geben Sie die Gleichungsdarstellung einer Hyperebene in 1268 erweiterten Koordinaten an und leiten Sie daraus die 1269 homogene Darstellung ab!], 1270 answer: [ 1271 Eine Hyperebene $cal(H): u^t x + u_0 = mat(u_0, u^t) vec(1,x) = 0$ hat die 1272 homogene Darstellung $bb(u)^t bb(x) = 0$. 1273 ]) 1274 #card( 1275 question: [Was ist die Fernhyperebene?], 1276 answer: [ 1277 Die projektive Hyperebene $cal(F): [1 0 ... 0] bb(x) = 0$ besteht aus den 1278 Fernpunkten des $cal(A)^n$. Sie heißt Fern(hyper)ebene oder im $cal(A)^2$ 1279 auch Ferngerade. 1280 ] ) 1281 == Zentralprojektion 1282 #card( 1283 question: [Was ist eine Zentralprojektion?], 1284 answer: [ 1285 Bei einer Zentralprojektion sind nicht parallel, sondern gehen alle durch ei 1286 nZentrum $a$, das auch Auge genannt wird. 1287 1288 #cetz.canvas({ 1289 import cetz.draw: * 1290 import cetz.matrix: * 1291 1292 let transformation = ((1,0.5 * cos(30deg),0),(0,-0.5 * sin(30),1)) 1293 let d = 1.3 1294 let x = (2,2,1) 1295 1296 circle((0,0), radius: .08) 1297 content((), [Auge], padding: .1, anchor: "north") 1298 1299 line( 1300 mul-vec(transformation, (0,0,0)), 1301 mul-vec(transformation, (0,0,1)), mark: (end: "stealth")) 1302 content((), $z$, anchor: "south") 1303 1304 line( 1305 mul-vec(transformation, (0,0,0)), 1306 mul-vec(transformation, (3,0,0)), mark: (end: "stealth")) 1307 content((), $x$, anchor: "west") 1308 1309 line( 1310 mul-vec(transformation, (2,0,0)), 1311 mul-vec(transformation, (2,3,0)), mark: (end: "stealth")) 1312 content((), $y$, anchor: "west") 1313 1314 line( 1315 mul-vec(transformation, (2,2,0)), 1316 mul-vec(transformation, x)) 1317 content((), $bb(x)$, padding: .1, anchor: "west") 1318 circle(mul-vec(transformation, x), radius: .08) 1319 1320 line( 1321 mul-vec(transformation, (0,0,0)), 1322 mul-vec(transformation, (0,d,0))) 1323 content((), $delta$, anchor: "west") 1324 1325 line( 1326 mul-vec(transformation, (0,d,0)), 1327 mul-vec(transformation, (1.5,d,0)), 1328 mul-vec(transformation, (1.5,d,1)), 1329 mul-vec(transformation, (0,d,1)), 1330 close: true 1331 ) 1332 1333 line( 1334 mul-vec(transformation, (0,0,0)), 1335 mul-vec(transformation, x)) 1336 1337 let y = mul-vec(((0,0,1,0),(0,d,0,0),(0,0,0,d)),(1,) + x) 1338 1339 circle(mul-vec(transformation, (y.at(1)/y.at(0),d,y.at(2)/y.at(0))), radius: .08) 1340 content((), $bb(y)$, padding: .1, anchor: "north") 1341 1342 }) 1343 Wir wählen das Koordinatessystem so, dass der Ursprung im 1344 Projektionszentrum, dem Auge $a$ liegt und die Bildebene parallel zur $x 1345 z$-Ebene ist. Das Koordinatessystem der Bildebene sei 1346 $ 1347 vec(0, delta, 0), vec(1,0,0), vec(0,0,1) 1348 $ 1349 Dann hat $x = [x y z]^t$ das Bild 1350 $ 1351 y := vec(xi, eta) = vec(x, z) delta / y 1352 $ 1353 ]) 1354 #card( 1355 question: [Wie kann sie mit Matrizen beschrieben werden?], 1356 answer: [ 1357 In homogenen Koordinten sieht dies so aus: 1358 $ 1359 bb(y) = vec(1, xi, eta) omega = vec(y, x delta, z delta) phi = mat(0, , 1360 1,;0, delta,,;0,,,delta) vec(1,x,y,z) phi = P bb(x) 1361 $ 1362 ]) 1363 #card( 1364 question: [Was ist die Fokaldistanz und was ist der Hauptpunkt?], 1365 answer: [ 1366 Die Fokaldistanz $delta$ ist der Abstand der Bildebene zur Kamera und 1367 kontrolliert die Bildgröße. 1368 1369 Der Punkt $h$ der Bildebene, wo der Projektionsstrahl/das Auge senkrecht zur 1370 Bildebene ist, heißt Hauptpunkt. 1371 ]) 1372 == Kamerabewegung 1373 #card( 1374 question: [Wie stellt sich eine Zentralprojektion in Matrizen dar, 1375 wenn das Objekt- und Kamerasystem verschieden sind?], 1376 answer: [ 1377 #TODO()[Bild] 1378 1379 Im Allgemeinen ist das Kamerasystme mit dem Koordinatenvektoren $dash(x) = 1380 [xi delta eta]^t$ des Objektsystems bezogen, sondern über eine allgemeine 1381 Koordinatentransformation $x = c + [c_1 c_2 c_3] dash(x)$, wobei sich die 1382 $c$'s wie $x$ auf das Objektsystem beziehen. Wir fassen die 1383 Koordinatentransformation mit Matrizen als $x = c + C dash(x)$ oder kürzer 1384 als $bb(x) = mat(1, o^t; c, C) dash(bb(x)) = bb(C) dash(bb(x))$ zusammen. 1385 Das zentralperspektivische Bild von $x$ hat somit die homogene Darstellung 1386 $bb(y) = bb(T P C)^(-1) bb(x) = bb(A)$, wobei $bb(T)$ zusätzlch eine 1387 Translation des Bildsystems beschreibt. 1388 1389 Weil $C$ orthonormal ist, folgt $bb(C)^(-1) = mat(1, o^t; -C^t c, C^t)$. 1390 ]) 1391 == Fluchtpunkte 1392 #card( 1393 question: [Was versteht man unter Fluchtpunkten, de Spur, Horizont, 1394 Verschwindungsebene und Fluchtdreieck?], 1395 answer: [ 1396 Eine Gerade 1397 $ 1398 cal(G): x &= p + v lambda 1399 bb(x)&= vec(1, p) + vec(0, v) lambda = bb(p) + bb(v) lambda 1400 $ 1401 wird auf die Gerade $cal(G)': bb(A p) + bb(A v) lambda$ abgebildet, wobei 1402 $bb(A)$ die Abbildungsmatrix ist. Dabei stellt $bb(A v)$ das Bild des 1403 Fernpunkts $f_(cal(G))$ von $cal(G)$ dar. Es ist der Fluchtpunkt von 1404 $cal(G)$ bzw. von $cal(G)'$. 1405 1406 Die Fluchtpunkte (der Geraden) einer Ebene $cal(E)$ bilden deren 1407 Fluchtgeraden oder, wenn $cal(E)$ horizontal ist, deren Horizont. 1408 1409 Der Schnitt einer Ebene $cal(E)$ mit der Bildebene heißt die Spur von 1410 $cal(E)$. Sie ist parallel zu Fluchtgeraden von $cal(E)$. 1411 1412 Die Ebene $cal(V)$ parallel zur Bildebene durch das Auge heißt 1413 Verschwindungsebene. Sie wird auf die Ferngerade der Bildebene abgebildet, 1414 aber das Auge hat kein Bild. 1415 ]) 1416 #card( 1417 question: [Wann sind Fluchtpunkte Fernpunkte?], 1418 answer: [ 1419 Ist $cal(G)$ parallel zur Bildebene, ist ihr Fluchtpunkt ein Fernpunkt der 1420 Bildebene. 1421 ]) 1422 #card( 1423 question: [Wo schneiden sich Spur und Fluchtgeraden einer Ebene?], 1424 answer: [ 1425 1426 ]) 1427 == Der Hauptsatz 1428 #card( 1429 question: [Erklären Sie, was die Spalten und Elemente der Matrix 1430 einer Zentralperspektive bedeuten!], 1431 answer: [ 1432 Eine Zentralperspektive hat die Darstellung $bb(y) = bb(A x)$ und 1433 ausführlicher 1434 $ 1435 vec(epsilon, y) rho = mat(1 alpha, epsilon_1 alpha_1, epsilon_2 alpha_2, 1436 epsilon_3 alpha_3; a alpha, a_1 alpha_1, a_2 alpha_2, a_3 alpha_3) vec(e, 1437 x) 1438 $ 1439 wobei $epsilon, epsilon_1, epsilon_2, epsilon_3, e in {0,1}$ und $alpha_i != 1440 0 != alpha$. Dabei wird vorausgesetzt, dass $[1, o]^t$ nicht in der 1441 Verschwindungsebene liegt. 1442 1443 Die Spalten von $bb(A)$ repräsentieren das Bild des Objektsystems, $a$ das 1444 Bild des Ursprungs $[1, o]^t$ und $[epsilon_i, a_i]^t$ den Fluchtpunkt 1445 $f_i$ der i-Achse. 1446 ]) 1447 == Kameradaten 1448 #card( 1449 question: [ Wie erhält man die Verschwindungsebene, den 1450 Hauptrichtungsvektor, den Hauptpunkt und die 1451 Fokaldistanz aus der Matrix einer Zentralperspektive?], 1452 answer: [ 1453 Die Verschwindungsebene hat die Gleichung $ 1454 epsilon rho &= epsilon_1 alpha_1 x + epsilon_2 alpha_2 y + epsilon_3 alpha_3 z + alpha e \ 1455 &= [alpha epsilon_1 alpha_1, epsilon_2 alpha_2, epsilon_3, 1456 alpha_3] vec(e, x, y, z) \ 1457 &= 0 1458 $ 1459 und den nicht normierten Normalenvektor $n:= [epsilon_1 alpha_1, epsilon_2, 1460 alpha_2, epsilon_3 alpha_3]$. Seine Vielfachen $n rho$ mit $rho != 0$ sind 1461 die Hauptrichtungsvektoren. Das Auge $c$ wird durch den Lösung von $bb(A c) 1462 = bb(o)$ repräsentiert und der Hauptpunkt durch $bb(h) = bb(A) vec(0, n)$, 1463 woraus $h = sum a_i lambda_i$ mit $lambda_i = (epsilon_i alpha_i^2)/(n^t n)$ 1464 folgt. 1465 1466 Die Fokaldistanz $delta$ lässt sich aus dem Hauptrichtungsvektor $n$ und 1467 einem Vektor $v$ im Winkel von 45° zu $n$ ermitteln, da sie dem Abstand von 1468 $f lt.tri bb(A v)$ zu $h$ entspricht. 1469 ]) 1470 #card( 1471 question: [Warum ist der Hauptpunkt der Höhenpunkt des 1472 Fluchtdreiecks?], 1473 answer: [ 1474 Jede $(3 times 4)$-Matrix $bb(A) = mat(1, alpha_1, alpha_2, alpha_3; a, a_1 1475 alpha_1, a_2 alpha_2, a_3 alpha_3)$ vom Rang 3 repräsentiert eine 1476 3-Punkt-Perspektive genau dann, wenn $h = sum a_i a_i^2 / (a_1^2 + a_2^2 + 1477 a_3^2)$ 1478 der Höhepunkt des Dreiecks $a_1 a_2 a_3$ ist. 1479 1480 Diese Bedingung ergibt sich aus Abschnitt 4.6 und sie beinhaltet zwei 1481 Bedingungen, nämlich je eine für beide Koordinaten von h. Im Übrigen ist das 1482 Fluchtdreieck einer 3-Punkt-Perspektive immer spitzwinklig, da alle $alpha_i 1483 > 0$, weswegen der Hauptpunkt im Dreiecksinneren liegt. 1484 ]) 1485 == Fluchtpunkte des Systems 1486 #card( 1487 question: [Was ist eine i-Punkt-Perspektive und wie kann man 1488 erkennen, ob und welche i-Punkt-Perspektive eine Matrix 1489 darstellt?], 1490 answer: [ 1491 Die Matirx $bb(A) = mat(epsilon_0 alpha, epsilon_1 alpha_1, epsilon_2 1492 alpha_2, epsilon_3 alpha_3; a alpha, a_1 alpha_1, a_2 alpha_2, a_3 alpha_3)$ 1493 (vom Rang 3), repräsentiert eine i-Punkt-Perspektive, wobei $i = epsilon_1 + 1494 epsilon_2, epsilon_3$. 1495 1496 0-Punkt: $epsilon_i = 0$ \ 1497 1-Punkt: $epsilon_2 = 1, norm(a_1) = norm(a_3), a_1 bot a_3$ \ 1498 2-Punkt: $epsilon_1 = epsilon_2 = 1, a_3 bot a_2 - a_1, norm(a_3) sqrt(a_1^1 1499 + a_2^2) = abs(alpha_1 alpha_2) norm(a_2 - a_1)$ \ 1500 3-Punkt: $epsilon_{1,2,3} = 1, h = sum a_i alpha_i^2 / (alpha_1^2 + 1501 alpha_2^2 + alpha_3^2)$ der Höhenpunkt des Dreiecks $a_1 a_2 a_3$ ist. 1502 ]) 1503 == Urbilder 1504 #card( 1505 question: [Wie berechnet man das Urbild eines Punkts und einer 1506 Geraden unter einer Zentralperspektive?], 1507 answer: [ 1508 Möchten wir bei bekannter Matrix $bb(A)$ einer Zentralprojektion zu einem 1509 gegbenen Bildpunkt $y$ den Urbildpunkt $x$ bestimmen, haben wir diese drei 1510 Gleichungen für vier Unbekannte zu läsen: $bb(A) vec(1, x) omega = vec(1, 1511 y)$. 1512 1513 Eine Gerade $cal(V): bb(v)^t bb(y) = 0$ der Bildebene hat die Ebene $cal(U) 1514 : bb(v)^t bb(A) vec(1,x) xi = bb(u)^t vec(1, x) xi = 0$ als Urbild und, wenn 1515 wir $xi$ jeweils streichen, erhalten wir über zwei Geraden durch $y$ zwei 1516 Gleichungen für die rdei Koordinaten des gesuchten Punkts $x$. Weitere 1517 Geraden durch $y$ sind von den ersten beiden abhängig und führen nur zu 1518 abhängigen Gleichungen. 1519 ]) 1520 1521 == Kamerakalibrierung 1522 #card( 1523 question: [Wie kann man die Matrix bestimmen, die zu einem 1524 zentralperspektivischen Bild gehört?], 1525 answer: [ 1526 Die Gleichung $bb(v)^t bb(A) = sum v_i a_(i j) x_j = 0$ ist linear in den 12 1527 Matrixelemenden $a_(i j)$. Kennt man sechts Pankte $x$ und ihre Bilder $y$, 1528 kann man $bb(A)$ folglich daraus berchenen. 1529 1530 Da $bb(A)$ homogen ist und zwei Bedingungen genügt, reichen zur Bestimmung 1531 von $bb(A)$ sogar nur 4,5 Pankte, d.h. vier Punkte mit je zwei Geraden und 1532 ein Punkt mit einer Geraden. Mehr zu kennen hilft aber numerische Fehler 1533 entgegenzuwirken. Man bekommt dann überbestimmte Gleichungssysteme, die mit 1534 Hilfe der Methode der kleinsten Quadrate gelöst werden. 1535 ]) 1536 #card( 1537 question: [Wie viele Freiheitsgrade hat man für diese Matrizen und 1538 was sind ihre Dimensionen?], 1539 answer: [ 1540 1541 ]) 1542 = Projektive Geometrie 1543 == Projektive Räume 1544 #card( 1545 question: [Was ist ein projektiver Raum?], 1546 answer: [ 1547 Die eigentlichen und uneigentlichen Punkte des $cal(A)^n$ bilden den 1548 projektiven Raum $cal(P)^n$ bzw die projektive Erweiterung des $cal(A)^n$. 1549 ]) 1550 #card( 1551 question: [Was sind die projektiven Unterräume?], 1552 answer: [ 1553 Der $cal(P)^n$ wird durch die Menge der eindimensionalen Unterräume des 1554 $bb(R)^(n+1)$ repräsentiert und die projektiven Unterräume von $cal(P)^n$ 1555 durch die linearen Unterräume des $bb(R)^(n+1)$. Die eindimensionalen 1556 Unterräume des $bb(R)^(n+1)$ stellen die Punkte des $cal(P)^n$ dar. 1557 1558 Stellt ein Unterraum $U subset bb(R)^(n+1)$ den Unterraum $U subset 1559 cal(P)^n$ dar, gilt $dim cal(U) := dim U -1$. Ein Unterraum $cal(U)$ der 1560 Dimension $-1,0,1,2,n-1$ ist leer oder wird Punkt, eine Gerade, eine Ebene 1561 bzw. eine Hyperebene genannt. 1562 1563 Der Schnitt zweier projektiven Unterräume $cal(U)$ und $cal(V)$ ist der 1564 projektive Unterraum $cal(U) inter.sq cal(V) := cal(U) inter cal(V)$ und 1565 ihre Verbindung $cal(U) union.sq cal(V)$ der kleinste projektive Unterraum, 1566 der $cal(U)$ und $cal(V)$ enthält. 1567 ]) 1568 #card( 1569 question: [Warum schneiden sich zwei Geraden einer projektiven 1570 Ebene immer?], 1571 answer: [ 1572 (Alle Hyperebenen gehen durch den Ursprung des $cal(A)^n$) 1573 ]) 1574 == Projektive Koordinaten 1575 #card( 1576 question: [Wann heißt eine Punktfolge projektiv unabhängig?], 1577 answer: [ 1578 Die Folge $mono(p)_0 ... mono(p)_r$ heißt projektiv unabhängig genau dann, 1579 wenn die Folge $bb(p)_0...bb(p)_r subset bb(R)^(n+15$ linear unabhängig ist. 1580 ]) 1581 #card( 1582 question: [Wie ist die projektive Hülle von Punkten definiert?], 1583 answer: [ 1584 Die projektive Hülle oder der Aufspann von $mono(p)_0 ... mono(p)_r$ ist der 1585 projektive Unterraum $<mono(p)_0 ... mono(p)_r> := { mono(x) | bb(x) in 1586 [bb(p)_0 .. bb(p)_r] bb(R)^(r+1) \\ { bb(o) } }$. 1587 ]) 1588 #card( 1589 question: [Wie sind projektive Koordinaten definiert?], 1590 answer: [ 1591 Wir bemereken, dass jedes projektive Grundeck im $cal(P)^n$ eindeutig ein 1592 Koordinatensystem im $bb(R)^(n+1)$ bestimmt. Für die Angabe von Koordinaten 1593 im $cal(P)^(n+1)$ reicht es, nur ein Grundeck im $cal(P)^n$ anzugeben, 1594 sodass wir uns ganz vom $bb(R)^(n+1)$ lösen können. Wir nennen die 1595 Koordinaten eines Punktes deshalb auch projektive Koordinaten bezüglich 1596 eines Grundecks. Sind $x_i$ die projektiven Koordinaten eines Punkts 1597 $mono(x)$ bezüglich $mono(p)_0 ... mono(p)_n mono(p)$ schreiben wir auch 1598 $mono(x) = mono(p)_0 x_0 + ... + mono(p)_n x_n$. 1599 ]) 1600 #card( 1601 question: [Was ist eine projektive Skala?], 1602 answer: [ 1603 Seien $x_0$ und $x_1$ die projektiven Koordinaten eines Punkts $mono(x)$ 1604 bezüglich eines Grundecks $mono(p)_0 mono(p)_1 mono(p)$. Dann bilden die 1605 Quotienten $x = x_1 / x_0$ für alle $mono(x) in mono(p)_0 union.sq 1606 mono(p)_1$ die projektive Skala bezüglich $mono(p)_0 mono(p_1) mono(p)$. 1607 ]) 1608 #card( 1609 question: [Wann ist eine projektive Skala eine affine?], 1610 answer: [ 1611 Ist $mono(p) mono(p)_0 mono(p)_1$ ein projektives Grundeck in einer 1612 projektiv erweiterten affinen Gerade mit Fernpunkt $mono(p)_1$, ist die 1613 porjektive Skala $x$ bezüglich $mono(p) mono(p)_0 mono(p)_1$ auch eine 1614 affinie Skala, die den affinen Koordinaten der Punkte $mono(x)$ bezüglich 1615 des affinen Koordinatensystems $mono(p)_0 (mono(p) - mono(p)_0)$ entspricht. 1616 ]) 1617 == Koordintentransformation 1618 #card( 1619 question: [Wie können projektive Koordinaten in projektive 1620 Koordinaten bezüglich eines anderen Grundecks 1621 transformiert werden?], 1622 answer: [ 1623 Seien $mono(p)_0 ... mono(p)_n mono(p)$ und $mono(q)_0 ... mono(q)_n 1624 mono(q)$ Grundecke des $cal(P)^n$ und sei 1625 $ 1626 bb(p) = & [ bb(p)_0 ... bb(p)_n] bb(e) = bb(P e) \ 1627 bb(q) = & [ bb(q)_0 ... bb(q)_n] bb(e) = bb(Q e) \ 1628 bb(x) = & bb(P x)_p = bb(Q x)_q 1629 $ 1630 Dann ist $bb(x)_q = bb(Q)^(-1) bb(P) bb(x)_p$ eine 1631 Koordinatentransformation. Dabei repräsentiert $bb(Q)^(-1) bb(P)$ die 1632 Grundpunkte $mono(p)_i$ bezüglich des Grundecks $mono(q)_0 ... mono(q)_n 1633 mono(q)$. 1634 ]) 1635 #card( 1636 question: [Wie ändern sich bei einer Koordinatentransformation die 1637 Koordinaten von Hyperebenen?], 1638 answer: [ 1639 Eine Hyperebene $cal(U): bb(u)^t bb(x) = 0$ hat bezüglich des Gundecks 1640 $mono(q)_0... mono(q)_n mono(q)$ die Darstellung $bb(u)^t bb(Q) bb(x)_q =: 1641 bb(u)^t_q bb(x)_q = 0$. Also ist $bb(u)_q = bb(Q)^t bb(u)$ die 1642 Transformation des homogenen Hyperebenen-Koordinatenvektors $bb(u)$ in den 1643 bezüglich des Grundecks $mono(q)_0... mono(q)_n mono(q)$. 1644 ]) 1645 #card( 1646 question: [Warum kann jede Hyperebene eines projektiven Raums 1647 als Fernhyperebene aufgefasst werden?], 1648 answer: [ 1649 Die Grundpunkte $mono(q)_1, ..., mono(q)_n$ liegen in der Hyperebene 1650 $cal(U)$ genau dann, wenn $bb(u)^t_q ~ [1 0 ... 0]$. D.h. bezüglich des 1651 Grundecks $mono(q)_0 ... mono(q)_n mono(q)$ kann $cal(U)$ als die 1652 Fernhyperebene einer projektiven Erweiterung des $cal(A)^n$ aufgefasst 1653 werden. Da $cal(U)$ eine beliebige Hyperebene ist, kann auch jede andere 1654 Hyperebene als Fernhyperebene aufgefasst werden. 1655 ]) 1656 == Der Dualraum 1657 #card( 1658 question: [Was ist der Dualraum eines projektiven Raums?], 1659 answer: [ 1660 Die Hyperebenen des $cal(P) := cal(P)^n$ bilden einen projektiven Raume, der 1661 Dualraum von $cal(P)^n$ genannd und mit $cal(P)^*$ bezeichnet wird. 1662 ]) 1663 #card( 1664 question: [Was heißt alles dual zueinander?], 1665 answer: [ 1666 Ein Punkt $mono(u)$ und eine Hyperebene $cal(U)$ med dem glichen homogenen 1667 Koordinatenvektoren $bb(u)$ heißen dual zueinander. 1668 ]) 1669 #card( 1670 question: [Wie kann man den Schnitt von n Hyperebenen des $cal(P)^n$ berechnen?], 1671 answer: [ 1672 Ein Unterraum $cal(A) := mono(a)_0 union.sq ... union.sq mono(a)_k subset 1673 cal(P)$ geht beim Dualisieren in den Unterraum $cal(A)^* := cal(A)_0 1674 union.sq ... union.sq cal(A)_k subset cal(P)^*$ über, aber meist stellt man 1675 den Unterraum $cal(A)^*$ durch den polaren Unterraum $cal(A)̧̃° := cal(A)_0 inter 1676 ... inter cal(A)_k subset cal(P)$ dar und bezeichnet auch $cal(A)°$ als den 1677 zu $cal(A)$ dualen Unterraum. 1678 1679 Die Hyperebene $cal(U) = mono(a)_1 union.sq ... union.sq mono(a)_n : bb(u)^t 1680 = [bb(a)_1 and ... and bb(a)_n]^t$ ist dual zum Punkt $cal(U)^* = cal(A)_1 1681 inter.sq ... inter.sq cal(A)_n = { mono(u)}: bb(u) = bb(a)_1 and ... and 1682 bb(a)_n$. 1683 ]) 1684 == Projektive Abbildungen 1685 #card( 1686 question: [Was ist eine projektive Abbildung?], 1687 answer: [ 1688 Jede lineare Abbildung $phi : bb(R)^(m+1) -> bb(R)^(n+1), bb(x) |-> bb(A 1689 x)$, induziert eine projektive Abbildung $Phi: cal(P)^m -> cal(P)^n$, die 1690 durch die gleiche Matrix $bb(A)$ wie $phi$ dargestellt wird: $mono(y) = 1691 Phi(mono(x)) : bb(A x) = [bb(a)_0 .. bb(a)_m] bb(x)$. 1692 1693 Dabei repräsentieren die Koordinatenvektoren $bb(a)_0...bb(a)_m (bb(a)_0 + 1694 ... bb(a)_m)$ die Bilder des Koordinaten-Grundecks. 1695 ]) 1696 #card( 1697 question: [Wann hat eine projektive Abbildung einen ausnahmeraum 1698 und wie ist er definiert?], 1699 answer: [ 1700 Die projektive Abbildung $Phi$ heißt regulär oder Projektivität, wenn 1701 $bb(A)$ eine reguläre Matrix ist. Der Kern der Matrix repräsentiert den 1702 Ausnahmeraum $cal(A)_Phi := "kern" bb(A) = {bb(x) | bb(A x) = bb(o)}$ von 1703 $Phi$. Es ist der Raum, der durch $Phi$ auf den Unpunkt abgebildet wird. 1704 ]) 1705 #card( 1706 question: [Auf was bilden projektive Abbildungen projektive Unterräume ab?], 1707 answer: [ 1708 Projektivitäten bilden projektive Unterräume auf projektive Unterräume ab 1709 und allgemein bildet eine projektive Abbildung $Phi$ jeden projektiven 1710 Unterraum $cal(U)$ ohne den Ausnahmeraum auf einen projektiven Unterraum ab: 1711 $Phi: cal(U) \\ cal(A)_Phi |-> Phi(cal(U) \\ cal(A)_Phi)$. 1712 1713 Zu zwei Grundecken $mono(p)_0...mono(p)_n mono(p)$ und 1714 $mono(q)_0...mono(q)_n mono(q)$ zweier projektiver Räume gibt es genau eine 1715 Projektivität $Phi$, die das erste auf das zweite abbildet, d.h. die 1716 $Phi(mono(p)_i) = mono(q)_i$ und $Phi(mono(p)) = mono(q)$ erfüllt. 1717 ]) 1718 == Kollineationen und Korrelationen 1719 #card( 1720 question: [Was sind Kollineationen und Korrelationen?], 1721 answer: [ 1722 Projektivitäten $Phi: cal(P) -> cal(P)$ heißen Kollineationen, weil sie 1723 kollineare Punkte auf kollineare Punkte abbliden, und Projektivitäten $Phi: 1724 cal(P) -> cal(P)^*$ heißen Korrelationen. 1725 ]) 1726 #card( 1727 question: [Wie ist Dualität allgemein definiert?], 1728 answer: [ 1729 Die Dualitätsdefinition besagt, dass eine Figur, d.h. ein aus Unterräumen 1730 eines projektiven Raums besthendes Gebilde, dual zu einer zweiten ist, wenn 1731 sie durch eine Korrelation in diese überführt werden kann. 1732 ]) 1733 #card( 1734 question: [Wie lautet der Satz von Desargues und wie der dazu duale 1735 Satz?], 1736 answer: [ 1737 Sind die Ecken zweier Dreiecke in perspektivischer Lage, dann sind es auch 1738 ihre Kanten. 1739 1740 (Sind die Kanten zweier Dreiecke in perspektivischer Lage, dann sind es auch 1741 ihre Ecken. ) 1742 ]) 1743 == Linear rationale Transformationen 1744 #card( 1745 question: [Wie lassen sich Projektivitäten zwischen zwei Geraden 1746 darstellen?], 1747 answer: [ 1748 Eine Projektivität zwischen zwei Geraden hat die Darstellung $vec(y_0, y_1) 1749 = mat(a, b; c, d) vec(x_0, x_1)$ oder nach Inhomogenisierung die Darstellung 1750 $y_1 / y_0 = (c x_0 + d x_1) / (a x_0 + b x_1) = (c + d x_1 / x_0) / (a + b 1751 x_1 / x_0)$ bzw., wenn wir die projektiven Skalen $x = x_1 / x_0$ und $y = y_1 1752 / y_0$ verwenden, die Darstellung $y = (c x_0 + d x_1) / (a x_0 + b x_1) = (c 1753 + d x) / (a + b x)$. Letztere ist eine linear-rationale Transformation der 1754 projektiven Skala $x$. 1755 ]) 1756 == Das Doppelverhältnis 1757 #card( 1758 question: [Was ist das Doppelverhältnis?], 1759 answer: [ 1760 Hier betrachen wir vier Punkte $mono(a), mono(b), mono(x)$ und $mono(y)$ 1761 einer Geraden mit den projektiven Skalenwerten $alpha, beta, xi$ und $eta$ 1762 bzgl. irgendeines Grundecks. 1763 1764 #cetz.canvas({ 1765 import cetz.draw: * 1766 1767 line((0,0), (7.5, 0)) 1768 content((), [projektive Skala], anchor: "south-east") 1769 1770 circle((1,0), radius: .08, fill: white) 1771 content((), $alpha$, padding: .2, anchor: "south") 1772 content((), $mono(a)$, padding: .2, anchor: "north") 1773 1774 circle((2,0), radius: .08, fill: white) 1775 content((), $eta$, padding: .2, anchor: "south") 1776 content((), $mono(y)$, padding: .2, anchor: "north") 1777 1778 circle((3.5,0), radius: .08, fill: white) 1779 content((), $beta$, padding: .2, anchor: "south") 1780 content((), $mono(b)$, padding: .2, anchor: "north") 1781 1782 circle((4.5,0), radius: .08, fill: white) 1783 content((), $xi$, padding: .2, anchor: "south") 1784 content((), $mono(x)$, padding: .2, anchor: "north") 1785 }) 1786 1787 Das Doppelverhaltnis der Punktpaare $mono(x y)$ und $mono(a b)$ ist der Wert 1788 $delta = D V [mono(x y) | mono(a b)] := (xi - alpha) / (xi - beta) : (eta - 1789 alpha) / (eta - beta)$. 1790 ]) 1791 1792 #card( 1793 question: [Warum sind Doppelverhältnisse invariant unter projektiven Abbildungen?], 1794 answer: [ 1795 Weil die Matrix einer projektiven Abbildung $Phi$ die Einheitsmatrix ist, 1796 wenn wir sie für die Urbild- und Bildkoordinaten bezüglich des Grundecks 1797 $mono(a b y)$ bzw $Phi(mono(a)) Phi(mono(b)) Phi(mono(y))$ beschreiben, 1798 ändern projektive Abbildungen Doppelverhältnisse nicht. Doppelverhälnisse 1799 treten daher im projektiven Raum an die Stelle der Teilverhaltnisse, da 1800 letztere nur affine Invarientan sind. 1801 ]) 1802 #card( 1803 question: [Was ist das harmonische Doppelverhältnis?], 1804 answer: [ 1805 Für das harmonische Doppelverhaltnis $delta = -1$ liegen $mono(x y)$ und 1806 $mono(a b)$ in harmonischer Lage. 1807 ]) 1808 #card( 1809 question: [Was bedeutet harmonische Lage von vier kollinearen 1810 Punkten, wenn einer von ihnen ein Fernpunkt ist?], 1811 answer: [ 1812 Für $delta = - 1$ liegen $mono(x y)$ und $mono(a b)$ in harmonischer Lage. 1813 1814 Ist $mono(b)$ ein Fernpunkt, ist $delta$ eine affine Skala und für $delta = 1815 -1$ ist $mono(a) = (mono(x) + mono(y)) /2$. 1816 1817 1818 #cetz.canvas({ 1819 import cetz.draw: * 1820 1821 line((0,0), (4, 0)) 1822 content((), [affine Skala], padding: .2, anchor: "south") 1823 1824 circle((0.5,0), radius: .08, fill: white) 1825 content((), $-1$, padding: .2, anchor: "south") 1826 content((), $mono(x)$, padding: .2, anchor: "north") 1827 1828 circle((1.5,0), radius: .08, fill: white) 1829 content((), $0$, padding: .2, anchor: "south") 1830 content((), $mono(a)$, padding: .2, anchor: "north") 1831 1832 circle((2.5,0), radius: .08, fill: white) 1833 content((), $1$, padding: .2, anchor: "south") 1834 content((), $mono(y)$, padding: .2, anchor: "north") 1835 1836 line((5,0), (6, 0), mark: (end: ">")) 1837 content((), $oo$, padding: .2, anchor: "south") 1838 content((), $mono(b)$, padding: .2, anchor: "north") 1839 }) 1840 ]) 1841 #card( 1842 question: [Unter welchen Vertauschungen ist das harmonische Verhältnis invariant?], 1843 answer: [ 1844 Das harmonische Doppelverhaltnis $delta = -1$ ist invariant gegenüber den 1845 Vertauschungen $mono(x) <-> mono(y), mono(x y) <-> mono(a b), mono(a) <-> 1846 mono(b)$. 1847 ]) 1848 == Die duale Abbildung 1849 #card( 1850 question: [Was ist die duale Abbildung?], 1851 answer: [ 1852 Sei $Phi: cal(X) -> cal(Y), bb(x) |-> bb(A x)$ eine projektive Abbildung. 1853 NUter ihr hat eine Hyperebene $cal(V): bb(v)^t bb(y) = 0$ von $cal(Y)$ das 1854 Urbild $Phi^- cal(V) = { mono(x) in cal(X) | bb(v)^t bb(A x) = 0} : bb(u)^t 1855 = bb(v)^t bb(A)$. Die Abbildung $Phi^* : cal(Y)^* -> cal(X)^*, bb(v)^t |-> 1856 bb(A)^t bb(v)$ ist die duale Abbildung zu $Phi$. Ist sie bijektiv, bildet 1857 ihre Inverse jede Hyperebene $cal(U)$ auf die Hyperebene $cal(V)$ ab, in die 1858 $Phi$ alle Punkte von $cal(U)$ abbildet. 1859 1860 Da $A^(t t) = A$, ist die duale Abbildung $Phi^(* *)$ der dualen Abbildung 1861 $Phi^*$ wieder die Ausgangsabbildung $Phi$. 1862 ]) 1863 == Quadriken 1864 #card( 1865 question: [Was ist eine Quadrik?], 1866 answer: [ 1867 Eine Quadrik im $cal(P)^n$ besteht aus den Punkten $mono(x)$, deren homogene 1868 Koordinatenvektioren $bb(x)^t = [epsilon, mono(x)^t] x_0$ eine quadratische 1869 Gleichung erfüllen: 1870 $ 1871 cal(Q)(bb(x)) &= bb(x)^t bb(Q x) \ 1872 &= [epsilon x_0, mono(x)^t x_0] mat(q, mono(q)^t; mono(q), Q) 1873 vec(epsilon x_0, mono(x) x_0) \ 1874 &~ mono(x)^t Q mono(x) + 2 epsilon mono(q)^t mono(x) + q epsilon^2 \ 1875 &= 0 1876 $ 1877 1878 ]) 1879 #card( 1880 question: [Warum können wir annehmen, dass die Matrix einer 1881 Quadrik symmetrisch ist?], 1882 answer: [ 1883 Da $bb(Q) + bb(Q)^t$ ebenfalls $cal(Q)$ repräsentiert, nehmen wir ohne 1884 Einschränkung der Allgemeinheit an, dass $bb(Q) = bb(Q)^t$ symmetrisch ist. 1885 ]) 1886 #card( 1887 question: [Was ist die Fernquadrik und der affine Teil einer 1888 projektiven Quadrik?], 1889 answer: [ 1890 Für $epsilon = 1$, erhäld man den affinen Teil $cal(Q)_"aff"$ von $cal(Q)$ 1891 und für $epsilon = 0$ die Fernquadrik $cal(Q)_oo$. Die Fernpunkte von 1892 $cal(Q)$ heißen asymptotic directions und $cal(Q) = cal(Q)_"aff" union 1893 cal(Q)_oo$ auch projektive Erweiterung von $cal(Q)_"aff"$. Die Quadrik 1894 $cal(Q)$ heißt regulär, wenn ihre Matrix $bb(Q)$ regulär ist. 1895 ]) 1896 #card( 1897 question: [Was ist eine Quadrik in einer projektiven Gerade?], 1898 answer: [ 1899 1900 ]) 1901 == Tangential- und Polarebenen 1902 #card( 1903 question: [Wie berechnet man die Tangentenquadrik einer Quadrik?], 1904 answer: [ 1905 Um die Tangentialebenen (genauer Tangentialhyperebenen) einer Quadrik 1906 $cal(Q)$ zu bestimmen, betrachten wir zunächst einen Punkt $mono(p)$ der 1907 Quadrik $cal(Q)$ und einer Geraden $cal(T): bb(x) = bb(p) + bb(q) lambda$ 1908 des $cal(P)^n$. (Dabei stellt $lambda = lambda_1 / lambda_0$ eine projektive 1909 Skala auf $cal(T) : bb(x) = bb(p) lambda_0 + bb(q) lambda_1$ dar.) Nur wenn 1910 die Gerade $cal(T)$ die Quadrik allein im Punkt $mono(p)$ berührt oder ganz 1911 auf der Quadrik liegt ist sie eine Tangente. Folglich ist $cal(T)$ Tangente 1912 genau dann, wenn die quadratische Gleichung 1913 $ 1914 cal(Q)(bb(x)(lambda)) &= bb(x)^t bb(Q x) \ 1915 &= bb(p)^t bb(Q p) + 2 bb(p)^t bb(Q q) lambda + bb(q)^t bb(Q q) lambda^2 \ 1916 &= 2 bb(p)^t bb(Q p) lambda + bb(q)^t bb(Q q) lambda^2 \ 1917 &= 0 1918 $ 1919 eine doppelte Nullstelle $lambda = 0$ hat. Somit ist $cal(T)$ Tangente von 1920 $cal(Q)$ genau dann, wenn $bb(p)^t bb(Q q) = 0$. Weiter folgt, dass die 1921 Tangentialebene von $cal(Q)$ in $mono(p)$ die Qleichung $bb(u)^t bb(x) = 1922 bb(q)^t bb(Q x) = 0$ hat. 1923 ]) 1924 #card( 1925 question: [Was sind Polarebenen?], 1926 answer: [ 1927 Für einen beliebigen Punkt $mono(p) in cal(P)^n$, definiert die Gleicuhng 1928 $bb(p)^t bb(Q x) = 0$ die Polarebene (oder eigentlich Polarhyperebene) 1929 $cal(P)(mono(p), cal(Q))$ von $mono(p)$ bezüglich $cal(Q)$, sofern $mono(p)$ 1930 kein singulärer Punkt ist. Sie schneidet $cal(Q)$ in den Punkten $mono(x)$, 1931 deren Tangentialebenen $cal(T) lt.tri bb(Q x)$ auch durch $mono(p)$ gehen. 1932 Liegt $mono(p)$ auf $cal(Q)$, ist die Polarebene die Tangentialebene von 1933 $cal(Q)$ in $mono(p)$. 1934 ]) 1935 #card( 1936 question: [Was bilden die Tangentialebenen einer Quadrik?], 1937 answer: [ 1938 Auch die Tangentialebenen einer Quadrik $cal(Q)$ bilden eine Quadrik im 1939 Dualraum. Dazu macht man sich klar, dass ein $bb(u)$ eine Tangentialebene 1940 von $cal(Q)$ in einem Punkt $mono(p)$ von $cal(Q)$ darstellt, falls das 1941 homogene lineare Gleichungssystem 1942 $ 1943 bb(Q p) - bb(u) rho &= bb(o) \ 1944 bb(u)^t bb(p) &= 0 1945 $ 1946 für $bb(p)$ und $rho$ lösbar ist, d.h. falls $det mat(bb(Q), bb(u); bb(u)^t, 1947 0) = 0$. Letzteres ist eine quadratische Gleichung und stellt die duale 1948 Quadrik $cal(Q)^*$ zu $cal(Q)$ dar. 1949 ]) 1950 #card( 1951 question: [Was ist eine Polaritat?], 1952 answer: [ 1953 Ist die Matirx $bb(Q)$ regulär, heißt die Korrelation $bb(x) |-> bb(x)^t 1954 bb(Q)$ die Polarität bezüglich $cal(Q)$. Sie bildet die Punkte von $cal(Q)$ 1955 auf die zugehörigen Tangentialebenen ab und $cal(Q)$ auf die duale Quadrik 1956 $cal(Q)^*$, deren Punkte $mono(u) lt.tri bb(u) := bb(Q x)$ die Gleichung 1957 $bb(u)^t bb(Q)^(-1) bb(u) = 0$ erfüllen. Polaritäten sind also Korrelationen 1958 oder Dualitäten mit symmetrischer Matrix. 1959 ]) 1960 #card( 1961 question: [Ist jede Korrelation eine Polaritat?], 1962 answer: [ 1963 Polaritäten sind Korrelationen oder Dualitäten mit symmetrischer Matrix. 1964 ]) 1965 #card( 1966 question: [Was bedeutet dies für den Begriff der Dualitat?], 1967 answer: [ 1968 Bsp. Die Dualität $mono(x) |-> cal(X)$ ist die Polarität zur leeren 1969 regulären Quadrik $cal(Q) lt.tri bb(E)$. 1970 ]) 1971 == Harmonische Punkte und Polaritat 1972 #card( 1973 question: [Was ist das Doppelverhaltnis von pq und xy, wenn q auf 1974 der Polaren von p bezüglich einer Quadrik Q liegt und x 1975 und y die Schnittpunkte der Geraden pq mit Q sind?], 1976 answer: [ 1977 1978 ]) 1979 == Normalform 1980 #card( 1981 question: [Was ist die Normalform einer Quadrik?], 1982 answer: [ 1983 Mit einer reellen Koordinatentransformation kann die Gleichung einer Quadrik 1984 $cal(Q)$ in die Normalform $y_0^2 + ... + y_r^2 - y_(r+1)^2 - ... - 1985 y_(r+s)^2 = 0$ und anschließend mid der komplexen Koordinatentransformation 1986 $bb(y) = "diag"(1 ... mono(1) i ... i) bb(z)$ in die Normalform $z_0^2 + ... + 1987 z_(r+s)^2 = 0$ überführt werden. 1988 ]) 1989 #card( 1990 question: [Wie viele projektiv verschiedene Quadriken gibt es im 1991 reellen projektiven Raum und wie viele im in seiner 1992 komplexen Erweiterung?], 1993 answer: [ 1994 1995 ]) 1996 = Hyperbolische Geometrie 1997 == Das hyperbolische Modell 1998 #card( 1999 question: [Erklaren Sie das hyperbolische Modell der hyperbolischen Ebene !], 2000 answer: [ 2001 Im hyperbolischen Modell wird ie hyperbolische Ebene $cal(H)^2$ durch die 2002 obere Schale des zweischaligen Hyperboloids $cal(O) : mono(x)^t H mono(x) = 2003 [x, y, z] mat(1,,;,1,;,,-1) vec(x,y,z) = -1, z > 0$ im $bb(R)^3$ 2004 dargestellt. Der asymptotische Kegel $cal(K)$ von $cal(O)$ hat die Gleichung 2005 $cal(K) : mono(x)^t H mono(x) = 0$ und ist in der Abbildung rot gezeichnet. 2006 ]) 2007 #card( 2008 question: [Was sind in diesem Modell die hyperbolischen Geraden?], 2009 answer: [ 2010 In diesem Modell sind die hyperbolischen Geraden durch die nicht leeren 2011 Schnitte von $cal(O)$ mit den zweidimensionalen linearen Unterräumen des 2012 $bb(R)^3$ gegeben. Es sind Pyperbeläste auf $cal(O)$. 2013 ]) 2014 #card( 2015 question: [Was sind die hyperbolischen Abbildungen in diesem Modell?], 2016 answer: [ 2017 Die regulären linearen Abbildungen des $bb(R)^3$, die $cal(O)$ auf sich 2018 abbilden, und ihre Vielfachen repräsentieren die hyperbolischen Abbildungen, 2019 wen wir sie auf $cal(O)$ beschränken und die Vielfachen der $mono(x) in 2020 cal(O)$ als homogene Koordinatenvektoren für die Punkte des $cal(H)^2$ 2021 auffassen. Zu diesen linearen Abbildungen gehören under anderem Rotationen 2022 um die z-Achse und Spiegelungen an Ebenen durch die z-Achste. 2023 2024 Die hyperbolischen Abbildungen werden durch die Matrizen $A$ repräsentiert, 2025 für die $A^t H A = rho H$ mit $rho > 0$. 2026 2027 Da der Kegel $cal(K)$ durch die Gleichung $mono(x)^t rho H mono(x) = 0$ 2028 gegeben ist, stellen die linearen Abbildungen, die den Kegel auf sich 2029 abbilden, die hyperbolischen Abbildungen dar. 2030 ]) 2031 #card( 2032 question: [Nennen Sie einfache Beispiele für hyperbolische 2033 Abbildungen in diesem Modell !], 2034 answer: [ 2035 2036 ]) 2037 == Das Klein-Modell 2038 #card( 2039 question: [Wie ist das Klein-Modell der hyperbolischen Ebene definiert?], 2040 answer: [ 2041 Aus dem hyperbolischen Modell der hyperbolischen Ebene erhalten wir durch 2042 die Zentralprojektion $pi: bb(R)^3 \\ {mono(o)} -> {vec(mono(x), 1) | 2043 mono(x) in bb(R)^2}, vec(mono(x),z) |-> vec(mono(x)/z, 1)$, das Klein-Modell 2044 der hyperbolischen Ebene. Die Zentralprojektion $pi$ bildet $cal(O)$ auf die 2045 offene Einheitskreisscheibe $cal(D) : x^2 + y^2 < 1, z = 1$ ab. 2046 ]) 2047 #card( 2048 question: [Was sind in diesem Modell die hyperbolischen Geraden?], 2049 answer: [ 2050 Hyperbolische Geraden in bildet die Zentralprojektion $pi$ auf die geraden 2051 Strecken, die sich ergeben, wenn die Scheibe $cal(D)$ mit den 2052 zweidimensionalen Unterräumen des $bb(R)^3$ geschnitten wird. 2053 ]) 2054 #card( 2055 question: [Was sind die hyperbolischen Abbildungen in diesem 2056 Modell?], 2057 answer: [ 2058 Unter der Projektion $pi$ werden die linearen Abbildungen des $bb(R)^3$ und 2059 ihre Vielfachen je zu einer linear rationalen Abbildung der Ebene $z = 1$, 2060 das heißt, dass eine lineare Abbildung und ihre Vielfachen eine projektive 2061 Abbildung der linearen Abbildung auf $cal(O)$ entspricht der Beschränkung 2062 der projektiven Abbildung auf $cal(D)$. 2063 2064 Folglich sind die hyperbolischen Abbildungen im Klein-Modell die auf 2065 $cal(D)$ beschränkten Projektivetäten der Ebene $z=1$, die $cal(D)$ bzm., 2066 wenn nicht beschränkt, den Kreis $pi cal(K) = "Rand" cal(D)$ auf sich 2067 abbilden. 2068 ]) 2069 2070 #card( 2071 question: [Wie sind Entfernungen definiert?], 2072 answer: [ 2073 Eine Strecke $mono(x y)$ hat die Länge $"dist"(mono(x), mono(y)) = abs(log D 2074 V [mono(x y) | mono(a b)])$ wobei $mono(a)$ und $mono(b)$ die Fernpunkte der 2075 hyperbolischen Geraden $mono(x y)$ sind. Man beachte, dass die Vertauschung 2076 der Punkte $mono(a)$ und $mono(b)$ oder der Punkte $mono(x)$ und $mono(y)$ das 2077 Doppelverhaltnis invertiert und daher nur das Vorzeichen seines Logarithmus 2078 ändert. 2079 2080 (Der Rand der Kreisscheibe $cal(D)$ heißt Fernkreis. Er gehört nicht zur 2081 hyperbolischen Ebene. Seine Punkte werden Fernpunkte genannt und die Punkte 2082 außerhalb des Fernkreises Ultra-Fernpunkte. ) 2083 ]) 2084 #card( 2085 question: [Warum sind Entfernungen invariant unter hyperbolischen 2086 Abb.?], 2087 answer: [ 2088 2089 ]) 2090 == Spiegelungen 2091 #card( 2092 question: [Wie ist eine hyperbolische Spiegelung definiert?], 2093 answer: [ 2094 Eine hyperbolische Spiegelung oder harmonische Homologie ist eine 2095 hyperbolische Abbildung $mono(y) = Phi(mono(x))$ mit einer Fixpunktgeraden 2096 $cal(P)$, bei der die Geraden $mono(x) union.sq Phi(mono(x))$ alle durch den 2097 Pol $mono(p)$ zur Polare $cal(P)$ bezüglich des Fernkreis gehen. Es sind 2098 also Perspektivitäten, die $cal(D)$ auf sich abbilden. 2099 ]) 2100 #card( 2101 question: [Was muss man tun, um eine hyperbolische Spiegelung ais 2102 euklidische Spiegelung anzusehen?], 2103 answer: [ 2104 Betrachtet man den Pol $mono(p)$ als Fernpunkt einer euklidischen Ebene, 2105 entspricht die hyperbolische Spiegelung einer Spiegelung der euklidischen 2106 Ebene an $cal(P)$. Die Polare geht bei dieser Betrachtung durch den 2107 Mittelpunkt von $cal(D)$. 2108 ]) 2109 #card( 2110 question: [Wie geht man vor, um zu zeigen, dass jede hyperbolische 2111 Abb. Produkt von Spiegelungen ist?], 2112 answer: [ 2113 Bildet $Phi$ eine Gerade $cal(P)$ und einen Punkt $mono(r) in cal(P)$ auf 2114 sich ab, bildet sie die Fernpunkte $mono(a)$ und $mono(b)$ von $cal(P)$ mit 2115 den zugehöringen Tangenten des Fernkreis auf sich ab oder vertauscht sie. 2116 2117 Sie bildet dahre auch den Pol $mono(p)$ zu $cal(P)$ und die Gerade $cal(Q)$ 2118 durch $mono(p)$ und $mono(r)$ auf sich ab. Da $Phi$ durch die Bilder der 2119 Fernpunkte von $cal(P)$ und $cal(Q)$ bestimmt ist, kann $Phi$ nur die 2120 Identität, die Spiegelung an $cal(P)$, die an $cal(Q)$ odie die Verknüpfung 2121 dieser beiden Spiegelungen sein. 2122 ]) 2123 == Kreisverwandtschaften 2124 #card( 2125 question: [Was ist eine stereographische Projektion?], 2126 answer: [ 2127 Eine stereographische Projektion ist eine Zentralprojektion vom Nordpol 2128 $mono(n)$ einer Kugel aus auf die Tangentialebene am Südpol, die auf die 2129 Kugel beschränkt wird und eindeutig jedem Punkt der Kugel mit Ausnahme des 2130 Nordpols einen Punkt der Ebene zuordnet. 2131 2132 Für den Nordpol erweitert man die Ebene um einen gedachten unechten Punkt 2133 $mono(k)$ und erklärt $mono(k)$ als das stereographische Bild von $mono(n)$. 2134 (Durch $mono(k)$ wird die Ebene kompaktifiziert.) Die Kreise durch den 2135 Nordpol werden durch die stereographische Projektion auf die Geraden der 2136 Ebene abgebildet und ihnen eindeutig zugeordnet. Die Geraden heißen unechte 2137 Kreise und sind genau die Kreise, die durch $mono(k)$ gehen. 2138 2139 #cetz.canvas({ 2140 import cetz.draw: * 2141 import cetz.matrix: * 2142 2143 2144 let xy = ((cos(20deg),cos(20deg),0),(-sin(20deg),sin(20deg),1)) 2145 // set-transform(xy) 2146 line(mul-vec(xy, (-2, -2, -1)), mul-vec(xy, (2, -2, -1))) 2147 line(mul-vec(xy, (-2, -2, -1)), mul-vec(xy, (-2, 2, -1))) 2148 line(mul-vec(xy, (2, 2, -1)), mul-vec(xy, (2, -2, -1))) 2149 line(mul-vec(xy, (2, 2, -1)), mul-vec(xy, (-2, 2, -1))) 2150 2151 circle((0,0), radius: 1, stroke: blue) 2152 circle(mul-vec(xy, (0,0,1)), radius: 0.08, fill: red, stroke: none) 2153 content((), text(fill: red, $n$), anchor: "south-west", padding: .1) 2154 2155 line(mul-vec(xy, (0,0,1)), mul-vec(xy, (1,0,-1)), mark: (end: ">"), 2156 stroke: red) 2157 circle(mul-vec(xy, (1,0,-1)), radius: 0.08, stroke: red) 2158 circle((mul-vec(xy, (0,0,1)), 60%, mul-vec(xy, (1,0,-1))), radius: 0.08, stroke: blue) 2159 }) 2160 ]) 2161 #card( 2162 question: [Warum sind stereographische Projektionen winkel-und 2163 kreistreu?], 2164 answer: [ 2165 Zum Beweis der Winkeltreue, sehen wir uns zwei Tangenten der Kugel in einem 2166 Punkt $mono(p)$ an und dazu die Beiden Kreise durch $mono(p)$ und $mono(n)$ 2167 mit diesen Tangenten. Diese Kreise schneiden sich im Nordpol im gleichen 2168 Winkel und die Tangenten im Nordpol sind parallel zu den Bildtangenten, da 2169 diese beiden Tangentenpaare Schnitte der beiden Kreisebenen mit den 2170 Tangentialebenen der Kugel im Nord- und Südpol sind. Das beweist die 2171 Winkeltreue. 2172 2173 Kreise, die nicht den Nordpol gehen, werden auf Ellipsen abgebildet. Um zu 2174 zeigen, dass diese Ellipsen Kreise sind, betrachten wir zu einem Kreis der 2175 Kugel den Tangentialkegel, der die Gugel in diesem Kreis berührt. Die 2176 Mantellinien des Kegels schneiden den Kreis orthogonal und werden auf 2177 Geraden abgebildet, die alle durch das Bild der Kegelspitze gehen und wegen 2178 der Winkeltreue das Bild des Kreises orthogonal schneiden. Deshalb kann das 2179 Bild nur ein Kreis sein. 2180 ]) 2181 #card( 2182 question: [Was sind Kreisverwandtschaften?], 2183 answer: [ 2184 Kreisverwandtschaften sind bijektive Abbildungen, die Kreise und nur Kreise 2185 auf Kreise abbilden. Beispielsweise sind stereographische Projektionen 2186 Kreisverwandtschaften. 2187 ]) 2188 #card( 2189 question: [Was ist eine Inversion an einem Kreis?], 2190 answer: [ 2191 Jeder echte Kreis $cal(K)$ einer Ebene, ist Bild eines Kugeläquators unter 2192 einer stereographischen Projektion $pi$. Bezeichnet $rho$ die Spiegelung der 2193 Kugel an der Äquatorebene, ist $pi compose rho compose pi^(-1)$ die 2194 Inversion der Ebene an $cal(K)$. 2195 ]) 2196 #card( 2197 question: [Wie kann man Kreisinversionen berechnen?], 2198 answer: [ 2199 Invertiert man einen Punkt $mono(x)$ an einem Kreis mit Radius $r$ und 2200 Mittelpunkt $mono(m)$ gilt für den Bildpunkt $mono(y)$: $norm(mono(x) - 2201 mono(m)) dot norm(mono(y) - mono(m)) = r^2$. 2202 ]) 2203 #card( 2204 question: [(Warum) sind Kreisinversionen winkeltreu?], 2205 answer: [ 2206 Eine Inversion an einem Kreis $cal(K)$ ist eine winkeltreue 2207 Kreisverwandtschaft, die $cal(K)$ punktweise auf sich und den Mittelpunkt 2208 auf $mono(k)$ abbildet. 2209 Daher bildet sie auch zu $cal(K)$ orthogonale Kreise auf sich ab. 2210 ]) 2211 #card( 2212 question: [Warum sind Kreisinversionen Kompositionen von Ahnlichkeiten und 2213 Kreisinversionen?], 2214 answer: [ 2215 (1) Eine Kreisverwandtschaft $kappa$, die den Punkt $mono(k)$ fest lässt, 2216 bildet ein Quadratgitter wieder auf ein solches ab, weil sie die 2217 einbeschriebenen Kreise auf Kreise abbildet. Somit ist sie eine Ähnlichkeit. 2218 2219 (2) Bildet $kappa$ den Punkt $mono(k)$ auf einen anderen Punkt $mono(m)$ ab, 2220 betrachten wir die Inversion $iota$ an einem Kreis mit Mittelpunkt 2221 $mono(m)$. Weil $iota compose kappa$ nach (1) eine Ähnlichkeit $alpha$ ist, 2222 hat auch $kappa = iota compose iota compose kappa = iota compose alpha$ die 2223 behauptete Zerlegung. 2224 ]) 2225 == Das Poincaré-Modell 2226 #card( 2227 question: [Wie ist das Poincaré-Modell der hyperbolischen Ebene definiert?], 2228 answer: [ 2229 Das Poincaré-Modell der hyperbolischen Ebene erhalten wir aus dem 2230 Klein-Modell, indem wir die Kreisscheinbe $cal(D)$ als orthogonale 2231 Projektion einer auf ihr liegenden Kugel auffassen und das Klein-Modell der 2232 hyperbolischen Ebene zurück nach oben auf die untere Hälfte der Kugel 2233 projizieren. 2234 2235 Vom Nordpol der Kugel projiziert man die untere Halbkugel stereographisch 2236 wieder zurück auf die Ebene von $cal(D)$ und erhält so das Poincaré-Modell 2237 der hyperbolischen Ebene. 2238 ]) 2239 #card( 2240 question: [Was sind in diesem Modell die hyperbolischen Geraden?], 2241 answer: [ 2242 Aus den hyperbolischen Geraden werden Halbkreise, die orthogonal vom Äquator 2243 der Kugel weg nach unten hängen. 2244 2245 Die hyperbolischen Geraden entsprechen im Poincaré-Modell Kreisbögen, die 2246 orthogonal vom Fernkreis weglaufen. 2247 ]) 2248 #card( 2249 question: [Was sind die hyperbolischen Spiegelungen in diesem 2250 Modell?], 2251 answer: [ 2252 Die hyperbolischen Abbildungen werden im Poincaré-Modell zu Abbildungen, die 2253 den Fernkreis auf sich abbilden. insbesondere wird aus einer hyperbolischen 2254 Spiegelung an einer Polagen eine Inversion an einem zum Fernkreis 2255 orthogonalen Kreis, dessen Mittelpunkt $mono(m)$ der Pol der Spiegelung ist. 2256 ]) 2257 #card( 2258 question: [Warum sind die hyperbolischen Abb. genau die 2259 Kreisverwandtschaften, die den Fernkreis auf sich 2260 abbilden?], 2261 answer: [ 2262 Die projektiven Geraden durch den Pol gehen bei der Spiegelung und der 2263 Inversion in sich über. Jede hyperbolische Gerade ist hat im Klein- als auch 2264 im Poincaré-Modell zwei Fernpunkte auf dem Fernkreis und ist durch diese 2265 festgelegt. Weil die Fernpunkte sowohl durch die Spiegelung als auch durch 2266 die Inversion auf sich abgebildet werden, wird jede Gerade in die gleiche 2267 aber unterschiedlich als Strecke oder Kreissegment dargestellte Gerade 2268 gespiegelt bzw. invertiert. Da jeder Punkt Schnitt von zwei Geraden ist, 2269 folgt die Behauptung. 2270 ]) 2271 #card( 2272 question: [Wie ist der hyperbolische Winkel definiert?], 2273 answer: [ 2274 Der Winkel, in dem sich zwei hyperbolische Geraden im Poincaré-Modell 2275 schneiden, ist ihr hyperbolischer Winkel. Er ist invariant unter 2276 hyperbolischen Abbildungen. 2277 ]) 2278 #card( 2279 question: [Warum bleiben Winkel unter hyperbolischen Abb. 2280 invariant?], 2281 answer: [ 2282 2283 ]) 2284 2285 == Fundamentalgebiete 2286 #card( 2287 question: [Wie gro8 ist die Winkelsumme eines hyperbolischen 2288 Dreiecks?], 2289 answer: [ 2290 Die Winkelsumme in einem hyperbolischen Dreieck ist kleiner als 180°. 2291 2292 (Die Winkelsumme eines Dreiecks der euklidischen Ebene ist 180° und für ein 2293 Kugeldreieck größer als 180°.) 2294 ]) 2295 #card( 2296 question: [Warum ist die Winkelsumme eines hyperbolischen 2297 Dreiecks kleiner als 180?], 2298 answer: [ 2299 Jedes hyperbolische Dreieck $mono(o' p' q')$ kann durch eine Spiegelung 2300 (winkelerhaltend) in ein Dreieck $mono(o p q)$ überführt werden, bei dem 2301 z.B. $mono(o)$ Mittelpunkt der Kreisscheibe $cal(D)$ ist. Die zu dieser Ecke 2302 adjazenten Kanten liegen dann auf Durchmessern der Kreisscheibe. Nur der 2303 Winkel bei $mono(o)$ entspricht dem des euklidischen Dreiecks $mono(o p q)$, 2304 während die beiden anderen kleiner als die entsprechenden des euklidischen 2305 Dreiecks sind. 2306 ]) 2307 #card( 2308 question: [Wie groB kônnen die Winkelsummen regelma8iger n-Ecke sein?], 2309 answer: [ 2310 Die Winkelsummen aller regelmäßigen n-Ecke bilden das Intervall $(0, (n-2) 2311 180°)$. Zu jeder Winkelsumme aus diesem Intervall gibt es also regelmäßige 2312 n-Ecke. 2313 2314 Ein regelmäßiges n-Eck ist ein Polygon, dessen Kantenlängen und Winkel alle 2315 gleichgroß sind. 2316 ]) 2317 #card( 2318 question: [Was ist ein Fundamentalgebiet?], 2319 answer: [ 2320 Ein regelmäßiger n-Eck mit Winkelsumme 360° (n > 4) heißt Fundamentalgebiet. 2321 ]) 2322 #card( 2323 question: [Was ist eine Fuchssche Gruppe?], 2324 answer: [ 2325 Bei einem Fundamentalgebiet $cal(Q)$ (regelmäßiger n-Eck mit Winkelsumme 360°) 2326 existiren $n$ (nicht eindeutige) Drehungen $phi_1, ..., phi_n$0mit $phi_1 2327 compose ... compose phi_n = id$, sodass die Bilder $phi cal(Q)$ für $phi = 2328 rho_1 compose ... compose rho_k, k in NN$ und $rho_1 ... rho_k in {phi_1, 2329 ..., phi_n}$, die hyperbolische Ebene $cal(H)^2$ zerlegen. 2330 2331 Die $phi_i$ erzeugen eine Fuchse Gruppe. Allgemeiner ist eine Fuchssche 2332 Gruppe eine Gruppe hyperbolischer Abbildungen, die ein, auch nicht 2333 regelmäßiges Polygon auf Polygone abbildet, welche die hyperbolische Ebene 2334 $cal(H)^2$ zerlegen. 2335 ]) 2336 == Orbifaltigkeiten 2337 #card( 2338 question: [Was ist eine Obifaltigkeit?], 2339 answer: [ 2340 Die Oberfläche eines Körpers mat $gamma$ hindurchführenden Tunneln ist eine 2341 Fläche vom topologischen Geschlecht $gamma$. Solch eine Fläche kann 2342 aufgeschnitten und vber dem Fundamentalgebiet einer Fuchsschen Gruppe 2343 parametrisiert werden. 2344 2345 Indem man eine Fläche über einem Fundamentalgebiet parametrisiert und ihre 2346 Parametrisierung periodisch über einer zugehörigen Kachelung der 2347 hyperbolischen Ebene fortsetzt, erhält man eine Orbidfaltigkeit. Die 2348 periodische Fortsetzung hilft, glatte, d.h. differenzierbare 2349 Parametrisierungen für solche Flächen zu konstruiren, die von beliebiger 2350 Glattheitsordnung sind. Man kann so stückweise rationale 2351 Splineorbidfaltigkeiten konstruiren, deren Grad nur um eins höher als ihre 2352 Differenzierbarkeitsordnung ist. 2353 ]) 2354