[REFACTOR] VF: L_GF/L_VF-Solve aus Winkelberechnung zentralisiert (vf-winkel-solve)
Der L_GF/L_VF-Solve-Block (aus A/B-Restbudget) war in berechne-alle-winkel (Standard) und berechne-winkel-etage byte-identisch. Als vf-winkel-solve (winkel richtung A B sinα cosEff sinEff sin3 cos3) -> (winkel L_GF L_VF gueltig) nach vf_core gezogen; beide Winkelberechnungen nutzen ihn jetzt. Bewusst NICHT vereinheitlicht: die A/B-Berechnung (Etage hat zusaetzliche 2*schraeg-/2*gef-/2*feste-Terme, Standard nutzt feste-hz) und die Ergebnis- tabelle (unterschiedliche Message-Keys/Arg-Form) - beides birgt Geometrie-/ Ausgaberisiko fuer geringen Zeilengewinn. Der identische, geometrie-kritische Solve ist der wertvolle Teil. test_foerderer.py (Winkel-Set, Monotonie, L_GF/L_VF>0) validiert das direkt. Paren-Balance geprueft. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+3
-19
@@ -282,25 +282,9 @@
|
||||
(* feste-hz sin3))
|
||||
bogen-z1 bogen-z2))
|
||||
)
|
||||
(if (> (abs sinα) 0.0001)
|
||||
(progn
|
||||
(setq L_GF (/ (- (* A sinEff) (* B cosEff)) sinα))
|
||||
(if (= richtung "Auf")
|
||||
(setq L_VF (/ (+ (* A sin3) (* B cos3)) sinα))
|
||||
(setq L_VF (/ (- (* B cos3) (* A sin3)) sinα))
|
||||
)
|
||||
(if (and (numberp L_GF) (numberp L_VF))
|
||||
(progn
|
||||
(setq gueltig (and (>= L_GF 0) (>= L_VF 0)))
|
||||
(setq ergebnis-liste
|
||||
(cons (list winkel L_GF L_VF gueltig) ergebnis-liste))
|
||||
)
|
||||
(setq ergebnis-liste
|
||||
(cons (list winkel nil nil nil) ergebnis-liste))
|
||||
)
|
||||
)
|
||||
(setq ergebnis-liste (cons (list winkel nil nil nil) ergebnis-liste))
|
||||
)
|
||||
(setq ergebnis-liste
|
||||
(cons (vf-winkel-solve winkel richtung A B sinα cosEff sinEff sin3 cos3)
|
||||
ergebnis-liste))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user