2012-11-28 49 views
13

我想以編程方式圍繞圓繪製座標。這是硬編碼,以顯示我是什麼後:試圖圍繞圓的邊緣繪製座標

http://jsfiddle.net/jE26S/1/

var iteration = 4; 
var left = [94,200,104,-6]; 
var top = [-6,94,200,94];  

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

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

} 

數學絕對不是我的強項。

我需要將人們描繪成一個圍繞一個大圓圈的小圓圈。但是,會有隨機數字的人,他們都需要等距。我不確定我是否應該從一箇中心點開始工作。

+0

從一箇中心點工作是一個好主意。對於以(a,b)爲中心且半徑爲r的圓形,圓的邊緣上的點的位置爲(a + r * cos(angle),b + r * sin(angle)) '。 [Here](http://stackoverflow.com/questions/13383112/python-arrange-images-on-canvas-in-a-circle/13384396#13384396)是一個非常類似於你的問題。 – Kevin

回答

27

假設(x0, y0)是你的圓心,而r是半徑:

var items = 4; 
for(var i = 0; i < items; i++) { 

    var x = x0 + r * Math.cos(2 * Math.PI * i/items); 
    var y = y0 + r * Math.sin(2 * Math.PI * i/items); 
    $("#center").append("<div class='point' style='left:"+ x +"px;top:"+ y +"px'></div>");  

} 
+0

http://jsfiddle.net/jE26S/5/令人驚歎的只是要微調它感謝;) – user1503606

+0

是的,你可能會想要減去你的點的寬度/高度取決於哪個象限結果結束 –

+2

感謝約翰這現在正在爲我工​​作http://jsfiddle.net/jE26S/12/ – user1503606