математика для рисования маленьких линий вокруг круга - PullRequest
5 голосов
/ 28 сентября 2010

Я должен нарисовать линии вокруг круга (как в часах).Как я могу добиться этого с помощью цикла?alt text

Ответы [ 3 ]

9 голосов
/ 28 сентября 2010

Я не уверен, как сделать фактическое рисование линии в Java, но для вычисления координат из центральной точки (cx,cy) используйте

px = cx+sin(a)*r
py = cy+cos(a)*r

Где 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)
};
2 голосов
/ 28 сентября 2010

Посмотрите на исходный код CoolClock .

1 голос
/ 28 сентября 2010

Вы должны прочитать основную тригонометрию и сосредоточиться на Квадрантах , чтобы достичь этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...