POV-Ray : Newsgroups : povray.advanced-users : Calculating curvature of a surface? : Re: Calculating curvature of a surface? Server Time
30 Jul 2024 08:28:26 EDT (-0400)
  Re: Calculating curvature of a surface?  
From: Kevin Wampler
Date: 2 Dec 1999 23:38:50
Message: <387028BC.31573882@tapestry.tucson.az.us>
Well, this is mostly a guess, and almost certainly isn't representative of
the actual, mathematical curvature of a surface (or one of the curvature
measurements), especially since, if I remember correctly, the curvature of
a 3-D surface is no simple thing.  It may, however, suffice for the
purposes of a POV pattern.

For each evaluation point, you have found the normals of n other nearby
points, which are s units away from the evaluation point.  For each vector,
the angle between it and the normal vector at the evaluation point is
theta.  One way of finding a representation of the average curvature would
then be:

K=1/n*sigma(theta/s)

If you find the normals at points which are in a circle around the
evaluation point, then s would be constant so you could simplify this a bit
into:

K=1/(n*s)*sigma(theta)

I hope that this works, and I hope that it is helpful.


Chris Huff wrote:

> I am working on a curvature pattern, inspired by the patina thread,
> which would be for textures only(it would return a constant value if
> used in media density). It would return a value depending on the amount
> the surface the evaluation point is on is curving.
>
> I am doing this by getting the normal at the evaluation point, using
> that normal to find a point directly "up" at that point, and firing
> several sample rays at the surface. I can either fire the rays in a ring
> at an equal angle to the normal at the evaluation point, or randomly
> inside a cone.
> My question is: what is a good way of calculating the curvature of a
> surface given several points on a surface and normals at those
> points(and of course, the number of samples)?
> I am thinking the pattern should work return a value between 0 for
> maximum curvature away from the normal of the evaluation point and 1 for
> maximum curvature toward the normal. But I am not even really sure what
> "maximum curvature" is. :-)
>
> I have considered using the average vdot of the sample normals with the
> normal of the evaluation point, the average distance of the sample
> points from the point the samples are shot from, using parallel sample
> rays instead of rays originating from a point...
>
> --
> Chris Huff
> e-mail: chr### [at] yahoocom
> Web page: http://chrishuff.dhs.org/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.