Les fonctions: MAKE-SCALE.LSP

;************************************************************************
;* [CMFAO] AME 6602 ACQUISITION DES DONNÉES SPATIALES                   *
;* [GRCAO] Claude Parisel                                               *
;* Mars 1999                                                            *
;************************************************************************
;------------------------------------------------------------------------
; MAKE-SCALE
; matrice de changement d'échelle
;------------------------------------------------------------------------
; MODE      Mode de changement d'échelle Globale ou Locale
; VALEUR    Valeur associée au mode
; G         Valeur de changement global
; RX        Valeur de changement en X
; RY        Valeur de changement en Y
; RZ        Valeur de changement en Z
;------------------------------------------------------------------------
; RETOUR:
; MATSCALE  Matrice de changement d'échelle
;------------------------------------------------------------------------
(defun make-scale ( mode valeur / g rx ry rz)
  (cond
    (
      (= mode "G")
      (setq g valeur)
      (setq matscale
        (list
          (list 1.0 0.0 0.0 0.0)
          (list 0.0 1.0 0.0 0.0)
          (list 0.0 0.0 1.0 0.0)
          (list 0.0 0.0 0.0 (/ 1.0 g))
        )
      )
    )
    (
      (= mode "L")
      (setq rx (car valeur))
      (setq ry (cadr valeur))
      (setq rz (last valeur))
      (setq matscale
        (list
          (list sx 0.0 0.0 0.0)
          (list 0.0 sy 0.0 0.0)
          (list 0.0 0.0 sz 0.0)
          (list 0.0 0.0 0.0 1.0)
        )
      )
    )
  )
)
;--------------------------------------------------------------------------
; Exemple:
; Command: (make-scale
"G" 4)
;          ((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 0.25))
;--------------------------------------------------------------------------