用于在圆周上绘制小线条的数学

cou*_*011 5 javascript html5 canvas

我必须围绕一个圆圈绘制线条(如时钟).如何使用for循环实现此目的? 替代文字

El *_*oco 9

我不确定如何在Java中实际绘制一条线,而是从中心点(cx,cy)使用来计算坐标

px = cx+sin(a)*r
py = cy+cos(a)*r
Run Code Online (Sandbox Code Playgroud)

a角度在哪里(以弧度表示 - 我认为即180度=π弧度)并且r是半径.

要在外部绘制小线条,您需要使用此公式,例如半径为100,半径为105,并在两组坐标之间绘制.

例如

for (var a=0,aMax=(2*Math.PI),aStep=(Math.PI/30); a<aMax; a+=aStep){
    px1 = cx+Math.sin(a)*r;
    py1 = cy+Math.cos(a)*r;
    px2 = cx+Math.sin(a)*(r+5);
    py2 = cy+Math.cos(a)*(r+5);

    //draw line between (px1,py1) and (px2,py2)
};
Run Code Online (Sandbox Code Playgroud)

  • 它只是JavaScript中的"Math". (2认同)