[REFACTOR] Rz(hz)*Ry(vert)-Rotationsmatrix zentralisiert (ssg-rot-matrix-zy)
Die 4x4-Matrix Rz(hz)*Ry(vert) stand woertlich 11x: vf_core (2x), vf_etage (4x), Gefaellestrecke (4x), TEFInsert (1x). Neuer dependency-freier Helper ssg-rot-matrix-zy in ssg_core.lsp (immer zuerst geladen), damit alle drei Cluster ihn ohne Cross-Modul-Kopplung teilen. - vf-rot-matrix bleibt als duenner Alias in vf_core (VF-Aufrufstellen unveraendert) - Reine 2D-Rz-Matrizen (insert-block-by-ks, nur horizontal) bleiben unangetastet (andere Form, kein Vertikalanteil) Werte identisch - reine Extraktion. Paren-Balance geprueft. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -168,6 +168,26 @@
|
||||
)
|
||||
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; 3D-ROTATIONSMATRIX
|
||||
;; ------------------------------------------------------------
|
||||
;; 4x4-Rotationsmatrix Rz(hz)*Ry(vert) fuer vla-TransformBy (vlax-tmatrix).
|
||||
;; Argumente sind die BEREITS berechneten Winkelfunktionen:
|
||||
;; chz = cos(hz), shz = sin(hz) (horizontale Fahrtrichtung)
|
||||
;; cv = cos(vert), sv = sin(vert) (vertikale Neigung, positiv = abwaerts)
|
||||
;; Diese Matrix stand zuvor woertlich in insert-*-Funktionen von vf_core,
|
||||
;; vf_etage, Gefaellestrecke und TEFInsert. Zentral hier, weil dependency-frei
|
||||
;; und clusteruebergreifend genutzt. Werte unveraendert - reine Extraktion.
|
||||
(defun ssg-rot-matrix-zy (chz shz cv sv)
|
||||
(list
|
||||
(list (* chz cv) (- shz) (* chz sv) 0)
|
||||
(list (* shz cv) chz (* shz sv) 0)
|
||||
(list (- sv) 0 cv 0)
|
||||
(list 0 0 0 1)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; ------------------------------------------------------------
|
||||
;; BENUTZER-ABFRAGEN
|
||||
;; ------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user