;************************************************************************
;* [CMFAO] AME 6602 ACQUISITION DES DONNÉES SPATIALES
*
;* [GRCAO] Claude Parisel
*
;* Mars 1999
*
;************************************************************************
; GET-REFLECT
; saisie d'une matrice de réflexion selon le choix
;------------------------------------------------------------------------
; RETOUR: Matrice de réflexion
;------------------------------------------------------------------------
(defun get-reflect ( / rep)
(print "choix de la réflexion -> plan, axe ou
point: ")
(setq rep (strcase (getstring "réflexion vs OXY/OYZ/OXZ
/ OX/OY/OZ / O: ")))
(if
(/= rep nil)
(cond
(
(= rep "OXY")
(setq v (list 1.0 1.0 (-
1.0) 1.0))
)
(
(= rep "OYZ")
(setq v (list (- 1.0) 1.0
1.0 1.0))
)
(
(= rep "OXZ")
(setq v (list 1.0 (- 1.0)
1.0 1.0))
)
(
(= rep "OX")
(setq v (list 1.0 (- 1.0)
(- 1.0) 1.0))
)
(
(= rep "OY")
(setq v (list (- 1.0) 1.0
(- 1.0) 1.0))
)
(
(= rep "OZ")
(setq v (list (- 1.0) (-
1.0) 1.0 1.0))
)
(
(= rep "O")
(setq v (list (- 1.0) (-
1.0) (- 1.0) 1.0))
)
)
)
(make-reflect v)
)
;--------------------------------------------------------------------------
; Exemple:
; Command: (get-reflect)
; "choix
de la réflexion -> plan, axe ou point:
; " réflexion
vs OXY/OYZ/OXZ/OX/OY/OZ/O:
OXY
;
((1.0 0.0 0.0 0.0) (0.0 1.0 0.0 0.0) (0.0 0.0 -1.0 0.0) (0.0 0.0 0.0
1.0))
;--------------------------------------------------------------------------
|