Results 1 to 3 of 3

Math Help - moving on sphere

  1. #1
    Newbie
    Joined
    May 2008
    Posts
    3

    moving on sphere

    Hi guys. I'm trying to simulate ( with a computer program ) the movement of an object on a sphere. The data are as this : The sphere has a radius R and it's center is at (0,0,0). There is an object at point P(x0,y0,z0) or in polar coordinates defined as P(phi,theta). The object can rotate around it's own axis ( at the tangent plane of the sphere in the point (x0,y0,z0) and it can move by a distance "dist" along the great circle ( geodesic ) defined by the point P and the direction of the rotation around its axis. My problem is to define the equations that govern this type of movement.

    What i have done till now is this :

    i defined an angle called "chi" which is the direction the object is "looking at", the rotation around its axis. i also have a "unit" vector which let's say vec=(0,0,1) which gets added to the P thus producing the new point P1. I have the rotation matrix of a point around an axis and this is fine. The problem is each time the object moves, "vec" must rotate appropriately so that it is perpendicular to the vector P. Any help would be appreciated.

    thank you in advance
    Follow Math Help Forum on Facebook and Google+

  2. #2
    Super Member
    earboth's Avatar
    Joined
    Jan 2006
    From
    Germany
    Posts
    5,830
    Thanks
    123
    Quote Originally Posted by Mirror View Post
    ... the movement of an object on a sphere. The data are as this : The sphere has a radius R and it's center is at (0,0,0)....

    What i have done till now is this :

    i defined an angle called "chi" which is the direction the object is "looking at", the rotation around its axis. i also have a "unit" vector which let's say vec=(0,0,1) which gets added to the P thus producing the new point P1. I have the rotation matrix of a point around an axis and this is fine. The problem is each time the object moves, "vec" must rotate appropriately so that it is perpendicular to the vector P. Any help would be appreciated.

    thank you in advance
    1. With your unit vector the object leaves the surface of the sphere.

    2. All vectors which describe the direction the object is "looking at" form a plane (the tangent plane at P with the vector \overrightarrow{OP} as it's normal vector. Let \vec q be the stationary vector pointing at an arbitrary point in the tangent plane and let \vec p be the staionary vector pointing at P and since you know the coordinates of P the equation of the tangent plane in P would be:

    \overrightarrow{OP} \cdot (\vec q - \vec p)=0~\implies~\vec p \cdot \vec q - (\vec p)^2=0 and |\vec p| = R
    Follow Math Help Forum on Facebook and Google+

  3. #3
    Newbie
    Joined
    May 2008
    Posts
    3
    Quote Originally Posted by earboth View Post
    1. With your unit vector the object leaves the surface of the sphere.
    i forgot to mention that i normalize the new vector and then multiply it by R so it doesn't leave the sphere.

    Quote Originally Posted by earboth View Post
    1. With your unit vector the object leaves the
    2. All vectors which describe the direction the object is "looking at" form a plane (the tangent plane at P with the vector \overrightarrow{OP} as it's normal vector. Let \vec q be the stationary vector pointing at an arbitrary point in the tangent plane and let \vec p be the staionary vector pointing at P and since you know the coordinates of P the equation of the tangent plane in P would be:

    \overrightarrow{OP} \cdot (\vec q - \vec p)=0~\implies~\vec p \cdot \vec q - (\vec p)^2=0 and |\vec p| = R
    i solved the problem by using the binormal ( crossproduct of the OP and OV ) and rotating the OV along the OB ( binormal vector ).

    thank you for your reply
    now my problem is this :

    i need to have the object appear rotated properly ( not upside down for example as he goes down ) and him rotating around itself ( looking at direction ). the only tool i have to do this is a function SetRotation(a,b,c), which rotates the object by 'a' degrees along the X axis, by 'b' degrees along the Y axis and by 'c' degrees along the Z axis IN THE POSITION that it currently is. any way to accomplish this ? the available data is the point's position in a vector format or it's position in polar coordinated ( theta,phi) and also the angle 'chi' of the rotation ( where the object looks ) in the tangent plane.

    for example if OP=(0,100,0) and the object is facing the screen, when we apply a SetRotation(90,0,0), OP will still be (0,100,0) but the object will be lying down, facing up.
    Follow Math Help Forum on Facebook and Google+

Similar Math Help Forum Discussions

  1. A paratic is moving
    Posted in the Math Topics Forum
    Replies: 1
    Last Post: May 30th 2010, 10:07 AM
  2. Replies: 0
    Last Post: April 25th 2010, 08:23 AM
  3. Replies: 1
    Last Post: May 21st 2009, 12:27 PM
  4. Moving In the Plane
    Posted in the Algebra Forum
    Replies: 2
    Last Post: April 24th 2008, 04:06 PM
  5. moving particle
    Posted in the Calculus Forum
    Replies: 4
    Last Post: February 27th 2007, 09:27 PM

Search Tags


/mathhelpforum @mathhelpforum