geoana.spatial.rotate_points_from_normals#
- geoana.spatial.rotate_points_from_normals(xyz, n0, n1, x0=array([0., 0., 0.]))#
Rotate a set of xyz locations about a specified point.
Rotate a grid of Cartesian points about a location x0 according to the rotation defined from vector v0 to v1.
Let \(\mathbf{x}\) represent an input xyz location, let \(\mathbf{x_0}\) be the origin of rotation, and let \(\mathbf{R}\) denote the rotation matrix from vector v0 to v1. Where \(\mathbf{x'}\) is the new xyz location, this function outputs the following operation for all input locations:
\[\mathbf{x'} = \mathbf{R (x - x_0)} + \mathbf{x_0}\]- Parameters:
- xyz(n, 3) numpy.ndarray
locations to rotate
- v0(3) numpy.ndarray
Starting orientation direction
- v1(3) numpy.ndarray
Finishing orientation direction
- x0(3) numpy.ndarray, optional
The origin of rotation.
- Returns:
- (n, 3) numpy.ndarray
The rotated xyz locations.