AutoCAD中的螺旋究竟是什么螺旋?
选择螺旋线工具,首先画出一个基准圆,再向内(或向外)移动鼠标,拖出一个旋转3个周期的螺旋。
Autocad中把螺旋的起点称作底面半径,结束点称为顶面半径(这里的螺旋功能是可以画三维螺旋的)。拖动底面半径的起点时,螺旋整体会变化。拖动顶面半径时,底面半径是固定不变的。因此,在使用时,应尽量先指定好底面半径,之后调整顶面半径来控制螺旋的大小。
从螺旋的特征来看,在这三个旋转周期中,每一个周期,螺旋外扩相同的距离,因此,它属于典型的等距螺旋。
按照等距螺旋的理论,螺旋是由直线运动与圆周运动的叠加而产生的轨迹。若直线运动与圆周运动的速度之比是固定值,则会产生等距离外扩的螺旋,因此,把这一类的螺旋称为等距(离外扩)螺旋,也可以称为等速度比螺旋。
根据直线与圆周的位置关系及速度比的变化,等距螺旋分为以下几种主要的类别。
等距螺旋的分类
直线过圆心,速度比恒定时,会产生阿基米德螺旋。速度比为1,直线与圆周相切,运动方向相反时,会产生渐开线螺旋。【速度比】等于【直线距圆心的距离】与【圆周半径】的比值时,会产生风螺旋。其它的速度比与直线位置没有直接关系的螺旋,早些时候,我称它们为自由螺旋,但是“自由”这个两字已经被香港青年们玩坏了,所以,改称为一般螺旋好了。
理论铺垫了这么多,还没开始我们的问题,CAD中的螺旋研究是什么螺旋?怎么证明呢?
一点点来看,我们先画一个底边半径为60,每个旋转周期外扩20的螺旋,顶面半径为60+3*20=120的螺旋,如下图所示:
从这张图进行判断,螺旋如果继续向内收缩,再经过3个螺旋周期,它必将通过圆心。所以我们可以直接画一个从圆心开始,每周期外扩20的螺旋,可以得到下面的红色部分的螺旋(具体绘制步骤:先画底边半径60,再指向圆心,令顶面半径为0):
理论上说红色螺旋与黑色螺旋采用了相同的参数,从位置关系上看,它们之间相差了180度。将红色螺旋旋转180度,再上下镜像一下,见证奇迹的时间到了,它们是一致的,并且是标准的阿基米德螺旋。
上面的螺旋是按照数据计算得到的结果,螺旋通过圆心是符合预期的结果。那么如果将底面半径设计为100,顶面半径为10,3个旋转周期中每周期收缩30,螺旋将会是下面的样子,这样的螺旋是否还会通过圆心呢?
若按照30距离单位收缩,可以预见,下一回合完成后,螺旋会进入到外扩的过程中,并且可以通过距离圆心20单位的位置点。我们直接从这个20距离点开始画螺旋,外扩30,3个周期,顶面半径为20+3*30=110。得到下面的效果。
根据等距螺旋的理论,完整的螺旋是轴对称图形,可以找到一条过圆心的直线,将螺旋的外扩部分与内收部分对称起来。上图中红色螺旋与黑色螺旋的交点位于同一条线上,可以按照我们所了解的对称性,进行一下验证。
如果螺旋画得够准的话,连接螺旋线的交点得到的对称轴会通过圆心,如上图中的蓝色线条所示。通过对称轴将黑色螺旋进行镜像,得到的镜像部分会将红色螺旋完全覆盖,即两部分螺旋会重合,如下图所示。
通过以上的操作,可以发现计算关系相同的两条件螺旋可以是镜像关系,但作为螺旋运动来说,它们是怎样通过圆心并且进行连接的呢?
我们可以按照阿基米德螺旋的方式,沿水平向右方向来画一条底面半径为90,顶面半径为0的螺旋,来比较一下。(下图中删除掉了镜像得到的黑色螺旋)
我们相信蓝色螺旋与另外两个螺旋是相同的,只是初始方向不一样,通过旋转蓝色螺旋必然会与黑色螺旋重合。
旋转时会发现,当旋转至对称轴时,蓝色螺旋会与黑色螺旋重合。对称轴再一次发挥了作用,而这个不是巧合,是必然。我们已经知道黑色螺旋与红色螺旋沿对称轴互为镜像,所以只需将蓝色螺旋进行镜像可得到穿过圆心的红色螺旋。
上图中两条蓝色螺旋虽然通过了圆心,但并未实现平滑连接的效果,这不符合我们关于螺旋运动是平滑而连续的特性。
它们实际上是离开圆心之后,出门左转,与出门右转的关系,这是阿基米德螺旋所特有的对称特性。也就是说前面绘制的黑色螺旋与红色螺旋,它们分别位于左转和右转 两个方向的螺旋之上,这两个螺旋沿对称轴对称。
再来分析一下,对称轴可以看作是阿基米德螺旋初始运动的方向,那么它必然也是螺旋在圆心位置的切线,我们沿对称轴过圆心画一条绿色垂线,如下图所示。
沿对称轴的垂线,对螺旋做镜像(或者逆时针螺旋旋转180度),可以得到平滑衔接的阿基米德螺旋。
最终的效果如下图所示:
我们绘制出了红色螺旋向内连续进行螺旋运动时所形成的完整轨迹,同时也从多种角度证明了,Autocad中的螺旋无论内边、外边的半径怎样设置,它们始终还是属于阿基米德螺旋,不能用来实现渐开线以及风螺旋。
由于Autocad中的螺旋外扩或收缩的方向是穿过圆心的,所以它仍然是阿基米德螺旋。下次我们可以尝试一下在CAD中对渐开线及风螺旋线进行一下对比。
这届的学生有点可爱,不认识我的人可以猜猜看,答案很明显哦。
感谢你们的支持,希望等距螺旋之路越走越远~
AutoCAD中的螺旋究竟是什么螺旋?的更多相关文章
- OpenGL中glRotatef()函数究竟对矩阵做了什么
OpenGL中glRotatef()函数究竟对矩阵做了什么 我们知道OpenGL中维持着两套矩阵,一个是模型视图矩阵(model view matrix),另一个是投影矩阵(projection ma ...
- JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼?
<JavaScript 深入浅出>系列: JavaScript 深入浅出第 1 课:箭头函数中的 this 究竟是什么鬼? JavaScript 深入浅出第 2 课:函数是一等公民是什么意 ...
- MathType在AutoCAD中的应用方法
我们都知道CAD是一款鼎鼎有名设计与绘图软件,有不少朋友可能用过或听说过CAD,相较而言,用过MathType的人可能要少一些,虽然它也是理科生与工科生的专用工具之一. 通过MathType我们能够在 ...
- Autocad中使用命令来调用python对Autocad二次开发打包后的exe程序
在Autocad中直接调用Python二次开发程序是有必要的,下面介绍一种方法来实现这个功能: 其基本思路是:先将二次开发的程序打包为可执行程序exe,然后编写lsp文件,该文件写入调用exe程序的语 ...
- leetcode 54. 螺旋矩阵 及 59. 螺旋矩阵 II
54. 螺旋矩阵 问题描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, ...
- 机器人自主移动的秘密:实际应用中,SLAM究竟是如何实现的?(二)
博客转载自:https://www.leiphone.com/news/201612/FRzmoEI8Iud6CmT2.html 雷锋网(公众号:雷锋网)按:本文作者SLAMTEC(思岚科技公号sla ...
- AutoCAD中导入图片
导入图片涉及到两个关键的问题:如何将图片放置到指定的位置或范围内:如何修改图片的路径类型,如相对路径.绝对路径. 本文以AutoCAD 2018位演示截图来源. 1 将图片放置到指定的位置或范围内 ( ...
- 【转】WriteMessage的信息在AutoCAD中命令行中实时显示
之前程序中有段发送信息到命令行上显示的代码,如下: ed.WriteMessage("开始标注横断面高程,请稍候!"); 但是发现命令行中并不马上显示,代码也明明运 ...
- SQL Server中In-Flight日志究竟是多少
在SQL Server中,利用日志的WAL来保证关系数据库的持久性,但由于硬盘的特性,不可能使得每生成一条日志,就直接向磁盘写一次,因此日志会被缓存起来,到一定数据量才会写入磁盘.这部分已经生 ...
随机推荐
- centos6的redis安装
1.到redis的官网下载redis压缩包 https://redis.io/ 2.利用命令 mkdir /usr/local/redis 新建redis文件夹 并将redis压缩包移动到新建的文件夹 ...
- 怎样判断有没有SQL注入漏洞及原理?
来源:实验楼 最为经典的单引号判断法: 在参数后面加上单引号,比如: http://xxx/abc.php?id=1' 如果页面返回错误,则存在 Sql 注入. 原因是无论字符型还是整型都会因为单引号 ...
- 关于find的-perm
关于find的-perm 参考关于find命令-perm 的用法 总结 有三种用法 find -perm -mode find -perm mode find -perm /mode(find -pe ...
- Git: Setup a remote Git repository
o setup a folder on a server which service for remote Git repository, apply the following steps: Cre ...
- SqlServer2005 查询 第三讲 between
在数据库的查询中最重要的是要知道命令的顺序,因为在sql命令中有许多的参数,例如distinct,top,in,order by,group by.......如果你不能理解什么时候该执行什么的话,很 ...
- tornado的使用-数据库篇
tornado的使用-数据库篇
- 斐波那契数列的实现(C语言)
int fibonacci(int positon){ if(position==1||position==2){ return 1; } return fibonacci(position-1)+f ...
- jenkins手把手教你从入门到放弃01-jenkins简介(详解)
一.简介 jenkins是一个可扩展的持续集成引擎.持续集成,也就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础.持续集成是一种软件开发实践, 即团队开 ...
- mui 底部导航栏
mui 底部导航栏 <nav class="mui-bar mui-bar-tab " id="nav"> <a class="mu ...
- nyoj 599-奋斗的小蜗牛 (double ceil(); (temp - 1) / 5)
599-奋斗的小蜗牛 内存限制:64MB 时间限制:1000ms 特判: No 通过数:0 提交数:96 难度:1 题目描述: 传说中能站在金字塔顶的只有两种动物,一种是鹰,一种是蜗牛.一只小蜗牛听了 ...