Approximating geodesics on some function f(x, y)

55 Views Asked by At

Note: This is an update in a previous post that I think deserves it's own post as it's much more in-depth and is asking for assistance on a much less broad topic.

$^{\text{I'm putting these definitions here because I'm unsure if these notations are exclusive to Desmos or if it is widespread}}$
Definitions:
$L\left[n\right]$ where $L$ is a list: element $n$ of list $L$
$A.c$ where $A$ is a coordinate point and $c$ is a coordinate axis: Value of the $\left(x, y, z\right)$ coordinate in point $A$

I've been with the Desmos calculator a lot and need some help with something I'm doing. I'm trying to find the geodesic of some function $f\left(x,y\right)$ as a manifold $M$ in 3D. The best way I've come up with to approximately trace a geodesic that I've come up with is using a ‘stepping’ method that uses something similar to the action command in Desmos, which looks like this:

$$ n \rightarrow \left[\text{action}\right]$$

‘[action]’ is the action you want to preform on the variable. this could be something like

$$n \rightarrow n+1$$

which would set the variable $n$ to whatever it's current value is +1. Using actions (which I will be referring to as iterations) could trace the approximate path of a geodesic if given a velocity $V$ and a starting point $P$. If we iterate $P$ by $V$, where $P$ is

$$\left(x_{1},y_{1},f\left(x_{1},y_{1}\right)\right)$$

and $V$ is

$$\left(V_{x},V_{y},f\left(V_{x},V_{y}\right)\right)$$

We then find the the point on our manifold $M$ closest to P which we will call $N$. We create an empty list $L =\begin{bmatrix} \space \space \end{bmatrix}$ which we iterate as

$$L \rightarrow \begin{bmatrix} P \space, N \end{bmatrix}$$

After we iterate $L$ we can iterate $P$ as $P \rightarrow N$. Now we subtract $L[1]$ and $L[2]$ which will give us our change in velocity $C$ so

$$ C.x=\left(L\left[1\right].x-L\left[2\right].x\right)\\[2mm] C.y=\left(L\left[1\right].y-L\left[2\right].y\right)\\[2mm] C.z=\left(L\left[1\right].z-L\left[2\right].z\right)\\[2mm] $$

which we then add iterate as our new vector so $V \rightarrow C$ and we continue this for as long as we want to iterate it. The only part I can't figure out is how to find both the length of segment $\overline{\rm NP}$ and point $N$ . If you know how i could do this in Desmos