- #1
kairama15
- 31
- 0
- TL;DR Summary
- I would like to determine how a point (xo,yo,zo) moves along a geodesic on a three dimensional graph when it initially starts moving in a direction according to a unit vector <vxo,vyo,vzo>. So, if I start at that point, after a very small amount of time, what is its new coordinate (x1,y1,z1) and its new vector <vx1,vy1,vz1>?
I would like to determine how a point (xo,yo,zo) moves along a geodesic on a three dimensional graph when it initially starts moving in a direction according to a unit vector <vxo,vyo,vzo>. So, if I start at that point, after a very small amount of time, what is its new coordinate (x1,y1,z1) and its new vector <vx1,vy1,vz1>? It should curl, move, and twist along the three dimensional surface.
My attempt:
I attempted to try this in two dimensions first. If I have a two dimensional graph y=f(x), and I start at point (xo,yo), the initial angle (thetao) the point is moving is related to the derivative calculated at xo described by: thetao=atan( f’(xo) ). Therefore, the x component and y component of a unit vector describing the movement of that point is <cos(thatao),sin(thetao)>.
After a small unit of time or distance moved, the starting unit vector’s angle will rotate proportional to the curvature “k” defined by k = y’’/(1+(y’)^2)^(3/2).
If the original unit vector starts at an angle ‘thetao’ , then the new angle (theta1) after a small distance (ds) moved is theta0+k*ds. Therefore, the new unit vector will be the x and y projections of that angle:
<cos(thetao+k*ds), sin(thetao+kds)>.
After a small distance (ds), the new x coordinate will be the old x coordinate (xo) plus the x component of the unit vector multiplied by ds.
X1=xo+vx*ds
The y coordinate will be the same, but will use the y coordinate and the y component of the unit vector.
Y1=yo+vy*ds
Sure enough, if I use excel to start at point (0,0) and the unit vector <sqrt(2)/2,sqrt(2)/2> on the graph y=sin(x) and use this method, the series of semi-infinitesimally spaced points that are calculated traces along a sine curve (if ds gets reasonably small).
In three dimensions on a graph z=f(x,y) , this doesn’t work. The curvature with respect to the x-axis and y-axis may be calculated, but since the vector doesn’t move in strictly the zx and zy plane, it doesn’t capture the curvature in which the point is moving the vast majority of the time.
Is there a general method to doing this infinitesimally in three dimensions accurately?
My attempt:
I attempted to try this in two dimensions first. If I have a two dimensional graph y=f(x), and I start at point (xo,yo), the initial angle (thetao) the point is moving is related to the derivative calculated at xo described by: thetao=atan( f’(xo) ). Therefore, the x component and y component of a unit vector describing the movement of that point is <cos(thatao),sin(thetao)>.
After a small unit of time or distance moved, the starting unit vector’s angle will rotate proportional to the curvature “k” defined by k = y’’/(1+(y’)^2)^(3/2).
If the original unit vector starts at an angle ‘thetao’ , then the new angle (theta1) after a small distance (ds) moved is theta0+k*ds. Therefore, the new unit vector will be the x and y projections of that angle:
<cos(thetao+k*ds), sin(thetao+kds)>.
After a small distance (ds), the new x coordinate will be the old x coordinate (xo) plus the x component of the unit vector multiplied by ds.
X1=xo+vx*ds
The y coordinate will be the same, but will use the y coordinate and the y component of the unit vector.
Y1=yo+vy*ds
Sure enough, if I use excel to start at point (0,0) and the unit vector <sqrt(2)/2,sqrt(2)/2> on the graph y=sin(x) and use this method, the series of semi-infinitesimally spaced points that are calculated traces along a sine curve (if ds gets reasonably small).
In three dimensions on a graph z=f(x,y) , this doesn’t work. The curvature with respect to the x-axis and y-axis may be calculated, but since the vector doesn’t move in strictly the zx and zy plane, it doesn’t capture the curvature in which the point is moving the vast majority of the time.
Is there a general method to doing this infinitesimally in three dimensions accurately?