早教吧作业答案频道 -->其他-->
初学者,想知道下面的AutoLisp程序错在哪里(圆的渐开线)?怎么改(defunc:jkxg(/p0jrrmaxrdrphix0y0x1y1x2y2)(graphscr)(setqp0(getpoint"\n输入基圆的圆心:"))(setqjr(getdistp0"\n输入基圆的半径:"))(setq
题目详情
初学者,想知道下面的AutoLisp程序错在哪里(圆的渐开线)?怎么改
(defun c:jkxg(/ p0 jr rmax r dr phi x0 y0 x1 y1 x2 y2)
(graphscr)
(setq p0(getpoint"\n输入基圆的圆心:"))
(setq jr(getdist p0"\n输入基圆的半径:"))
(setq rmax(getdist "\n 输入渐开线的终止极径:"))
(command "circle"p0 r)
(setq dr(getdist "\n 输入极径增量:"))
(setq x0(car p0)y0(cadr p0))
(setq r jr)
(setq phi(sprt (- 1 (/ (* r r) (* jr jr))))
(setq x1(+ x0(* r(cos phi)))
(setq y1(+ y0(* r(sin phi)))
(while (< r rmax)
(setq r(+ r dr))
(setq x2(+ x0(* r(cos phi)))
(setq y2(+ y0(* r(sin phi)))
(command "line" ls (list x1 y1)(list x2 y2)"")
(setq ls (list x y))
(setq x1 x2 y1 y2)
编译的时候系统报列表错误.
(defun c:jkxg(/ p0 jr rmax r dr phi x0 y0 x1 y1 x2 y2)
(graphscr)
(setq p0(getpoint"\n输入基圆的圆心:"))
(setq jr(getdist p0"\n输入基圆的半径:"))
(setq rmax(getdist "\n 输入渐开线的终止极径:"))
(command "circle"p0 r)
(setq dr(getdist "\n 输入极径增量:"))
(setq x0(car p0)y0(cadr p0))
(setq r jr)
(setq phi(sprt (- 1 (/ (* r r) (* jr jr))))
(setq x1(+ x0(* r(cos phi)))
(setq y1(+ y0(* r(sin phi)))
(while (< r rmax)
(setq r(+ r dr))
(setq x2(+ x0(* r(cos phi)))
(setq y2(+ y0(* r(sin phi)))
(command "line" ls (list x1 y1)(list x2 y2)"")
(setq ls (list x y))
(setq x1 x2 y1 y2)
编译的时候系统报列表错误.
▼优质解答
答案和解析
(defun c:jkxg(/ p0 jr rmax r dr phi x0 y0 x1 y1 x2 y2)
(graphscr)
(setq p0(getpoint"\n输入基圆的圆心:"))
(setq jr(getdist p0"\n输入基圆的半径:"))
(setq rmax(getdist "\n 输入渐开线的终止极径:"))
(command "circle"p0 jr)
(setq dr(getdist "\n 输入极径增量:"))
(setq x0(car p0)y0(cadr p0))
(setq r jr)
(setq phi(sqrt (- 1 (/ (* r r) (* jr jr)))))
(setq x1(+ x0(* r(cos phi))))
(setq y1(+ y0(* r(sin phi))))
(while (< r rmax)
(setq r(+ r dr))
(setq x2(+ x0(* r(cos phi))))
(setq y2(+ y0(* r(sin phi))))
(command "line" ls (list x1 y1)(list x2 y2)"")
(setq ls (list x y))
(setq x1 x2 y1 y2)
)
)
;;少了好几个)肯定会提示出错的. 还有就是 sqrt 函数不是 sprt .改好了,加载是没问题,不过我随便输入数据画不出图形来,不知道是不是数据问题.
(graphscr)
(setq p0(getpoint"\n输入基圆的圆心:"))
(setq jr(getdist p0"\n输入基圆的半径:"))
(setq rmax(getdist "\n 输入渐开线的终止极径:"))
(command "circle"p0 jr)
(setq dr(getdist "\n 输入极径增量:"))
(setq x0(car p0)y0(cadr p0))
(setq r jr)
(setq phi(sqrt (- 1 (/ (* r r) (* jr jr)))))
(setq x1(+ x0(* r(cos phi))))
(setq y1(+ y0(* r(sin phi))))
(while (< r rmax)
(setq r(+ r dr))
(setq x2(+ x0(* r(cos phi))))
(setq y2(+ y0(* r(sin phi))))
(command "line" ls (list x1 y1)(list x2 y2)"")
(setq ls (list x y))
(setq x1 x2 y1 y2)
)
)
;;少了好几个)肯定会提示出错的. 还有就是 sqrt 函数不是 sprt .改好了,加载是没问题,不过我随便输入数据画不出图形来,不知道是不是数据问题.
看了 初学者,想知道下面的Auto...的网友还看了以下:
将圆心角为120°,面积为3π的扇形.作为圆锥的侧面,求圆锥的表面积和体积解:设圆锥母线为L,则: 2020-04-12 …
高中数学题,有关椭圆的已知椭圆C:y^2/a^2+x^2/b^2=1(a>b>0)的两焦点与短轴的 2020-05-13 …
已知椭圆C:x2a2+y2b2=1(a>b>0),直线l:y=kx+m(k≠0,m≠0),直线l交 2020-05-15 …
高中数学解析几何 椭圆已知椭圆C:(x²/a²)+(y²/b²)=1(a>b>o)的离心率为(√6 2020-05-16 …
高中数学--圆的直线方程已知圆C:x^2+(y-1)^2=5,直线l:mx-y+1-m=0问:设直 2020-05-16 …
希望高手指教,我没想出来很纠结.扇形OBC是圆锥的侧面展开图,圆锥的母线OB=l,底面圆半径HB= 2020-06-17 …
数学圆锥曲线 直线与椭圆 已知椭圆x^2/a^2+y^2/b^2=1(a>b>0)的左右焦点分别为 2020-06-27 …
已知圆C:x²+(y-1)²=5,直线l:mx-y+1-m=0(1):求证:对任意m∈R,直线l已 2020-07-18 …
已知圆C:(X-1)^2+Y^2=9内有一点P(2,2),过点P作直线L交圆C于A、B两点.(1) 2020-07-25 …
已知圆.(1)求证:不论m为何值,圆心在同一直线l上;(2)与l平行的直线中,哪些与圆相交、相切、 2020-07-26 …