2013-04-27 3 views
0

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

Скажем, мне нужно повернуть 8 маленьких кругов вокруг одной точки, как я могу это сделать?

for (int j = 0; j < 8; j++) 
{ 
    x = 300 + sin(time + (45 * PI/180.00)) * 95; 
    y = 300 + cos(time + (45 * PI/180.00)) * 95; 
    fill_circle_on_screen(ColorBlue,x,y,5); 
} 

это не работает; Я вижу только два круга, вращающихся вокруг круга. Для цикла for должно быть 8, так как я рисую 8 кругов. Я пытался реализовать ответ здесь: Finding Points On Perimeter Of a Circle

x = cx + r * cos(a * CV_PI/180.0) 
y = cy + r * sin(a * CV_PI/180.0) 

Где мой цикл: 300 CX и CY. r равно 95. a равно 45. PI представляет собой CV_PI.
Я не знаю, почему он не работает. Кто-нибудь знает? Благодарю.

+0

Вы рисуете 8 маленьких кругов в одном месте ... обратите внимание, что вы не используете 'j' для определения разного положения каждого малого круга – onon15

ответ

1
for (int j = 0; j < 8; j++) 
{ 
    x = 300 + sin(time + j*(2*PI/8)) * 95; 
    y = 300 + cos(time + j*(2*PI/8)) * 95; 
    fill_circle_on_screen(ColorBlue,x,y,5); 
} 
Смежные вопросы