4 ms·
That's just a single number to calculate. The real fun begins when you do geometry. Find a representation of finite memory to represent points, which allows e
by GistNoesis 2y ago
That's just a single number to calculate.
The real fun begins when you do geometry.
Find a representation of finite memory to represent points, which allows exact addition, multiplication and rotation between them, (with all the nice standard math property like associativity and commutativity).
For example your representation should be able to take a 2d point A, aka two coordinates, and rotate it around the origin by an angle theta to obtain the point B. Take the original point and rotate it by pi + theta, then reflect it around the origin to obtain the point C. Now answer the question whether B is coincident with C.
- kccqzy 2y agoJust use Mathematica. ar = Sqrt[ax^2 + ay^2]; atheta = ArcTan[ax, ay]; br = ar; btheta = atheta + theta; cr = ar; ctheta = atheta + Pi + theta + Pi; bx = br Sin[btheta]; by = br Cos[btheta]; cx = cr Sin[ctheta]; cy = cr Cos[ctheta]; In[2]:= bx == cx Out[2]= True In[3]:= by == cy Out[3]= True This seems so elementary that I think open source computer algebra systems can do it.
- GistNoesis 2y agoThe point underlying the problem is about the closure of operations [1] Typically one would like to be able to calculate things without making error, which accumulates. The symbolic representation you suggest use a growing memory to represent the point by all the operations which have been applied to it since the origin. What we would rather do is define a set of operation that are closed for a specific set of points, which allows to accumulate information by doing the computation rather than deferring the computation. One could for example think of using fixed point number to represent the coordinates, and define an extra point at the infinity to handle overflow. And then you have some property that you like and some that you like less. For example minimums distance which can define a point uniquely in continuous R^2, are no longer unique when you constrain yourself to integer grids by using fixed points. Or you could use some rational numbers to store the coordinates like in CGAL (which allows you to know on which sides of the planes you are without z-fighting), but they still require growing memory. You can maybe add some rule to handle the underflow and overflows. Or you can merge close points, but maybe you lose some information. Or you can define the operations on lattices, finite automaton, or do some error correcting codes, dynamic recombining graphs (aka the ruliad). It's an open problem, see https://en.wikipedia.org/wiki/Robust_geometric_computation https://en.wikipedia.org/wiki/Robust_geometric_computation for more. [1] https://en.wikipedia.org/wiki/Closure_(mathematics) https://en.wikipedia.org/wiki/Closure_(mathematics)