Расчет положения точек по кругу - PullRequest
74 голосов
/ 14 марта 2011

В данный момент у меня немного пустая мысль об этом.У меня есть проблема, когда мне нужно вычислить положение точек вокруг центральной точки, предполагая, что все они равноудалены от центра и друг от друга.

Количество точек является переменным, поэтому оно равно DrawCirclePoints(int x) Я уверен, что есть простое решение, но для жизни я просто не вижу его:)

Ответы [ 12 ]

0 голосов
/ 19 июля 2018

Исходя из ответа Даниэля, вот мой пример использования Python3.

import numpy

shape = []
def circlepoints(points,radius,center):
    slice = 2 * 3.14 / points
    for i in range(points):
        angle = slice * i
        new_x = center[0] + radius*numpy.cos(angle)
        new_y = center[1] + radius*numpy.sin(angle)

        p = (new_x,new_y)
        shape.append(p)

    return shape

print(circlepoints(100,20,[0,0]))
0 голосов
/ 14 марта 2011

Угол между каждой из ваших точек будет 2Pi/x, поэтому вы можете сказать, что для точек n= 0 to x-1 угол из определенной точки 0 равен 2nPi/x.

Предполагается, что ваша первая точка равнав (r,0) (где r - расстояние от центральной точки), то позиции относительно центральной точки будут:

rCos(2nPi/x),rSin(2nPi/x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...