[SciPy-Dev] GSoC 2018 : Rotation formalism

Vishal Gupta vishstar88 at gmail.com
Wed Feb 28 00:54:26 EST 2018


Hey.
Here's the basis for my proposal

1. Class Rotation will represent any rotation vector

2. Initialsed as Rotation (vector, type, dim)

Vector : Rotational Vector (Values corresponding to mentioned formalism)
<numpy.ndarray>

Type : Formalism Name <str>
Dim : Dimension <int>

Alternatively, have a bunch of Rotation.fromXYZ(**kwargs) function to
initialise from different formalisms

3. Similary have Rotation.toXYZ(**kwargs) function to convert internal
representation to different formalisms

4. Internally , the entered vector will be converted to Quaternion (or DCM)

5. A Rotation.apply method to rotate or project a vector or a set of
vectors (apply Quaternion rotation on vectors)

6. A Rotation.__mul__(rot) method to apply consecutive rotations where rot
is another Rotation object

Will adding more methods for other algorithms.

Thanks,
Vishal

On Sun, Feb 25, 2018, 5:23 PM Vishal Gupta <vishstar88 at gmail.com> wrote:

> Here's a bunch of ideas that I have
>
>    1. Create a new Vector class primarily for vector algebraic operations
>    (instead of numpy arrays).
>    This could be used any and every vector operation.
>
>
>    1.
>       - Vector Product
>       - Scalar Product
>       - Translation
>
>
>    1.
>       - Rotation (Different methods for each formalism)
>
>
>    1.
>       - Magnitude
>       - Distance from other Vector objects
>       - Convert to and from numpy array
>
>
>    1.
>
>    (This could probably be extended to a Plane class for planar
>    operations and transformations)
>    2. Create a module in scipy.spatial.rotation that has a different
>    method for each formalism and accepts (vector to be rotated as) Vector or
>    numpy.ndarray along with arguments for the rotation as a numpy.ndarray
>
>
> Thanks,
> Vishal
>
> PS. Sorry for 2 mails. Didn't realize Ctrl+Enter sends a mail in Gmail
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20180228/a30a012b/attachment-0001.html>


More information about the SciPy-Dev mailing list