c - 围绕一个点旋转的均匀间隔的多个圆

标签 c math animation rotation geometry

我看到了一些与此相关的问题,但所提供的解决方案都不适合我。 基本上,我正在制作一个可以为原子的第二个表示设置动画的程序。

假设我需要围绕一个点旋转 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)

在我的 for 循环中:300 是 CX 和 CY。 r 为 95。a 为 45。PI 为 CV_PI。
我不知道为什么它不起作用。 有人知道吗?谢谢。

最佳答案

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);
}

关于c - 围绕一个点旋转的均匀间隔的多个圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16250088/

相关文章:

c - 使用 read() 系统调用读取结构内容

c - 如何从 struct 初始化 void* 指针

android - 如何正确移动 View ?

qt - 动画 `positionViewAtIndex`

jquery - 删除类时 CSS 动画不动画

c - 对角打印字符串而不是左侧

c - 不同的平台在 C 中有不同的 double 吗?

c++ - 'sqrt' 不是 'std' 的成员

stata - Stata 中的标量运算

math - 锥盒碰撞