【问题标题】:JavaScript (SVG drawing): Positioning x amount of points in an areaJavaScript(SVG绘图):在一个区域中定位x个点
【发布时间】:2010-04-27 01:01:56
【问题描述】:

我正在使用http://raphaeljs.com/ 尝试绘制多个小圆圈。我遇到的问题是画布具有固定宽度,如果我想绘制 1000 个圆圈,它们不会换行(因为你必须指定每个圆圈的 xy 位置)。

例如 我想要这个:

.................................................. ...

看起来像这样:

.......................

......................

目前我正在这样做:

for ( var i = 0; i < 1000; i++ ) {
        var multiplier = i*3;
        if ( i <= 50 ) {
            paper.circle((2*multiplier),2,2);
        } else if ( i >= 51 && i <= 101 ) {
            paper.circle((2*multiplier) - 304,8,2);
        } else if ( i >= 152 && i <= 202 ) {
            paper.circle((2*multiplier) - 910,14,2);
        }
    }

供参考:圆(x坐标,y坐标,半径)

这很混乱。我必须为我想要的每一行添加一个 if 语句。一定是更好的方法..?

【问题讨论】:

    标签: javascript svg positioning


    【解决方案1】:

    你想要modulo

    我不确定你的边界框到底是什么,但类似于:

    var width = 300;
    for (var i = 0; i < 1000; i++) {
        var multiplier = i*3;
        var x = 2 * multiplier * i % width;
        var y = 2 + 6 * (i + 50) / 100;
    }
    

    【讨论】:

    • 太好了。我仍然不确定它是如何工作的,但确实如此:)
    • 如果您好奇的话,我相信维基百科链接不仅能回答您的问题。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多