从那里尝试一个函数:
http://www.caduser.ru/forum/index.php?PAGE_NAME=read&FID=2&TID=32826
- ;; (return normal to plane defined by 3 points)
- ;**********************************************************
- ; Вектор нормали к плоскости. Плоскость задана 3-мя точкам,
- ;**********************************************************
- ; P1, P2, P3 - точки
- ; Возвращает вектор нормали. (P1 P2 P3 не на одной прямой)
- ;Примечание: в большинстве функций библиотеки полскость задается точкой и вектором нормали к ней
- ;Если в Вашем случае плоскость задана 3-мя точками используйте эту функцию для вычисления вектора нормали
- (defun 3d_WNormp (P1 P2 P3 / W1 W2)
- (setq W1 (mapcar '- P2 P1)
- W2 (mapcar '- P3 P2)
- )
- (list (- (* (cadr W1)(caddr W2)) (* (caddr W1)(cadr W2)))
- (- (* (caddr W1)(car W2)) (* (car W1)(caddr W2)))
- (- (* (car W1)(cadr W2)) (* (cadr W1)(car W2)))
- )
- )
~'J'~ |