from abc import ABC, abstractmethod
from typing import List
[docs]
class IAngleBetweenVectors(ABC):
"""
Interface for calculating the angle between two vectors.
"""
[docs]
@abstractmethod
def angle_between(self, vector_a: List[float], vector_b: List[float]) -> float:
"""
Method to calculate and return the angle in radians between two vectors.
Parameters:
- vector_a (List[float]): The first vector as a list of floats.
- vector_b (List[float]): The second vector as a list of floats.
Returns:
- float: The angle between vector_a and vector_b in radians.
Note: Implementations should handle the vectors' dimensionality and throw appropriate exceptions for incompatible vectors.
"""
pass