;************************************************************************
;* [CMFAO] AME 6602 ACQUISITION DES DONNÉES SPATIALES
*
;* [GRCAO] Claude Parisel
*
;* Mars 1999
*
;************************************************************************
; NORMAL
; normalisation d'une liste de points ou un point seul
; Mettre la dernière coordonnée à 1
;------------------------------------------------------------------------
; V Indicateur de la nature de LPT ->
0 pour liste, 1 pour point
; LPT Point ou liste de point
;------------------------------------------------------------------------
(defun normal (lpt / v)
(if
(= (type (car lpt)) 'LIST)
(setq v 0)
(setq v 1)
)
;cas d'un point: on le met seul dans une liste
;-----------------------
(if (= v 1)(setq lpt (list lpt)))
; traitement de la liste
;-----------------------
(setq lpt
(mapcar
'(lambda (x)
(if
(= (length x)
3)
(reverse (cons
1.0 (reverse x)))
(if
(/=
(last x) 0)
(list
(/ (car x) (last x))
(/ (cadr x) (last x))
(/ (caddr x) (last x))
1.0
)
x
)
)
)
lpt
)
)
;Retour selon le cas
(if
(= v 0)
lpt
(car lpt)
)
)
;----------------------------------------------------------
|