1

I have a sphere and a point on it. Now I want to move this point in the direction of a randomly choosen angle "a" for for the arc length "l", over the surface of the sphere.

What are the mathematical equations for that?

I thought about maybe using great-circles somehow, but I don't know how to do that practically.

--

I also found this, but it don't applies to my case, because that case is reduced to the use of Vectors:

Moving a point around a Sphere

  • How is your point on the sphere represented? Latitude and longitude? Please edit the answer into your question. – TonyK Oct 17 '18 at 13:47

1 Answers1

1

Given the radius $r$ and the arch length $l$, the angle $\theta$ is given by

$$\theta=\frac l r$$

to define the new position we need to define the rotation axis, expressed by the unit vector $\vec u=(u_x,u_y,u_z)$, and use the following Rotation matrix from axis and angle

$$R = \begin{bmatrix} \cos \theta +u_x^2 \left(1-\cos \theta\right) & u_x u_y \left(1-\cos \theta\right) - u_z \sin \theta & u_x u_z \left(1-\cos \theta\right) + u_y \sin \theta \\ u_y u_x \left(1-\cos \theta\right) + u_z \sin \theta & \cos \theta + u_y^2\left(1-\cos \theta\right) & u_y u_z \left(1-\cos \theta\right) - u_x \sin \theta \\ u_z u_x \left(1-\cos \theta\right) - u_y \sin \theta & u_z u_y \left(1-\cos \theta\right) + u_x \sin \theta & \cos \theta + u_z^2\left(1-\cos \theta\right) \end{bmatrix}$$

user
  • 154,566