风螺旋切线计算的数学验证
风螺旋切线计算的数学验证
在刚刚过去的一周里,全力抵抗节后综合症的你还好吧?在这一周里,有一件对本公众号很重要的事情发生了,那就是“风螺旋的切线与Eθ相垂直”用数学的方法证明了。
为什么说这件事情很重要呢?因为这首先表示在未来,风螺旋线的相关算法可以全面的接受验证和测试,而不用担心被证伪了。其次,在这个数学基础上,将风螺旋概念泛化而得到的等距螺旋,将会对现有的螺旋线理论带来非常大的改变(感觉像是在做梦,但这个梦越来越真实了)。
闲话少叙,先来总结一下现有的风螺旋公式:
现有的风螺旋线公式是基于极坐标系下的表达方式,其中最核心的参数有偏流角DA、半径、Eθ 和 θ等。
在现代数学中,对极坐标系下曲线的切线计算有着非常成熟的方法(知道的有点晚哈)。核心计算是通过导数方程来实现,具体的步骤是:
-
将极坐标系转换为直角坐标系的表达方式。
-
对直角坐标系的f(x),f(y)函数分别求导数f(x)'、f(y)'。
-
用k=f(y)'/f(x)'得到切线的斜率公式。
-
根据给定的(x0,y0)点,得到切线公式:y-y0= k(x-x0)。
步骤相对简单,实际公式推导就没这么容易了。幸好现在的数学软件(比如:Mathematica)已经可以代替人来完成全部的公式推导过程,因此才有可能在几天的时间内完成整个的验证。
在Mathatica中先列出基础公式及参数:
接下来是切线斜率的验证代码:
这段代码的核心是将切线的斜率按照反正切函数转换成角度,按照风螺旋的计算方法,θ角倒退一个偏流角DA,再加上90度,就等于切线的角度。这里用倒退后的角度减去切线角度,来观察最终的结果。
斜率公式是下面的样子(我猜你一定不想看):
做到这一步,有这样一种感觉,现代数学家列出的一堆公式,他(她)们未必真的会去看的,公式只是用来传递思路(很可能是计算机生成的),结果是才我们关心的。面对这样的公式我的内心是打鼓的,这么复杂的内容能够实现 θ-DA-ArcTan[k]= Pi/2 的目标么?在经历了多次的(必须的)试错之后,你看到了上面的最终代码,输出的结果也得到了:
上图中Out[1220] 表示这里是第1220次计算的结果(重复次数多了,这个数字就会噌噌往上长,科学没有一帆风顺啊)。结果是激动我心的:90°和270°,风螺旋终于可以大胆上台面了。
风螺旋曲线的验证代码:
最终的风螺旋与切线的叠加效果图:
反方向风螺旋公式其实很简单,将a角取负值,即可实现。上图中虚线段顺时针外扩的风螺旋即是。Mathematica软件中角度值是逆时针增长的,因此使用 θ-β得到的是逆时针增长的螺旋,使用-θ+β得到的是顺时针增长的螺旋。在计算机软件开发中,通常角度是按顺时针增加,因此,螺旋线的扩展方向刚好相反。无论风螺旋的方向是怎样的,θ角的取值始终必须大于零,表示从基圆圆周开始扩展。θ角小于零的情况下会出现等距螺旋公式突变的情况,这是我目前在进行的另一项“研究”,先保个密哈。
感谢您耐心的阅读至此,今天的公式很复杂,今天的内容很简单:风螺旋线的切线必定与某个Eθ相垂直,而Eθ与对应的基圆半径相差为一个DA角,正如公众号里一直在重复提到的一样。
微信扫一扫
关注该公众号