Skip to content

Class swarmauri_core.vectors.IVectorTransform.IVectorTransform

swarmauri_core.vectors.IVectorTransform.IVectorTransform

Bases: ABC

Interface for performing various transformations on vectors.

translate abstractmethod

translate(translation_vector)

Translate a vector by a given translation vector.

Source code in swarmauri_core/vectors/IVectorTransform.py
10
11
12
13
14
15
@abstractmethod
def translate(self, translation_vector: IVector) -> IVector:
    """
    Translate a vector by a given translation vector.
    """
    pass

rotate abstractmethod

rotate(angle, axis)

Rotate a vector around a given axis by a certain angle.

Source code in swarmauri_core/vectors/IVectorTransform.py
17
18
19
20
21
22
@abstractmethod
def rotate(self, angle: float, axis: IVector) -> IVector:
    """
    Rotate a vector around a given axis by a certain angle.
    """
    pass

reflect abstractmethod

reflect(plane_normal)

Reflect a vector across a plane defined by its normal vector.

Source code in swarmauri_core/vectors/IVectorTransform.py
24
25
26
27
28
29
@abstractmethod
def reflect(self, plane_normal: IVector) -> IVector:
    """
    Reflect a vector across a plane defined by its normal vector.
    """
    pass

scale abstractmethod

scale(scale_factor)

Scale a vector by a given scale factor.

Source code in swarmauri_core/vectors/IVectorTransform.py
31
32
33
34
35
36
@abstractmethod
def scale(self, scale_factor: float) -> IVector:
    """
    Scale a vector by a given scale factor.
    """
    pass

shear abstractmethod

shear(shear_factor, direction)

Shear a vector along a given direction by a shear factor.

Source code in swarmauri_core/vectors/IVectorTransform.py
38
39
40
41
42
43
@abstractmethod
def shear(self, shear_factor: float, direction: IVector) -> IVector:
    """
    Shear a vector along a given direction by a shear factor.
    """
    pass

project abstractmethod

project(plane_normal)

Project a vector onto a plane defined by its normal vector.

Source code in swarmauri_core/vectors/IVectorTransform.py
45
46
47
48
49
50
@abstractmethod
def project(self, plane_normal: IVector) -> IVector:
    """
    Project a vector onto a plane defined by its normal vector.
    """
    pass