Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 围绕具有起始角和结束角的圆放置div_Javascript_Geometry - Fatal编程技术网

Javascript 围绕具有起始角和结束角的圆放置div

Javascript 围绕具有起始角和结束角的圆放置div,javascript,geometry,Javascript,Geometry,我有一个旋钮控制。围绕这一点,我想放置代表LED灯的div。我不希望它们以360°的角度围绕旋钮放置,而是从135°左右(左下角)开始,然后顺时针继续到45°左右(右下角)均匀分布(比如现在的10×10像素正方形的divs)。我要一个13个刻度的旋钮,另一个15个刻度的旋钮。我正在寻找一个javascript实现,非常好 这是我到目前为止的代码,我知道这是一个简单的几何图形,我现在还不能理解。是39号线 身体{ 边际:0px; 填充:0px; } 圈{ 填充:钢蓝; 填充不透明度:.8; }

我有一个旋钮控制。围绕这一点,我想放置代表LED灯的div。我不希望它们以360°的角度围绕旋钮放置,而是从135°左右(左下角)开始,然后顺时针继续到45°左右(右下角)均匀分布(比如现在的10×10像素正方形的divs)。我要一个13个刻度的旋钮,另一个15个刻度的旋钮。我正在寻找一个javascript实现,非常好

这是我到目前为止的代码,我知道这是一个简单的几何图形,我现在还不能理解。是39号线


身体{
边际:0px;
填充:0px;
}
圈{
填充:钢蓝;
填充不透明度:.8;
}
#帆布{
高度:250px;
宽度:250px;
位置:绝对位置;
顶部:0px;
左:0px;
z指数:10;
}
var createNodes=函数(节点,半径){
变量节点=[],
宽度=(半径*2)+50,
高度=(半径*2)+50,
角
x,,
Y
我

对于(i=0;i更改了createNodes函数

var createNodes = function (numNodes, radius,start,end) {
     var nodes = [], 
         width = (radius * 2) + 50,
         height = (radius * 2) + 50,
         inc=(end-start)/(numNodes - 1),
         angle,
         x,
         y,
         i;

        for (i=0; i<numNodes; i++) { 
            angle = start + i*inc;
            x = (radius * Math.cos(angle)) + (width/2); // Calculate the x position of the element.
            y = (radius * Math.sin(angle)) + (width/2); // Calculate the y position of the element.
            nodes.push({'id': i, 'x': x, 'y': y});
     }
     return nodes;
   }

希望这能回答你的问题

你永远不会变成白色,甚至灰色,如果你不自己尝试一些东西,请分享代码,你已经尝试了什么为什么
div
s?为什么不SVG?
  var startAngle = -1.25 * Math.PI; // same as 0.75 * Math.PI i.e adding 2*PI (360 deg)
  var endAngle =  0.25 * Math.PI;  // same as 2.25 * Math.PI 
  // or if you would like it in degrees
  var startAngle=135/180  * Math.PI; // same as -225/180 i.e subtracting 360
  var endAngle=405/180 * Math.PI;  // same as 45/180