From c41f34c4edb13230596752d2e3027ffb16b85a1e Mon Sep 17 00:00:00 2001 From: Stephan Linkel <251381+norganos@users.noreply.github.com> Date: Sun, 24 Dec 2023 14:11:28 +0100 Subject: [PATCH] kommentare --- src/main/kotlin/de/linkel/aoc/Day24.kt | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/main/kotlin/de/linkel/aoc/Day24.kt b/src/main/kotlin/de/linkel/aoc/Day24.kt index 4dce6c6..fc2d76a 100644 --- a/src/main/kotlin/de/linkel/aoc/Day24.kt +++ b/src/main/kotlin/de/linkel/aoc/Day24.kt @@ -47,6 +47,35 @@ class Day24: AbstractLinesAdventDay() { } else 0 } + /* # gesucht: p: Projectile(position: Point3d, velocity: Vector3d) + # gegeben: n hailStones h[0] bis h[n-1] + # kollision mit h[x] in t[x] + + t[?] > 0 + p.position + p.velocity * t[0] = h[0].position + h[0].velocity * t[0] + p.position + p.velocity * t[1] = h[1].position + h[1].velocity * t[1] + ... + + # 7 unbekannte, 3 gleichungen + p.pos.x + p.vel.dx * t[0] = h[0].pos.x + h[0].vel.dx * t[0] + p.pos.y + p.vel.dy * t[0] = h[0].pos.y + h[0].vel.dy * t[0] + p.pos.z + p.vel.dz * t[0] = h[0].pos.z + h[0].vel.dz * t[0] + + # 7 unbekannte, 3 gleichungen + p.pos.x + p.vel.dx * t[1] = h[1].pos.x + h[1].vel.dx * t[1] + p.pos.y + p.vel.dy * t[1] = h[1].pos.y + h[1].vel.dy * t[1] + p.pos.z + p.vel.dz * t[1] = h[1].pos.z + h[1].vel.dz * t[1] + + # jeder hagelstein erhöht gleichungen um 3, erhöht unbekannte aber nur um 1 + # hagelstein | unbekannte | gleichungen + # 1 | 7 | 3 + # 2 | 8 | 6 + # 3 | 9 | 9 + # => nach 3 hagelkörnern sollte das system lösbar sein + + + */ + data class Point2d(val x: Double, val y: Double) { operator fun plus(vector: Vector2d) = copy(x + vector.deltaX, y + vector.deltaY) operator fun minus(other: Point2d) = Vector2d(x - other.x, y - other.y)