polyhedral curvature

polyhedral curvature

Post by hweepin » Tue, 02 Jan 2001 00:16:09



Hello!
How to calculate a curvature of 3D polyhedron?
Is there some survey/article ?
 
 
 

polyhedral curvature

Post by Dave Eberl » Wed, 03 Jan 2001 13:09:40



Quote:> How to calculate a curvature of 3D polyhedron?
> Is there some survey/article ?

The curvature is zero for a point in the interior of a face and is
discontinous for a point on an edge or at a vertex.

Probably what you are looking for is to approximate the polyhedron by a
C2-surface, then compute the principal curvatures for that surface.  The
typical approach is to estimate first and second partial derivatives at a
vertex of the polyhedron by using finite differences related to all the
vertices connected to the given vertex by edges.

--
Dave Eberly

http://www.magic-software.com

 
 
 

polyhedral curvature

Post by Joseph O'Rour » Wed, 03 Jan 2001 22:22:31






>> How to calculate a curvature of 3D polyhedron?
>> Is there some survey/article ?

>The curvature is zero for a point in the interior of a face and is
>discontinous for a point on an edge or at a vertex.

Just to supplement what Dave says above, the curvature is zero everywhere
except at the vertices.  Even along an edge the curvature is zero.
(This is under a strict definition of curvature; you may want instead
the curvature of a smooth approximation of the polyhedron.) One can easily
compute the curvature concentrated at each vertex as 2 pi minus the sum of
the incident face angles.  Thus the curvature at each corner of a cube
is pi/2.  The Gauss-Bonnet theorem says that the curvature summed over
the whole surface, i.e., the sum over all vertices of a polyhedron,
is 4 pi.  For the cube: 8 * (pi/2) = 4 pi.
 
 
 

polyhedral curvature

Post by Dave Eberl » Thu, 04 Jan 2001 02:26:03



Quote:> Just to supplement what Dave says above, the curvature is zero everywhere
> except at the vertices.  Even along an edge the curvature is zero.
> (This is under a strict definition of curvature; you may want instead
> the curvature of a smooth approximation of the polyhedron.)

Sorry, Joe, but I do not know what you mean by a "strict definition".
The curvature tensor for a surface parameterized by X(s,t) involves
second derivatives in s and t.  Parameterize two faces of a
polyhedron that share an edge.  Neither the first nor second derivatives
exist along the edge, so you cannot compute the curvature tensor.

The classical construction for *a* curvature is the following.  Given a
point P on a surface, suppose a normal vector to the surface at P is
N.  Select a tangent vector T at P.  The plane containing P and spanned
by N and T locally intersects the surface in a curve that can be
parameterized by Y(t) where Y(0) = P.  The curvature for that curve at
t = 0 is constructed in the usual way for a planar curve.  Since there are
infinitely many tangent vectors to select, there are (usually) infinitely
many curvatures you can measure at P.  To ask the question "what is
the curvature of the surface at P" is not well-posed.  The metric and
curvature tensors contain all the information you need to construct the
curvature associated with a tangent T.  Principal curvatures are the
two extreme values of curvature as you vary over all T.  If the curvature
is constant for all T at P, then you have an umbilic point and the surface
is locally spherical.

This construction relies on the fact that you actually have a normal N
and a tangent space at P.  Any point on the shared edge between
polyhedral faces does not have a normal vector, so I fail to see how
you can apply the standard construction above.  Even if you were to
select some N and call it a normal, you only get one T for which the
curvature at P within that slice is defined (T is the edge direction,
curvature is zero).  But for any other T, you get a cusp in the curve
of intersection and the curvature is undefined.

--
Dave Eberly

http://www.magic-software.com

 
 
 

polyhedral curvature

Post by Joseph O'Rour » Thu, 04 Jan 2001 03:18:35






>> Just to supplement what Dave says above, the curvature is zero everywhere
>> except at the vertices.  Even along an edge the curvature is zero.
>> (This is under a strict definition of curvature; you may want instead
>> the curvature of a smooth approximation of the polyhedron.)

>Sorry, Joe, but I do not know what you mean by a "strict definition".
>The curvature tensor for a surface parameterized by X(s,t) involves
>second derivatives in s and t. [...]
>[...]To ask the question "what is
>the curvature of the surface at P" is not well-posed.

There are so many notions of curvature that perhaps we are not in
disagreement.  The "intrinsic," "Gaussian" curvature is indeed defined
at a point, at any point p of a continuous surface.  It can be defined
without mentioning derivatives, as the limit of a ratio of the angle
deficit of a geodesic polygon enclosing p to the area of that polygon.
I believe you are discussing the "extrinsic" curvature, which depends
on its embedding in space.
        For a point p on the interior of a polyhedron edge, a little
geodesic polygon (edges composed of geodesics) around p flattens
to just a polygon.  Its total angle turn is 2pi, so its angle deficit
is 0.  So the limit of its deficit to area is zero.  So the Gaussian
curvature at p is zero.
        No doubt the original poster was not looking for Gaussian
curvature, and I apologize for muddying the waters.
 
 
 

polyhedral curvature

Post by Dave Eberl » Thu, 04 Jan 2001 04:38:26



Quote:> There are so many notions of curvature that perhaps we are not in
> disagreement.

Thanks for the clarification of your definitions.

Quote:>  The "intrinsic," "Gaussian" curvature is indeed defined
> at a point, at any point p of a continuous surface.  It can be defined
> without mentioning derivatives, as the limit of a ratio of the angle
> deficit of a geodesic polygon enclosing p to the area of that polygon.
> I believe you are discussing the "extrinsic" curvature, which depends
> on its embedding in space.

I was discussing the curvature tensor in general.  The intrinsic
curvature on a smooth surface is the Gaussian curvature.  The
extrinsic curvature is the mean curvature.  I had to dig out my
"Solid Shape" book by Jan Kooenderink (it was a bit dusty).
Just for reference for future searches:

For an interior point on an edge of a polyhedron, the intrinsic
curvature (Gaussian curvature) is zero and the extrinsic
surface is the dihedral angle between the faces sharing the edge.
A vertex does not have an intrinsic curvature, but it does have
an extrinsic curvature given by the solid angle formed by the
normals of the faces that share that vertex.

Quote:> No doubt the original poster was not looking for Gaussian
> curvature, and I apologize for muddying the waters.

You are not muddying the waters since it is not clear what the
original poster wanted.  Perhaps he/she will clarify.

--
Dave Eberly

http://www.magic-software.com

 
 
 

1. ANN: BspSolid -- Robust and efficient Polyhedral Solid Modeling

Hi All,

I am very pleased to announce the availability of robust and efficient
Polyhedral Solid Modeling Lib and Shareware Programs at:
        http://www.ncf.carleton.ca/~ds755/
Once you are there, go to "Downloads"  to download shareware programs,

A lot of work has been put into BspSolid to address the robustness iusse
that is typical for any solid modeling kernels.

Thanks and Enjoy !

Dennis Jiang
http://www.ncf.carleton.ca/~ds755/

2. 3dstudio site

3. 2-D projection of a polyhedral scene

4. Volumetric Shadows tutorial for games?

5. 2-d projection of a polyhedral scene

6. Slow graphics on Turbo SRX ???

7. Need Polyhedral Models with Huge Number of Polygons

8. D3DXMatrixOrthoOffCenterLH

9. Merging BSP Trees Yields Polyhedral Set Operations

10. Angle between adjacent faces in a B-rep/polyhedral model

11. Question about convex polyhedral solids

12. offsetting polyhedral bodies

13. Evenly spaced points over a convex polyhedral object