[SciPy-Dev] GSoC 2018 : Rotation formalism

Nikolay Mayorov nikolay.mayorov at zoho.com
Sun Feb 25 07:25:37 EST 2018


Hi, Vishal! 

Sorry, but I don't like this idea about Vector. And I don't think anyone will like it. A vector in 3D is just a numpy array with 3 elements, it has powerful and well designed API and supports all operations you have listed (besides transforms, which should be applied to it in some way). Also I believe we should represent a set of n vectors as (n, 3). 

As for your second point, it is not super clear as stated. I don't think you need to make each rotation representation a "first-class citizen". For example, Euler angles are convenient for defining or interpreting a rotation, but to compose or apply rotations you can't use them directly. Please consider carefully the design I proposed and read the two first references to get a better intuition. If you see any flaws in it - we are ready for discussion. 

Best, 
Nikolay

---- On Sun, 25 Feb 2018 16:53:55 +0500 vishstar88 at gmail.com wrote ----

Here's a bunch of ideas that I have
Create a new Vector class primarily for vector algebraic operations (instead of numpy arrays).
This could be used any and every vector operation. 
Vector Product
Scalar Product
Translation 
Rotation (Different methods for each formalism)
Magnitude
Distance from other Vector objects
Convert to and from numpy array
(This could probably be extended to a Plane class for planar operations and transformations)

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/20180225/ac0ddae6/attachment.html>


More information about the SciPy-Dev mailing list