classmethod Vector3d.from_path_ends(vectors: list | tuple | Vector3d, close: bool = False, steps: int = 100) Vector3d[source]#

Return vectors along the shortest path on the sphere between two or more consectutive vectors.


Two or more vectors to get paths between.


Whether to append the first to the end of vectors in order to close the paths when more than two vectors are passed. Default is False.


Number of vectors in the great circle about the normal vector between each two vectors before restricting the circle to the path between the two. Default is 100. More steps give a smoother path on the sphere.


Vectors along the shortest path(s) between given vectors.


The vectors along the shortest path on the sphere between two vectors \(v_1\) and \(v_2\) are found by first getting the vectors \(v_i\) along the great circle about the vector normal to these two vectors, and then only keeping the part of the circle between the two vectors. Vectors within this part satisfy these two conditions

\[(v_1 \times v_i) \cdot (v_1 \times v_2) \geq 0, (v_2 \times v_i) \cdot (v_2 \times v_1) \geq 0.\]

Examples using Vector3d.from_path_ends#

Combining rotations

Combining rotations