这只是为了好玩。
我想知道如何获得它们各自旋转的圆中每个点的角度公式。
这些是给定的值:
- 行数
- 列数
- 圆的半径(通用)
这是我想要实现的图片:
我假设每个点的旋转速度都是均匀的
更新:
哎呀!感谢您所有的回答。然而,我也成功制作了自己的图案,但是模式不同:
只在构造函数中进行逻辑处理:
CircleWithDots() : timer(clock()), angle(angle_counter = (angle_counter >= REVOLUTION - 1) ? 0 : angle_counter + ANGLE_STEP) { }
其中:
REVOLUTION = 360 + 1;
ANGLE_STEP = 20;
还有这个(用于旋转点):
x = table_cos[angle] * radius;
y = -table_sin[angle] * radius;
sin
(或sin
和cos
)函数的组合获得,每个函数的输入将是行和列。 - thumbmunkeysx
。嗯。 - mr5x
,最终会得到一个锯齿状的图案,而不是平滑曲线。 - thumbmunkeyssine
函数,其中输入仅为行(归一化到[0,1]范围),我认为您最终将得到一个水平波形。 - thumbmunkeys(xpos-ypos)*scale_factor
这样的表达式足以满足需求。 - PeterT