最小二乘法直线拟合
本帖最后由 st788796 于 2015-2-23 16:01 编辑http://www.cnblogs.com/gnuhpc/archive/2012/12/09/2810000.html
将其中的 C++ 代码翻译为 alisp
**** Hidden Message *****
测试代码
(defun c:tt (/ pts ss sl ptl)
(if (setq ss (ssget '((0 . "point"))))
(progn
(setq sl (sslength ss))
(while (setq e (ssname ss (setq sl (1- sl))))
(setq pts (cons (cdr (assoc 10 (entget e))) pts))
)
(setq ptl (polyfit pts))
(entmake (list '(0 . "line") (cons 10 (caar ptl)) (cons 11 (cadar ptl)) '(62 . 1)))
(entmakex (append '((0 . "LWPOLYLINE") (100 . "AcDbEntity") (100 . "AcDbPolyline"))
(list (cons 90 (length (cadr ptl))))
(mapcar '(lambda (x) (list 10 (car x) (cadr x))) (cadr ptl))
)
)
)
)
(princ)
)
运行效果
向楼主拜年了!研究一下看能否拟合成大圆弧,用于折弯薄板,经斜切,再将薄板展开为 2d,将折弯(转角)处,用近似圆弧进行过渡。
研究研究。 谢谢楼主的分享 {:soso_e179:} 太强大了! 你帮列个表示意下吧:@ wwwwwwwwwwwwwwwwwwwwwwww 太神奇了,想看下fix函数进一步学习,多谢分享!
感谢分享,学习。。。。。。。。。。。。。
学习学习.... thank you
学习lisp的写法,感恩! 又一个好东西啊 polyfit函数呢?