Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

npeuclid - euclid in numpy #21

Open
dov opened this issue Mar 18, 2018 · 2 comments
Open

npeuclid - euclid in numpy #21

dov opened this issue Mar 18, 2018 · 2 comments

Comments

@dov
Copy link
Contributor

dov commented Mar 18, 2018

This is not really a bug report nor a pull request, but in the lack of a mailing list for pyeuclid, I wanted to announce that I started a rewrite of euclid that uses numpy for all linear algebra, instead of doing the calculations in pure python. The trigger was that I was once again getting the wrong answer because of the arbitrary clipping of the inverse() function (based on the size of the determinant value). I named this new project npeuclid. I'm not sure whether to keep npeuclid as a separate project, or whether it should be merged in to euclid. I'm looking forward to both comments and contributions. One of the freedoms, and changes w.r.t. euclid, that I chose was to make the transformations stateless, so that a transformation such as t.rotate() returns a newly created transformation, but does not modify t. This is more "functional" like, and more similar to e.g. how pandas works.

Meanwhile I have only done 2D geometry, but adding 3D and quaternion math, should be quite trivial.

See: https://github.com/dov/npeuclid

@dov
Copy link
Contributor Author

dov commented May 1, 2020

FYI. It took a while, but I finally put npeuclid on PyPi.

@etjones
Copy link
Contributor

etjones commented May 1, 2020

Nice work, Dov. Can you comment on any changes needed for swapping out npeuclid for pyeuclid? Looks like all mutating functions, like Transform.rotate() are now pure (Props!). Anything else we should look at there? Any speed comparisons?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants