Git Product home page Git Product logo

Comments (3)

moble avatar moble commented on July 29, 2024

Thanks for the bug report!

I found an example in the docs showing that you really need to use a separate pointer for PySequence_GetItem, and Py_DECREF it after you're done using it. I guess this was just lucky with lists, but numpy arrays are a little too clever for [our] own good.

from quaternion.

jsbtic avatar jsbtic commented on July 29, 2024

Thanks for the fix!
J.

P.S. I was thinking, could you add the some examples how to convert M x 4 numppy arrays to quaternion arrays and vice versa to the Usage section in the README.md for new users (took some time for me to find out).

E.g.

>>> M = 5
>>> a = np.round(np.random.rand(M, 4),3)
>>> a
array([[ 0.909,  0.671,  0.079,  0.228],
       [ 0.762,  0.492,  0.096,  0.128],
       [ 0.543,  0.574,  0.273,  0.941],
       [ 0.307,  0.434,  0.512,  0.556],
       [ 0.885,  0.538,  0.614,  0.122]])
>>> qs = quaternion.as_quat_array(a)
>>> qs
array([quaternion(0.909, 0.671, 0.079, 0.228),
       quaternion(0.762, 0.492, 0.096, 0.128),
       quaternion(0.543, 0.574, 0.273, 0.941),
       quaternion(0.307, 0.434, 0.512, 0.556),
       quaternion(0.885, 0.538, 0.614, 0.122)], dtype=quaternion)
>>> b = quaternion.as_float_array(qs)
>>> b
array([[ 0.909,  0.671,  0.079,  0.228],
       [ 0.762,  0.492,  0.096,  0.128],
       [ 0.543,  0.574,  0.273,  0.941],
       [ 0.307,  0.434,  0.512,  0.556],
       [ 0.885,  0.538,  0.614,  0.122]])

from quaternion.

moble avatar moble commented on July 29, 2024

Good idea. I myself frequently forget how to do these conversions. I've added it to the README. Thanks again!

from quaternion.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.