[SciPy-Dev] SciPy : GSoC Proposal [Seeking Feedback] on Rotation Formalism in 3 Dimension

Nikolay Mayorov nikolay.mayorov at zoho.com
Sat Mar 24 09:41:30 EDT 2018


Hi, Anubhav!

I will give the feedback to your proposal today. I already looked through it and it is on a decent side.

As for your question regarding conversions: it is absolutely necessary to support bulk from/to operations, because Rotation (as perhaps agreed) can represent multiple rotations. It can be implemented as a single conversion applied to each rotation or using vectorized numpy code. In fact I believe both implementations will be necessary depending on the number of rotations contained. I hope you got my idea. And yes, bulk conversions arise frequently in my opinion.

Best,
Nikolay
Sent using Zoho Mail


---- On Sat, 24 Mar 2018 17:30:28 +0500 anubhavp28 at gmail.com wrote ----

Hi everyone,
I am want to contribute to SciPy through GSoC 2018. I am currently seeking feedback on my proposal ( https://docs.google.com/document/d/1ylzugkvVYI7m3IXsWVLD4EkE6zQd8B9YDPKtTno9f74/edit?usp=sharing ). I would appreciate any advice regarding the proposal.

Considering Ralf advice to look for existing implementation, I am currently looking into few implementation for conversions between rotation representations, for reuse and inspiration. One of the issues I felt with almost all of them is that they are designed to work on single rotation at a time. The API they use sort of suggest towards it. Consider the example of transforms3d ( http://matthew-brett.github.io/transforms3d/ ), due to it's API accepting a single rotation at a time, not a array of rotations, they tend not to utilise numpy vector operations and miss out on the speed improvement that comes with it. 

I decided to reach out to you regarding how useful would the support for multiple conversions among rotation formalism at once be. It is even worth considering? How frequent does such a scenario occurs where you have to convert a sequence of rotation from one formalism to another.

I create a test (code at https://gist.github.com/anubhavp28/e79645a544c6e7b16b408a172e522134 ) to see possible improvement with vector operations. I implemented rotation matrix to quaternion conversion using vector operations and timed it against what a user would have to do to achieve the same result with transforms3d.  My code took about 0.009185953000269365 while the one with transform3d took about 0.022295135000604205, for 100 iterations with sample matrices provided in the code. 

I would appreciate any suggestions.

Anubhav Patel


_______________________________________________ 
SciPy-Dev mailing list 
SciPy-Dev at python.org 
https://mail.python.org/mailman/listinfo/scipy-dev 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20180324/951884c5/attachment.html>


More information about the SciPy-Dev mailing list