XD::GEOM:VECTOR-ADD
;; ------------------------------------------------------------------------
;;; 函数名称 / Function Name: XD::GEOM:VECTOR-ADD
;;;
;;; 【功能说明 / Description】
;;; 计算两个向量 A 和 B 的向量加法,支持二维或三维向量。
;;; 根据输入向量的维度分别处理,返回相加后的向量。
;;;
;;; 【参数说明 / Parameters】
;;; a - (list) 向量 A,二维或三维坐标列表
;;; b - (list) 向量 B,二维或三维坐标列表
;;;
;;; 【返回值 / Return Value】
;;; (list) 向量和,格式与输入向量相同(二维或三维)
;;;
;;; 【依赖函数 / Dependencies】
;;; - length : 获取列表长度
;;; - car, cadr, caddr : 获取向量分量
;;; - list : 构造列表
;;;
;;; 【备注 / Notes】
;;; - 输入向量 A 和 B 维度应一致,否则结果可能不正确。
;;;
(defun XD::GEOM:VECTOR-ADD (a b / c)
(if (and (equal (length a) 3) (equal (length b) 3))
;; 三维向量加法
(setq c (list (+ (car b) (car a))
(+ (cadr b) (cadr a))
(+ (caddr b) (caddr a))))
;; 二维向量加法
(setq c (list (+ (car b) (car a))
(+ (cadr b) (cadr a))))
)
c
)
(mapcar '+ a b)
页:
[1]