-1

ここでは、プログラムで正方形の周りに座標をプロットしようとしています。

http://jsfiddle.net/zwkny/

// amount of chairs
var aoc = 4;
// table width
var tw = 200;
// table height
var th = 200;

// chair width height
var cwh = 60 / 2;

var space = tw * 4 / aoc;

var left = [-30,100,-30,-160];
var top = [-160,-30,100,-30];

// straing point
var sp = 12;

for(var i=0; i<aoc; i++){


    var x = cwh + space * i / aoc;
    console.log(x);
    //var y = space / 2 - cwh * i;

    $("#center").append("<div class='chair' style='left:"+left[i]+"px;top:"+top[i]+"px;'>"+i+"</div>");

}

数学は間違いなく私の長所ではありません。ここに投稿すると思ったのですが、誰かが私を正しい方向に向けるのを手伝ってくれるかどうかを確認してください。続けて、それがわかったら更新します???

大きな正方形の周りに立っている小さな円で人を表すには、この方法が必要ですが、ランダムな数の人がいて、すべての人が等距離にいる必要があります。

昨日、円オブジェクトについて同じ投稿を投稿しましたが、今は四角形にいるので、数学に頭を悩ませています。

これが投票されたので、これらすべてをまとめた投稿で更新すると思っただけ ですhttp://devsforrest.com/116/plot-positions-around-shapes-with-javascript

4

1 に答える 1

1
var x,y;

// amount of chairs
var totalChairs = 12;
// square size
var squareSize = 200;
var chairSize = 20;

for(var i=0; i<totalChairs; i++){

var angle = 2*Math.PI * i/totalChairs;

if (angle > Math.PI/4 && angle <= Math.PI* 3/4){
    x = (squareSize/2) / Math.tan(angle);
    y = -squareSize/2;
} else if (angle > Math.PI* 3/4 && angle <= Math.PI* 5/4){
    x = -squareSize/2;
    y = (squareSize/2) * Math.tan(angle);
} else if (angle > Math.PI* 5/4 && angle <= Math.PI* 7/4){
    x = -(squareSize/2) / Math.tan(angle);
    y = -squareSize/2 + squareSize;
} else {
    x = -squareSize/2 + squareSize;
    y = -(squareSize/2) * Math.tan(angle);
}

x -= chairSize/2;
y -= chairSize/2;

$("#center").append("<div class='chair' style='left:"+x+"px;top:"+y+"px;'></div>");
}

デモ

于 2012-11-30T15:52:42.720 に答える