|
|
On 31 Aug 2001 11:24:43 -0400, ingo wrote:
>> The best you can do is fire
>> a bunch of random rays at nearby points on the object and try to
>> estimate the local curvature of the surface.
>
> Is the curvature enough to know whether my finger with polish cloth
>can reach a certain point?
The curvature is related to the radius you want to find, so yes. The
difference is that curvature is also related to whether the surface is
concave or convex, which is also important.
> How about shooting rays from the intersection point, in a
>hemispherical pattern, aligned with the normal at intersection point.
The solution I proposed the last time this discussion came around was to
fire rays from just "above" the intersection point in a small area around
the intersection point, and estimate the curvature from that. The method
you propose might work, but I'm always wary of the roundoff errors when
intersecting a ray with a nearly-parallel surface (which is what you'd
get a lot of using your method on a low-curvature surface.)
--
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbf 1}hollow interior{media{emission 3-T}}}#end
Z(-x-x.2x)camera{location z*-10rotate x*90normal{bumps.02scale.05}}
Post a reply to this message
|
|