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

Added geom classes based on doubles #9

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

TPMoyer
Copy link

@TPMoyer TPMoyer commented Oct 20, 2019

I need to hack about with geometry using double precision.
Forked your lib to add double versions of your geom classes.
Would like to share.

Your lib is much more replete than my legacy home-brew C library (1990's). I have converted over to Java/Scala, and Processing, so it seems like adopting use of toxicLib is WAY desireable.
BUT, am developing a CNC technology which is intended to have 30 meter span with 0.01 mm movement control. So I need doubles.

Know the continuing 32Bit speed advantage for graphics, even outside the GPU. Had written an OpenGL 3D app used by IBM failure analysis folks to fly thru the real 3D paths of the 100,000 wires in our mainframes. That app worked on a 486, so understand speed vs size. Believe there are also folks with application spaces where the trade-off of precision vs speed favors doubles.

Implementation details are the fork under Doubles_README.md

PS: Figure you would be one of the few who will appreciate an efficiency neither of us implemented.
We implemented a plane as a point and a normal (6 parameters), which is better than the plebeian 9 parameter: 3 points define a plane. I recently came upon the suggestion (no idea of the source) that a plane can be described in only 4 parameters: a normal and scalar. The scalar is the distance from the origin, along the normal, to the plane.

Added classes which are based on using doubles, matching the float bases in the classic toxicLib
@postspectacular
Copy link
Owner

Hey @TPMoyer - thanks so much for this massive PR / addition. I had started on something like this separately (though never committed) just before I abandoned this project 8 years ago and am completely sold on the benefits of using doubles for digi fab use cases. All my later libs (in this field) are predominantly using doubles too...

The thing is I haven't touched this code base (or Java) for at least 4-5 years and it will take me some time to review all these additions (even though at first glance this all looks splendid!). So just a heads up & please bear with me...

As for your plane as vec4 comment: yep, that form is how I dealt with planes in these newer projects, e.g.

@TPMoyer
Copy link
Author

TPMoyer commented Oct 21, 2019 via email

Had botched my previous rename/revert to original names.
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

Successfully merging this pull request may close these issues.

2 participants