"Martin" asks:
Suppose I have a shape defined as
(x,y,z) -> Bool
how can I find a Point inside this shape? Obviously I could
iterate through all possible x,y and z, but this appears
very expensive.
Janis Voigtländer comments :
What if it is additionally known that the shape
represented by (x,y,z) -> Bool has a closed, convex area (for
example)? Most likely there are then techniques from algorithmic
geometry that can find an inside point more efficiently than
by iterating blindly through all coordinate triples.
Am Donnerstag, 29. Oktober 2015 schrieb Tom Ellis :
...
There is no better way in general, so if you want to find points
inside a
shape you should use a different encoding of shapes.
You might discourage Martin from using his encoding, suggest using
something different, nevertheless some people NEED implicit
surfaces, useful for many purposes (e.g. for the ray
tracing; polygonizing them may be horrible...)
I don't understand what does it mean "find a point".
ANY point?
There is no "clever" solution for this yes/no relation. But people
in image synthesis use more treatable representation:
surf :: Point -> Real
(e.g. a sphere = x^2+y^2+z^2-R^2, and not: x^2+y^2+z^2-R^2 < 0
. )
where, say, the interior is negative, exterior positive. Then with
some initial, perhaps random steps, you may search with the aid of a
moving simplex, or similar. And if the function is reasonably
decent, gradient methods are good. This permits to find interesting
points, such as barycenters or the surface itself.
Jerzy Karczmarczuk