Abstandsstrafe fuer getrennte Gruppen + Verbindungslinien-Optionen

- strafen.cfg: neuer optionaler Abschnitt [Abstand] mit Faktor je
  normierter Abstandseinheit (0..100, bezogen auf die max. Ausdehnung
  der Tischanordnung)
- Strukturdaten.py: Strafliste.AbstandFaktor, gibPunkte('Abstand',...),
  bewerten() bestraft den max. Tisch-Tisch-Abstand getrennter Gruppen;
  abwaertskompatibel (fehlt der Abschnitt -> Faktor 0)
- platz.py: --show-/--hide-connections steuern die Verbindungslinien
  getrennter Gruppen in der SVG
- work/*, doc/images/*: Beispiele neu durchgerechnet

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Michael Stangl
2026-07-11 13:47:27 +02:00
parent 98b1dc4f36
commit 4f87895303
18 changed files with 1540 additions and 1379 deletions
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="251.2" height="412" viewBox="0 0 251.2 412">
<rect width="100%" height="100%" fill="white"/>
<polyline points="125.6,353.6 206,286.4" fill="none" stroke="#e6194b" stroke-width="12" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.5"/>
<polyline points="125.6,380 45.2,286.4" fill="none" stroke="#3cb44b" stroke-width="12" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.5"/>
<polyline points="206,125.6 125.6,32" fill="none" stroke="#4363d8" stroke-width="12" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.5"/>
<polyline points="125.6,58.4 45.2,125.6" fill="none" stroke="#f58231" stroke-width="12" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.5"/>
<circle cx="125.6" cy="366.8" r="35.2" fill="white" stroke="black" stroke-width="1.5"/>
<circle cx="125.6" cy="353.6" r="12" fill="#e6194b" stroke="black" stroke-width="1"/>
<circle cx="125.6" cy="380" r="12" fill="#3cb44b" stroke="black" stroke-width="1"/>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB