-
Notifications
You must be signed in to change notification settings - Fork 135
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
Point3D encapsulation of knowledge #101
Comments
How do you plan to distinguish between Point.MirrorAbout.Plane and Plane.MirrorAbout.Point? |
I understand finding the mirror of a point on the opposite side of a plane. For which I would expect its signature to be myplane.MirrorPoint(Point3D point); What would mirroring a plane about a point mean? a point doesn't have an opposite side, so I'm not quite following what this should be understood as? |
Reflection operation could be performed about point, line or plane. And it is three different operations. |
Thanks didn't know that
So as I understand it, you would want to do generically
where shape could be a point, a line, a plane, a shape? I wonder if this is not better supported by providing matrix transforms rather specific operations per type:
|
Well, yes. I would expect that good library will support all three methods for every shape. The question is how rich and complete API you plan to support in "Math.NET Spatial". Not all reflections can be described through matrix transforms. |
Well the answer to that has as much to do with people contributing to the library as it does API design. If you want feel free to join us on Gitter https://gitter.im/mathnet/mathnet-spatial. |
Usually I provide next methods for every geometrical primitive: translate, rotate about point, reflect about point, line and plane. Scaling (for finite objects) probably would be good too, but I haven't implemented it yet. |
Propose to remove the IntersectionOf, MirrorAbout, ProjectOn methods from Point3D.
These methods require that the fundamental type point should have knowledge of higher order structures like Ray and Plane. Structurally these methods are better placed on the higher order classes rather than point3D
The text was updated successfully, but these errors were encountered: