Положите точки вокруг в дуге окружности, используемой в Java - PullRequest
0 голосов
/ 29 марта 2011

У меня есть вопрос по математике: я знаю центр и радиус круга, и у меня есть некоторое неопределенное количество точек, называемых N, мой вопрос заключается в том, как поставить точки на дуге окружности, я не могу поставить точки вокруг целого окружность, как эта ссылка: http://i.6.cn/cvbnm/2c/93/b8/05543abdd33b198146d473a43e1049e6.png в этой ссылке вы можете прочитать, что точка - это центр круга, другой цвет - это некоторые точки, вы можете увидеть эти точки вокруг дуги.

Правка - вкратце: я знал центр и радиус круга, поэтому хочу создать точку вокруг центра круга

Ответы [ 2 ]

3 голосов
/ 29 марта 2011

Я не уверен, но я проверил это с помощью простого Swing JComponent и, похоже, все в порядке.

Point center = new Point(100, 100); // circle center

int n = 5; // N
int r = 20; // radius
for (int i = 0; i < n; i++)
{
    double fi = 2*Math.PI*i/n;
    double x = r*Math.sin(fi + Math.PI) + center.getX();
    double y = r*Math.cos(fi + Math.PI) + center.getY();
    //g2.draw(new Line2D.Double(x, y, x, y));
}
2 голосов
/ 29 марта 2011

Это не полностью ясно, что вы пытаетесь достичь здесь. Общая идея большинства из них довольно проста, хотя. В круге 2 * пи радиана, поэтому, решив, в какой части круга вы хотите расположить свои баллы, вы умножаете этот процент на 2 * пи и делите полученный результат на количество баллов, чтобы получить угол (в радианах) между точками.

Чтобы перейти от угловых расстояний к позициям, вы берете косинус и синус угла и умножаете каждый на радиус круга, чтобы получить координаты x и y точки относительно центра круга. Для этой цели угол в 0 радиан идет прямо вправо от центра, а углы идут оттуда против часовой стрелки.

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