我在画布上创建了一个对数螺线,并沿着它绘制了圆圈。使用你的鼠标滚轮你可以放大和缩小螺旋(这是有效的) - 但我在更新圆的大小以匹配缩放级别时遇到问题...我不是数学专家!
我在尝试计算圆半径时使用了两个值:
初始尺寸:这使得圆圈越小,螺旋越小。我想我已经非常接近了。
增长大小:这是每个圈子越接近观看者时必须增加以准确增长的数量。目前圆圈似乎在螺旋的开始和结束时是正确的大小,但在中间太小。
我已经将一些笨拙的数学混在一起,我确信这种尺寸有一个实际的公式。任何帮助将不胜感激 - 我只是希望圆圈感觉“附着”螺旋并适当缩放。
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;
提前感谢您提供的任何帮助......
答案 0 :(得分:1)
我能够通过
获得您正在寻找的影响node.radius = a * Math.exp(b * offset)/6;
6是调整圆的大小的任意数字。