"""
This module is for functions which perform measurements.
"""
import numpy as np
[docs]def calculate_distance(rA, rB):
"""Calculate the distance between two points.
Parameters
----------
rA, rB : np.ndarray
The coordinates of each point.
Returns
-------
distance : float
The distance between the two points.
Examples
--------
>>> r1 = np.array([0, 0, 0])
>>> r2 = np.array([0, 0.1, 0])
>>> calculate_distance(r1, r2)
0.1
"""
dist_vec = (rA - rB)
distance = np.linalg.norm(dist_vec)
return distance
[docs]def calculate_angle(rA, rB, rC, degrees=False):
"""Calculate the angle between three points.
Parameters
----------
rA, rB, rC : np.ndarray
The coordinates of each point
degrees : bool , optional
Return unit of the calculated answer. Default is in radians.
Returns
-------
angle : float
The angle measurement for the three points.
"""
AB = rB - rA
BC = rB - rC
theta=np.arccos(np.dot(AB, BC)/(np.linalg.norm(AB)*np.linalg.norm(BC)))
if degrees:
return np.degrees(theta)
else:
return theta