An important module in our software is an API we call Euclid. It do 2D and 3D geometric calculations and is well tested. I think it might be of use to have a version of it on a calculator when testing and debug code that is using the Euclid API. I name the calculator version Euclid Pack.

Initial specification for the problems to solved by the Euclid Pack:

- Compute the implicit equation for a 2D line given two 2D points. HP-35s
- Find the signed distance from a 2D line to a 2D point. HP-35s
- Evaluate points on a lines (2D or 3D) using their parametric equations. HP-35s
- "Normalize" the segment defining a line (2D or 3D). HP-35s
- Find the distance from a 3D line to a 3D point. HP-35s
- Compute the closest point on a line to a point (2D or 3D). HP-35s
- Find the point of intersection of two 2D lines or learn that the lines are paralell. HP-35s
- Find the unique shortest line between two 3D lines or learn that the lines intersect or are paralell. HP-35s
- Compute the implicit equation for a plane given A) a point and normal vector or B) three points. HP-35s (A, B)
- Find the signed distance from a plane to a point. HP-35s
- Compute the closest point on a plane to a point. HP-35s
- Find the point of intersection of a plane and a line or learn that the plane and line are paralell. HP-35s
- Find the line of intersection between two planes. HP-35s
- Cartesian coordinates to Barycentric coordinates. HP-35s
- Barycentric coordinates to Cartesian coordinates. HP-35s
- Compute a triangle's inscribed circle. HP-35s
- Compute a triangle's circumscribed circle. HP-35s

On paper the HP-35s should be a good machine for this since it has 2D and 3D vectors.

## No comments:

Post a Comment