Velocity on the surface of a sphere

In summary, the individual is seeking assistance with creating a tether airplane simulator, specifically in regards to moving an object along the surface of a sphere with a given velocity. They have attempted to use spherical coordinates for the position and velocity, but have encountered difficulty. They are looking for guidance on how to apply the velocity vector to the object in order to maintain a constant speed around the poles and equator.
  • #1
phantom805
2
0
Hi,

I want to move an object along the surface of a sphere with a given velocity. I essentially want to make a simple tether airplane simulator (control line).

I know that I need to work in spherical coordinates for the position of the object and its velocity.

I have seen an old post that descibes a similar problem but I cannot get it to work and cannot fully get my head around it. https://www.physicsforums.com/showthread.php?t=295684

Any help would be much appreciated.

Thanks
 
Physics news on Phys.org
  • #2
your object should have a vector for its velocity toward the center of the Earth an a manipulatable vector for it velocity tangent to the outside of the sphere. This will give the object a overall velocity "curved" around your sphere.
 
  • #3
This is what I have so far. I initially get the position of the object. Theta and Phi are initially zero and Radius = 2; Therefore the polar to opengl result is (0,0,2);

void init()
{
//position from polar to opengl
pos.x = Radius * sin(theta) * sin(phi);
pos.y = Radius * cos(phi);
pos.z = Radius* cos(theta) * sin(phi);
}

The velocity must be orthogonal to the position vector.

void update()
{
//update velocity
velocity.x = speed*cos((heading));
velocity.y = speed*sin((heading));

//ensure velocity is orthogonal to position
float proj = (velocity.x * pos.x + velocity.y* pos.y + 0*pos.z)/(Radius*Radius);
velocity.x = velocity.x - proj * pos.x;
velocity.y = velocity.y - proj * pos.y;
}

How can I apply this velocity vector to my object to ensure that it remains on the sphere and the speed remains constant around the poles and equator?

Thanks
 

FAQ: Velocity on the surface of a sphere

What is the formula for calculating velocity on the surface of a sphere?

The formula for calculating velocity on the surface of a sphere is v = rω, where v is the velocity, r is the radius of the sphere, and ω is the angular velocity.

How does velocity on the surface of a sphere differ from velocity in a straight line?

Velocity on the surface of a sphere is constantly changing direction due to the curvature of the surface, while velocity in a straight line remains constant in direction.

What is the relationship between velocity and acceleration on the surface of a sphere?

The relationship between velocity and acceleration on the surface of a sphere is that acceleration is always perpendicular to velocity, meaning it is constantly changing direction but not necessarily changing magnitude.

Can velocity on the surface of a sphere be negative?

Yes, velocity on the surface of a sphere can be negative. This indicates that the object is moving in the opposite direction of its initial motion.

How does the radius of a sphere affect the velocity on its surface?

The radius of a sphere has a direct impact on the velocity on its surface. A larger radius results in a larger circumference, which means the object must travel a greater distance in the same amount of time, resulting in a higher velocity.

Similar threads

Back
Top