Love-Lisp 发表于 2013-6-11 14:00:55

(XD::Geom:Poly2Arc)将PolyLine的弧段数据转化为Arc数据

(defun XD::Geom:Poly2Arc (p1 bulg p2 / ang cen rad)
(setq ang (* 2.0 (atan bulg))
      rad (/ (distance p1 p2) (* 2.0 (sin ang)))
      cen (polar p1 (+ (- (/ pi 2.) ang) (angle p1 p2)) rad)
)
(if (minusp bulg)
    (list nil cen (abs rad) (angle cen p2) (angle cen p1))
    (list t cen (abs rad) (angle cen p1) (angle cen p2))
)
)




XDSoft 发表于 2013-6-11 14:16:31

逆顺时针,是判断那个多段线给后续程序用的。

ayl1004 发表于 2013-6-11 14:36:23

本帖最后由 ayl1004 于 2013-6-11 14:41 编辑

这程序好象有bug
没考虑b>1的情况

牢固 发表于 2013-6-11 14:41:11

ayl1004 发表于 2013-6-11 14:36
这程序好象有bug

有什么Bug,请具体点,以便楼主修正!

ayl1004 发表于 2013-6-11 14:59:56

汗,是我弄错了

夏生生 发表于 2013-6-11 18:58:09

不建议用sin函数,误差较大:)

marting 发表于 2013-6-11 19:08:06

夏生生 发表于 2013-6-11 18:58
不建议用sin函数,误差较大

此话怎解?

q3_2006 发表于 2013-6-18 07:12:23

逆顺时针是什么呀?

ynyw 发表于 7 天前

学习一下
页: [1]
查看完整版本: (XD::Geom:Poly2Arc)将PolyLine的弧段数据转化为Arc数据