Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!h17g2000pre.googlegroups.com!not-for-mail From: rych <rychphd@gmail.com> Newsgroups: comp.soft-sys.matlab Subject: Re: Curvature of a 3D implicit function Date: Thu, 2 Dec 2010 02:29:48 -0800 (PST) Organization: http://groups.google.com Lines: 39 Message-ID: <6ed0b534-62a3-4cff-bd7a-c0990bdd500e@h17g2000pre.googlegroups.com> References: <ics6dc$khv$1@fred.mathworks.com> <ict53u$bdh$1@fred.mathworks.com> <id4si0$8s0$1@fred.mathworks.com> NNTP-Posting-Host: 122.57.106.156 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1291285788 23248 127.0.0.1 (2 Dec 2010 10:29:48 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 2 Dec 2010 10:29:48 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: h17g2000pre.googlegroups.com; posting-host=122.57.106.156; posting-account=q0YHcwoAAADbDc1UOEbilYdUiU-iCJDX User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 GTB7.1 ( .NET CLR 3.5.30729; .NET4.0C) GTBA,gzip(gfe) Xref: news.mathworks.com comp.soft-sys.matlab:691829 On Dec 1, 8:13 pm, "Roger Stafford" <ellieandrogerxy...@mindspring.com.invalid> wrote: > In the absence of an explicit form it is necessary to decide which side of the surface defined by f(x,y,z) = 0 is to be regarded as the side the surface bends to in order to be regarded as positive curvature. If f is positive on the side of positive curvature, the 's' quantity below should be set at +1. Otherwise it should be set to -1. > > s = +1; % Positive curvature on positive side of f, otherwise set s = -1 > N = [fx;fy;fz]; % The gradient of f at (x0,y0,z0) > M = null(N.'); % Vectors in M and the gradient N are mutually orthogonal > H = [fxx,fxy,fxz;fyx,fyy,fyz;fzx,fzy,fzz]; % The Hessian of f at (x0,y0,z0) > [U,D] = eig(M.'*H*M); % These eigenvalues are proportional to curvatures > K = -s*diag(D).'/norm(N); % Convert to the true curvatures > V = M*U; % Obtain the corresponding eigenvectors in curvature directions > > The two-element row vector K will have the two principal curvatures, and the two corresponding columns of V will each be unit orthogonal vectors in the two directions along which those principal curvatures occur. > > I should point out that these curvatures are those given by curves on the surface through the given point which lie in planes containing the normal to the surface at that point. Other such planar curves through the point in intermediate directions will have curvatures between these two extreme values. > Thanks so much, Roger, Could you recommend a textbook or reference where this derivation is discussed in some more details? Igor