当前位置: 首页 > Web前端 > HTML

JavaScript数学曲线——等距螺线

时间:2023-04-02 21:57:53 HTML

简介在阿基米德螺线之后,等角螺线被发现。Origin简介MyGitHub等角螺旋线也称为黄金螺旋线或对数螺旋线。1638年,笛卡尔发现了等角螺线。后来,雅各布·伯努利发现了等角螺旋的自我再生特性。雅各布·伯努利(JakobBernoulli)对螺旋非常感兴趣。如此着迷以至于他要求将它刻在他的墓碑上,并附有警句“eademmutataresurgo”(“即使它改变了,它仍然是一样的”)。最终,托里切利独立完成了这项工作,找到了曲线的长度。等角螺线名称的由来是由于它的特点:在螺线上取任意一点A,此点与极坐标的极点连成的直线与该点的切线夹角固定.极坐标系下的公式说明:公式说明:r:距原点的距离。一个:常数。b:常量。e:常量。θ:与x轴的角度。自然现象是:鹦鹉螺的外壳呈等角螺旋状。菊花种子呈等角螺旋状排列。昆虫以等角螺旋方式接近光源。螺旋星系的旋臂几乎是等角螺旋。低压(热带气旋、温带气旋等)的出现就像一个等角螺旋。使用画布绘制曲线。canvas的坐标系是直角坐标系,需要进行变换。从上图可以看出,取一个点有如下数学换算关系:x=rcos(θ)y=rsin(θ)θ=arctan(y/x)结合极坐标系的公式可得得到:这是一个例子,绘制主要逻辑代码:functiondraw(){leta=0.1,b=0.3,angle=0;让x=0,y=0,点数=[];const加速度=0.1,circleNum=4;//注意这里的角度是增量的,以2*Math.PI为基准比较,控制画多少圈while(angle<=circleNum*2*Math.PI){constanglePow=Math.pow(Math.E,b*角度);x=a*anglePow*Math.cos(角度);y=a*anglePow*Math.sin(角度);points.push([x,y]);角度=角度+加速度;}//实现画点成线方法line({points:points});}参考GoldenspiralWikiLogarithmicSpiralEquiangularSpiralEquiangularSpiral

猜你喜欢