   speed of a revolving object?
  This is more for clarification then a question..  I'm trying to determine the speed of a revolving object going in a perfectly circular motion.  I think i've got it figured out.x1 = self.parent.x + float(cos(self.degree * NEW_PI) * self.radius)y1 = self.parent.y + float(sin(self.degree * NEW_PI) * self.radius)is the initial position.new_degree += self.rate_of_revolution # present degree + degrees per secondx2 = self.parent.x + float(cos(new_degree * NEW_PI) * self.radius)y2 = self.parent.y + float(sin(new_degree * NEW_PI) * self.radius)should give me the position after 1 second.speed = sqrt((x2 - x1)**2 + (y2 - y1)*2)Does that sound about right?   
  If you mean how fast the XY position is changing, you can't find it directly by using what you are using. The reason is that the derivative of the position function isn't linear. If the object is really rotating, then it position is a function of the sine/cosine of the angle multiplied by the radius of the circular path it is traveling, and the derivative is also non-linear.Specifically, if you have the position of the object as a function of some parameter 't', then the position is:x(t) = cos(omega*t)*ry(t) = sin(omega*t)*rAnd by basic differential calculus, the derivatives x'(t) and y'(t) are:x'(t) = -sin(omega*t)*ry'(t) = cos(omega*t)*rAs with all derivatives, the velocity vector is perpendicular to the position vector. This can easily be verified above by the simple fact that for any line f(x) = y, one perpendicular is f(-y) = x, that is all x -> -y and all y -> x. Draw it out on a piece of paper to convince yourself. Try with y = x, then -x = y. Back to the above, if x = cos(t) and y = sin(t), then a vector perpendicular to it would be x' = -y = -sin(t) and y' = x = cos(t)If you know the angular velocity 'w' and the radius, you can use the formula for angular velocity to quickly find the magnitude of the velocity vector:w = v/r  ->w*r = v/r*r ->w*r = v So you can have the direction and magnitude by the equations above.This page will provides a good referenceIn your example the, speed of the object (magnitude of the velocity vector) is simply:speed = self.rate_of_revolution * self.radiusKeep in mind that while the SPEED is constant, the DIRECTION of the velocity is not. It changes as per angular acceleration.---That having been said...If you want to approximate the the velocity between any two discrete points, regardless of the function that determines them, simply subtracting as you have done will work. It is basically a linear path from A -> B, not a circular one. As the time unit becomes smaller, this approximation becomes more accurate, and just like good old calculus class, if you take the limit as dt -> 0, then you've got a perfect approximation, known as the derivative.velocity = (dx/dt)i + (dy/dt)jUse dt = 1 arbitrary unit of time (discrete)dx = x1 - x0 //Change in X in 1 arb. unit of timedy = y1 - y0 //Change in Y in 1 arb. unit of timevelocity = (x1-x0)i + (y1-y0)j||velocity|| = sqrt( (x1-x0)^2 + (y1-y0)^2 )Patrick Baggett   ;  Actually he just asked for speed, not velocity, and that is a constant. The speed of an object in circular motion is simply ωr/2π.   ;  @Bob Janova: I think you actually mean that the speed of an object undergoing circular motion is v = ωr where r is the radius, ω = 2πf = the angular frequency (i.e. radians swept out per second), and f is the frequency, i.e. number of revolutions per second).   ;  Indeed ... not sure where that extra 2π came from.   ;Quote:Original post by Fingon@Bob Janova: I think you actually mean that the speed of an object undergoing circular motion is v = ωr where r is the radius, ω = 2πf = the angular frequency (i.e. radians swept out per second), and f is the frequency, i.e. number of revolutions per second).So to make sure I'm following you...say I have the following variables:r = 10f = .1 #revolutions per second you saidv = 10 * (2 * PI * 0.1)Orv = 6.28318Is that right?;Quote:Original post by ahlywogQuote:Original post by Fingon@Bob Janova: I think you actually mean that the speed of an object undergoing circular motion is v = ωr where r is the radius, ω = 2πf = the angular frequency (i.e. radians swept out per second), and f is the frequency, i.e. number of revolutions per second).So to make sure I'm following you...say I have the following variables:r = 10f = .1 #revolutions per second you saidv = 10 * (2 * PI * 0.1)Orv = 6.28318Is that right?Yep, that's correct. Circular motion, at least when uniform (constant speed), is actually quite a straightforward topic provided you've gotten your head around the meaning/physical interpretation of all the variables (elliptical motion is rather more difficult). If you want a brief overview of the maths of circular motion, see the Wikipedia article. It has a pretty helpful diagram, but notice that the article uses lower and upper case omegas interchangeably for angular frequency.   ;  That is what I was looking for.  Thank you.   ;Quote:Original post by Fingonbut notice that the article uses lower and upper case omegas interchangeably for angular frequency.They are not used interchangeably, the lower case omega is the time derivitive of angle, the angular speed -> a positive real number. In 2D it can also be called the angular velocity and take negative values wherein the negative denotes the opposing rotation.in 3D however, the capital omega is the angular velocity, not speed. It's magnitude is the angular speed - small omega - and it's direction is the axis of rotation.so small omega, and capital omega are not quite the same thing.;  Alright new problem:I need to determine the speed of a revolving object relative to the galactic center.  So, as such, if I have a planet revolving around a star I need the speed of that planet relative to the galactic center, not just to the star.  I know how to determine the speed of a revolving object.  If I have another object revolving around that is its speed additive?  Multiplicative?  Or is there another way entirely to determine these things?Thank you in advance.   