Les fonctions: MAT-ROTX.LSP

;************************************************************************
;* [CMFAO] AME 6602 ACQUISITION DES DONNÉES SPATIALES                   *
;* [GRCAO] Claude Parisel                                               *
;* Mars 1999                                                            *
;************************************************************************
; MAT-ROTX
; Construction d'une matrice de rotation autour de OX
;------------------------------------------------------------------------
; ANG    Angle de rotation en degrés
; A      Angle de rotation en radian
;------------------------------------------------------------------------
; RETOUR: Matrice de rotation autour de OX
;------------------------------------------------------------------------
(defun mat-rotx (ang / cosa sina)
  (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
  (list
    (list 1.0   0.0    0.0  0.0)
    (list 0.0   cosa   sina 0.0)
    (list 0.0 (- sina) cosa 0.0)
    (list 0.0   0.0    0.0  1.0)
  )
)
;--------------------------------------------------------------------
; Exemple:
; Command: (mat-rotx
30)
;          ((1.0 0.0 0.0 0.0) (0.0 0.866025 0.5 0.0) (0.0 -0.5 0.866025 0.0)
;          (0.0 0.0 0.0 1.0))
;--------------------------------------------------------------------