swarmauri.core.vectors.IVectorTransform module

class swarmauri.core.vectors.IVectorTransform.IVectorTransform[source]

Bases: ABC

Interface for performing various transformations on vectors.

abstract project(plane_normal)[source]

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

Return type:

IVector

abstract reflect(plane_normal)[source]

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

Return type:

IVector

abstract rotate(angle, axis)[source]

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

Return type:

IVector

abstract scale(scale_factor)[source]

Scale a vector by a given scale factor.

Return type:

IVector

abstract shear(shear_factor, direction)[source]

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

Return type:

IVector

abstract translate(translation_vector)[source]

Translate a vector by a given translation vector.

Return type:

IVector