Les fonctions: MAT-ROTZ.LSP

;************************************************************************
;* [CMFAO] AME 6602 ACQUISITION DES DONNÉES SPATIALES                   *
;* [GRCAO] Claude Parisel                                               *
;* Mars 1999                                                            *
;************************************************************************
; MAT-ROTZ
; Construction d'une matrice de rotation autour de OZ
;------------------------------------------------------------------------
; ANG    Angle de rotation en degrés
; A      Angle de rotation en radian
;------------------------------------------------------------------------
; RETOUR:Matrice de rotation autour de OZ
;------------------------------------------------------------------------
(defun mat-rotz (ang)
  (setq a (deg2rad ang))
  (cond
    (
      (= ang 90)
      (setq cosa 0.0 sina 1.0)
    )
    (
      (= ang 180)
      (setq cosa (- 1) sina 0.0)
    )
    (
      (= ang 270)
      (setq cosa 0.0 sina (- 1.0))
    )
    (T
      (setq cosa (cos a))
      (setq sina (sin a))
    )
  )
  ;RETOUR: Matrice de rotation autour de OZ
  (list
    (list cosa     sina 0.0 0.0)
    (list (- sina) cosa 0.0 0.0)
    (list 0.0      0.0  1.0 0.0)
    (list 0.0      0.0  0.0 1.0)
  )
)
;--------------------------------------------------------------------
; Exemple:
; Command: (mat-rotz
30)
;          ((0.866025 0.5 0.0 0.0) (-0.5 0.866025 0.0 0.0) (0.0 0.0 1.0 0.0)
;          (0.0 0.0 0.0 1.0))
;--------------------------------------------------------------------