Point movement on a surface of a sphere

Click For Summary

Discussion Overview

The discussion revolves around determining the new location of a point moving on the surface of a sphere, considering various factors such as velocities, rotations, and coordinate transformations. The context includes theoretical and practical applications, particularly in video game programming.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant seeks to find the resulting location of a point on a sphere given its initial position, rotation, and velocity, expressing uncertainty about the necessary mathematical approach.
  • Another participant questions whether the point moves along the surface of the sphere, implying a need for clarification on the motion constraints.
  • A participant notes that this type of computation is common in video games, indicating a practical application but also expressing difficulty in finding relevant mathematical resources.
  • Concerns are raised about the feasibility of upward velocities causing the point to leave the surface of the sphere, suggesting a need for careful consideration of motion dynamics.
  • One participant proposes that the point would typically only have velocities constrained to specific directions, maintaining a fixed radius from the center of the sphere.
  • A suggestion is made to rotate the coordinate system to simplify the motion analysis, raising a question about the feasibility of this approach.
  • Another participant mentions that if two velocities are equal, the trajectory will form a circle, introducing the idea of using a 3D circle equation for further analysis.
  • A participant shares a detailed method for computing the motion of an object on the sphere, involving the use of vectors and rotation matrices, but does not confirm its effectiveness.

Areas of Agreement / Disagreement

Participants express various viewpoints on the motion of a point on a sphere, with some agreeing on the constraints of velocity while others raise concerns about upward motion. The discussion remains unresolved regarding the best mathematical approach and the implications of different velocity directions.

Contextual Notes

There are limitations in the discussion regarding assumptions about the nature of velocities and their effects on the point's movement. The mathematical steps and transformations proposed are not fully resolved, leaving open questions about their application.

Sobe118
Messages
4
Reaction score
0
I'm trying to find the resulting location of a point on a sphere in spherical coordinates or Cartesian. Based on velocities from the perspective of an object on the sphere.

So given the:
location on the sphere (in spherical or Cartesian)
zy - plane rotation of the point
up direction of the point is always away from the origin
velocity from the perspective of the object

How do I find the resulting new location on the sphere. I am not sure what math to use, or what keywords to search in google.
Made an illustration below.

movement.png
 
Last edited:
Physics news on Phys.org
Is point moves along the surface of sphere ?
 
Yes, it is very commonly computed in video games. Self driven point on the surface of a sphere. I can't find any math on this topic. I've been looking for a week.
 
If velocity is upward then how can point move on surface of sphere ? It should leave the surface.
 
The point would normally only ever have velocities on its green and red arrows. The radius is fixed.

Think of it as if a car is driving on a very tiny earth
 
Last edited:
Maybe we can try to rotate the coordinate? Make the orbit to the xy plane and do the motion and then rotate it again.
Is this a feasible way?
 
The point trajectory will be a circle If two velocities are equal then you can make resultant speed that speed direction will be circle trajectory and then you can use 3d circle equation
 
Thanks Arman, I will try to test that. Seems simple.

I found a post on another form related to this problem from a game programming perspective, I haven't got this to work yet.
1) Center the sphere to 0,0,0 global coordinates.
2) Get the up-vector of the airplane, which is a also the normal of the plane tangent to the sphere, by normalizing the position vector of the airplane.
3) Get the at-vector of the airplane by subtracting the previous airplane position from the current airplane position and normalizing it.
4) Get the right-vector of the airplane by taking the cross product of the up-vector and the at-vector.
5) Use these vectors to create a rotation matrix, a correction rotation matrix.
6) Locally rotate the airplane and create a local rotation matrix.
7) Get the final rotation of the airplane by multiplying the local rotation matrix times the correction rotation matrix.
8) Use the at-vector of the final rotation matrix as the directional vector of the airplane and translate the airplane along this vector scaled by the speed of the airplane.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 7 ·
Replies
7
Views
6K
  • · Replies 37 ·
2
Replies
37
Views
7K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K