Q:

Making smooth orbits in pygame

How can i make a smooth circular orbit at a constant speed using pygame?
How would i calculate x, y on a circle?

A:

Rotating about the 2d point center with the given radius and speed.
The parameter t is the time in units of seconds.
def circular_orbit(center, radius, speed, t):
    theta = math.fmod(t * speed, math.PI * 2)
    c = math.cos(theta)
    s = math.sin(theta)
    return center[0] + radius * c, center[1] + radius * s

