2

看看沿线的灰色圆圈,它们需要平均放置以代表小时,这是我的代码,我哪里出错了?

for (int i=0; i<12; i++)
    {
        c.drawCircle(140*(float)Math.cos((double) (i*30))+ width/2,
                     140*(float) Math.sin((double) (i*30)) + height/2,  1,  p);
    }

在此处输入图像描述

4

2 回答 2

6

角度必须以弧度(在和之间)提供给Math.cos02*Math.PI

所以,而不是

Math.cos((double) (i*30))

利用

Math.cos(i*Math.PI/6.0)

请注意,我还删除了对 double 的无用强制转换:将 int 和 double 相乘已经产生了 double。

于 2012-07-12T09:17:44.440 回答
4

Math.sinMath.cos以弧度而不是度数为单位操作角度。要更正,请乘以 pi 并除以 180。

于 2012-07-12T09:17:44.627 回答