defun 发表于 2017-12-14 16:45:32

vlax-curve-getfirstderiv和secondderiv不垂直?

如图所示,vlax-curve-getfirstderiv和secondderiv得到的切线与法线对于spl不垂直?
而对于arc是正确的

(setq es (car (entsel)))
(setq param 15)
(setq pt0 (vlax-curve-getpointatparam es param))
(setq pt1 (vlax-curve-getfirstderiv es param))
(setq pt2 (vlax-curve-getsecondderiv es param))
(setq ang1 (angle '(0 0 0) pt1))
(setq ang2 (angle '(0 0 0) pt2))
(setvar "osmode" 0)
(command "line" pt0 (polar pt0 ang1 30) "")
(command "line" pt0 (polar pt0 ang2 30) "")



yshf 发表于 2017-12-14 22:15:27

secondderiv有BUG,只能
(command "line" pt0 (polar pt0 ang1 30) "")
(command "line" pt0 (polar pt0 (+ ang1 (* 0.5 pi))30) "")

langke52 发表于 2017-12-14 22:15:39

测试了下,直线也不会垂直,第二条都是水平的,所以应该vlax-curve-getsecondderiv 是二阶导数的意思。可能圆的一阶导数跟二阶导数正好垂直,是个特例。

陨落 发表于 2017-12-15 14:27:34

secondderiv 曲率……

langke52 发表于 2017-12-15 18:28:43

陨落 发表于 2017-12-15 14:27
secondderiv 曲率……

圆弧的曲率=1/R 是个定值,不会跟切线垂直
页: [1]
查看完整版本: vlax-curve-getfirstderiv和secondderiv不垂直?