kkq0305 发表于 2023-4-1 10:38:32

环形阵列

;;;环形阵列 cirar
;;;pt 环形阵列中心坐标
;;;n 360度阵列个数
;;;r 环形阵列半径
;;;输出环形阵列坐标
;;;示例:(cirar '(0 0) 4 10)>>>>
;;;((-1.83697e-015 -10.0) (-10.0 1.22465e-015) (6.12323e-016 10.0) (10 0))
(defun cirar (pt n r / ptx ptss ang)
(setq        ptx   (list r 0)
        ptss (list ptx)
        ang(/ (* 2 pi) n)
)
(repeat (1- n)
    (setq ptss (cons (setq ptx
                          (apply '(lambda (a b)
                                      (list (- (* a (cos ang)) (* b (sin ang)))
                                          (+ (* a (sin ang)) (* b (cos ang)))
                                      )
                                  )
                                   ptx
                          )
                     )
                     ptss
             )
    )
)
(mapcar '(lambda (x) (mapcar '+ pt x)) ptss)
)
;;;环形阵列 cirar1 (带偏转角度)
;;;pt 环形阵列中心坐标
;;;n 360度阵列个数
;;;r 环形阵列半径
;;;输出环形阵列坐标及相应角度弧度制
;;;示例:(cirar1 '(0 0) 4 10)>>>>
;;;((-1.83697e-015 -10.0) (-10.0 1.22465e-015) (6.12323e-016 10.0) (10 0))
(defun cirar1 (pt n r / ptx ptss ang)
(setq        ptx(list r 0)
        ptss (list ptx)
        ang(/ (* 2 pi) n)
)
(repeat (1- n)
    (setq ptss (cons (setq ptx
                          (apply '(lambda (a b)
                                      (list (- (* a (cos ang)) (* b (sin ang)))
                                          (+ (* a (sin ang)) (* b (cos ang)))
                                      )
                                  )
                                   ptx
                          )
                     )
                     ptss
             )
    )
)
(mapcar '(lambda (x) (list x (+ (* 0.5 pi) (angle pt x))))
          (mapcar '(lambda (x) (mapcar '+ pt x)) ptss)
)
)

lee50310 发表于 2023-4-10 05:17:01

本帖最后由 lee50310 于 2023-4-10 05:34 编辑

上述函式 :提供一個實際應用的範例程式
(函式1) 執行指令: ta
(函式2) 執行指令: tb

ssyfeng 发表于 2023-4-1 12:16:25

源码分享,赞一个

hzyhzjjzh 发表于 2023-4-1 12:46:08

谢谢楼主分享{:1_1:}

669423907 发表于 2023-4-4 23:38:01

非常感谢楼主分享好源码

guankuiwu 发表于 2023-4-10 11:22:23

lee50310 发表于 2023-4-10 05:17
上述函式 :提供一個實際應用的範例程式
(函式1) 執行指令: ta
(函式2) 執行指令: tb

这个太棒了!:lol

白色微風1991 发表于 2023-4-13 14:21:58

非常感謝樓主分享好源碼

2548572928 发表于 2025-2-15 14:02:33

感谢大神无私分享
页: [1]
查看完整版本: 环形阵列