From 25f29125207c13a5ce23f5d84b12f61b25ed8360 Mon Sep 17 00:00:00 2001 From: Kenso Grimm Date: Thu, 17 Sep 2026 08:14:19 +0200 Subject: [PATCH] docs: eigene Korrektur nachschaerfen und Task 9 mitziehen Die Begruendung zur doppelten Mitte war selbst missverstaendlich: "jede Linie frisst je die Haelfte des Achsabstands" ergibt woertlich gelesen null Luecke. Jetzt steht die Rechnung ausgeschrieben da. Dazu tragen die Signaturen von Task 9 nicht mehr object, sondern Polygon - sonst haette sich derselbe Fehler in die naechste Aufgabe vererbt. Co-Authored-By: Claude Opus 5 --- docs/superpowers/plans/2026-09-16-strassen.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/superpowers/plans/2026-09-16-strassen.md b/docs/superpowers/plans/2026-09-16-strassen.md index 0cf4975..b130b72 100644 --- a/docs/superpowers/plans/2026-09-16-strassen.md +++ b/docs/superpowers/plans/2026-09-16-strassen.md @@ -1430,9 +1430,10 @@ def longitudinal(graph: Graph) -> list[tuple[Polygon, str]]: # Wohnstraße: eine gestrichelte gelbe Mitte, Überholen erlaubt. out += [(p, "gelb_gestrichelt") for p in _dashed(line, 0.0)] else: - # Doppelt durchgezogen: die beiden Achsen liegen 2 * WIDTH auseinander, damit - # zwischen den gemalten Linien die 10 cm des Entwurfs bleiben — jede Linie ist - # selbst WIDTH breit und frisst je die Hälfte des Achsabstands auf. + # Doppelt durchgezogen: Die Achsen liegen bei ±WIDTH, also 2 * WIDTH = 20 cm + # auseinander. Jede Linie ist WIDTH breit und ragt von ihrer Achse WIDTH/2 nach + # innen; es bleiben 2*WIDTH − 2*(WIDTH/2) = WIDTH = 10 cm Lücke zwischen den + # gemalten Linien — der Wert aus dem Entwurf. out += [(_solid(line, off), "gelb_doppelt") for off in (-WIDTH, WIDTH)] rand = section.carriageway / 2 - section.parking out += [(_solid(line, off), "weiss_rand") for off in (-rand, rand)] @@ -1586,7 +1587,7 @@ STOP_DEPTH = 0.6 STOP_SETBACK = 4.2 # Kreuzungsrand + Zebrastreifen (3,0) + Sicherheitsabstand (1,2) -def markings(graph: Graph) -> list[tuple[object, str]]: +def markings(graph: Graph) -> list[tuple[Polygon, str]]: out = longitudinal(graph) for node in range(len(graph.nodes)): if graph.degree(node) >= 3: @@ -1594,7 +1595,7 @@ def markings(graph: Graph) -> list[tuple[object, str]]: return out -def junction_marks(graph: Graph, node: int) -> list[tuple[object, str]]: +def junction_marks(graph: Graph, node: int) -> list[tuple[Polygon, str]]: """Zebrastreifen und Haltelinie je Zufahrt. Ein Zebrastreifen entsteht nur, wenn die Kreuzung mindestens zwei Arme ab Wohnstraße hat -