- 积分
- 36329
- 明经币
- 个
- 注册时间
- 2010-7-10
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 highflybird 于 2021-9-9 00:16 编辑
圆锥曲线有三类:椭圆、抛物线和双曲线。
椭圆在AutoCAD的画法为众人熟知,我现在说说剩下的两类。
1、抛物线。
如果熟悉三维建模的,可以创建一个三维的圆锥体,然后用section命令得到圆锥曲线的轮廓。
炸开这个轮廓,可以得到一个精确的圆锥曲线,这个方法有点费时,不好操作。
现在通过举例讲解抛物线的画法。
画: y=a*x^2 ,区间段为(-1,1)。
输入命令:spline回车
当前设置: 方式=拟合 节点=弦
指定第一个点或 [方式(M)/节点(K)/对象(O)]: m <-----在这里输入m
输入样条曲线创建方式 [拟合(F)/控制点(CV)] <拟合>: cv <-----在这里输入CV
当前设置: 方式=控制点 阶数=3
指定第一个点或 [方式(M)/阶数(D)/对象(O)]: d <-----在这里输入d
输入样条曲线阶数 <3>: <-----在这里输入2,形成2阶的样条曲线。
(上面的这些设置输入一次址后,CAD下次可以不用输入了)
当前设置: 方式=控制点 阶数=2
指定第一个点或 [方式(M)/阶数(D)/对象(O)]:
输入下一个点: <-----捕捉第一点坐标为(-1,a)。
输入下一个点或 [放弃(U)]: <-----捕捉第二点坐标为(0,-a)。
输入下一个点或 [闭合(C)/放弃(U)]: <-----捕捉第三点坐标为(1,a)。
回车。
这样就得到了一条抛物线,这是一条精确的抛物线,不是拟合出来的,读者可以自行验证。
其它形式的方程,均可由此平移和旋转变换得到。如果大家有兴趣,不妨参考相关知识。
譬如下面的链接:
https://zhuanlan.zhihu.com/p/91649187
2、双曲线。
双曲线与抛物线的画法类似,也是要设置为二阶样条曲线,方式为控制点的模式。
举例:画双曲线x^2-y^2=1,区间为(-2,2)
先画半边。
输入spline, 像抛物线那样设置,如果已经设置好了,回车即可。
要依次输入这三点,这三点坐标是A(2,sqrt(3)), C(0.5,0),B(2,-sqrt(3))
输入后,回车。
下面的步骤可能在属性里面操作容易写。
选取刚才形成的样条曲线,ctrl+1打开属性面板,在属性的当前控制点设置为2,即C点。
把权值-1修改为2,那么,这样就形成了右半边,镜像一下,得到左半边。
所需双曲线绘制完成。
上面的属性修改也可以用splinedit命令来完成
选择开始默认形成的样条曲线,输入splinedit或者双击。
命令: _splinedit
输入选项 [闭合(C)/合并(J)/拟合数据(F)/编辑顶点(E)/转换为多段线(P)/反转(R)/放弃(U)/退出(X)] <退出>: e
输入顶点编辑选项 [添加(A)/删除(D)/提高阶数(E)/移动(M)/权值(W)/退出(X)] <退出>: w
输入新权值 (当前值 = 1.00000000) 或 [下一个(N)/上一个(P)/选择点(S)/退出(X)] <下一个>:
输入新权值 (当前值 = 1.00000000) 或 [下一个(N)/上一个(P)/选择点(S)/退出(X)] <下一个>: 2 <-----在这里输入2,把第二点的权值修改为2。
输入新权值 (当前值 = 2.00000000) 或 [下一个(N)/上一个(P)/选择点(S)/退出(X)] <下一个>: x
输入顶点编辑选项 [添加(A)/删除(D)/提高阶数(E)/移动(M)/权值(W)/退出(X)] <退出>: x
输入选项 [闭合(C)/合并(J)/拟合数据(F)/编辑顶点(E)/转换为多段线(P)/反转(R)/放弃(U)/退出(X)] <退出>: x
分析:
由曲线方程可知,曲线经过(2,sqrt(3))和(2,-sqrt(3))两点,这两点可作为样条的两个端点。
经过计算,可知在点(2,sqrt(3))双曲线的切线斜率为2Xsqrt(3)/3,交X轴线于C(0.5,0)点,又可知曲线经过D(1,0)点
所以权值为DE/CD=1/0.5=2,因此控制点C的权值要输入2.
3、总结方法,
a、首先找到曲线的两个端点(一般做对称的好些,不对称区间可以用对称区间画出,后期用裁剪命令修剪)作为第一个控制点和第三个控制点。
b、第二点为首位两个端点的切线相交点。
c、计算和修改权值,得到需要曲线。权值大于1为双曲线,等于1为抛物线,小于1为椭圆。读者自行验证。
如果读者觉得步骤麻烦,可以用简单的LISP程序来生成。
4、关于证明,大家可以参考样条曲线的知识,经过验证,用三个控制点的时候,二阶样条曲线的方程表达完全一致。
有什么不足的地方请大家多多指教。
转载此文需标明原作者和来源。
后续,下面我补充对于一般的双曲线的画法(以a=5,b=3为例):
关于其原理不再赘述了。
另外利用LISP程序绘制抛物线和双曲线,请参考如下链接:
用LISP绘制精确的抛物线和双曲线
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|