Re: [Algorithms] Spline Surface Extremal Points ?
Brought to you by:
vexxed72
From: Dave E. <eb...@ma...> - 2000-08-29 03:12:54
|
From: "Steve Wood" <Ste...@im...> > I don't know anything about spline patches...but extrema is defined as the > point where the the slope of the tangent=0 AND the slope of the tangent to > the left of that point is the opposite sign from the slope of the tangent to > the right of that point...ie...it's not an inflection point. Your definition is for the graph of a function y = f(x). A local maximum occurs at x0 if f'(x0) = 0 and f"(x0) < 0. Unfortunately these extrema are tied into the coordinate system. Consider f(x) = 1-x^2 for |x| <= 1. The local maximum occurs at x = 0. Now rotate the curve (x,f(x)) about the origin a small amount (so that no tangent line becomes vertical). The new curve is a graph of another function, but the local maximum for it is not at the same point as in the original coordinate system. For a graph z = (x,y,f(x,y)), a local maximum occurs at (x0,y0) if Gradient(f)(x0,y0) = (0,0) and Hessian(f)(x0,y0) is a negative definite matrix. Just as in the one dimensional case, if the graph has no vertical tangents, and if you rotate the graph a small amount so that you still have no vertical tangents, the new surface is a graph of another function, but the local maxima are not at the same location as in the original coordinate system. If the original poster has a coordinate system in mind for the surface, then the definition above will locate the extremal points. But if the idea is to find some "intrinsic" extrema, for example, the vertices of an ellipsoid that do not change with orientation of the ellipsoid, you need a different concept for extremum. The usual ones involve measuring principal curvatures and deriving some scalar function from them, then applying the definition mentioned above for finding extrema of that function. This approach is what is used for defining "ridges" (curves of extreme points) on a surface. -- Dave Eberly eb...@ma... http://www.magic-software.com |