螺旋线圈的动态尺寸

时间:2014-04-15 15:36:56

标签: math canvas sizing spiral

我在画布上创建了一个对数螺线,并沿着它绘制了圆圈。使用你的鼠标滚轮你可以放大和缩小螺旋(这是有效的) - 但我在更新圆的大小以匹配缩放级别时遇到问题...我不是数学专家!

我在尝试计算圆半径时使用了两个值:

初始尺寸:这使得圆圈越小,螺旋越小。我想我已经非常接近了。

增长大小:这是每个圈子越接近观看者时必须增加以准确增长的数量。目前圆圈似乎在螺旋的开始和结束时是正确的大小,但在中间太小。

我已经将一些笨拙的数学混在一起,我确信这种尺寸有一个实际的公式。任何帮助将不胜感激 - 我只是希望圆圈感觉“附着”螺旋并适当缩放。


Here is the jsFiddle for reference

// a = starting radius of spiral
// spiralNum = spiral length (100.6)
// timeOffset = scroll position
// node_count_visible = number of total circles

offset = (this.spiralNum - 0.05 - this.node_count_visible) + id + (this.timeOffset/30);

var initial = Math.exp(b * offset)/4;
var growth = (a/8.5);
node.radius = initial + growth;

spiral

提前感谢您提供的任何帮助......

1 个答案:

答案 0 :(得分:1)

我能够通过

获得您正在寻找的影响
node.radius = a * Math.exp(b * offset)/6;

6是调整圆的大小的任意数字。