Path: news.mathworks.com!not-for-mail From: <HIDDEN> Newsgroups: comp.soft-sys.matlab Subject: Re: curvature radius Date: Wed, 20 Oct 2010 14:28:05 +0000 (UTC) Organization: The MathWorks, Inc. Lines: 17 Message-ID: <i9mu9l$alk$1@fred.mathworks.com> References: <i9ljmf$1gm$1@fred.mathworks.com> <i9ln1c$s6h$1@fred.mathworks.com> <i9locf$mlf$1@fred.mathworks.com> <i9m76r$nr7$1@fred.mathworks.com> Reply-To: <HIDDEN> NNTP-Posting-Host: webapp-05-blr.mathworks.com Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: fred.mathworks.com 1287584885 10932 172.30.248.35 (20 Oct 2010 14:28:05 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Wed, 20 Oct 2010 14:28:05 +0000 (UTC) X-Newsreader: MATLAB Central Newsreader 1187260 Xref: news.mathworks.com comp.soft-sys.matlab:679868 "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <i9m76r$nr7$1@fred.mathworks.com>... > ....... > However it is a rather cumbersome method of finding the circle for only three points. Below is a somewhat more direct way of solving the three-point problem. Let the three points be (x1,y1), (x2,y2), and (x3,y3). > > t1 = x3^2-x2^2+y3^2-y2^2; > t2 = x1^2-x3^2+y1^2-y3^2; > t3 = x2^2-x1^2+y2^2-y1^2; > d = x1*y2-x2*y1+x2*y3-x3*y2+x3*y1-x1*y3; > a = 1/2*(t1*y1+t2*y2+t3*y3)/d; > b = -1/2*(t1*x1+t2*x2+t3*x3)/d; > > Then (a,b) will be the center of a circle running through the three points. I have tested this one too and it gives the same answer as the first method. In both methods the distances from (a,b) to the three points are all equal (allowing for round off error.) > ........ - - - - - - - - - - - I should have mentioned that finding the circle through the three points is simply the problem of finding the circumscribed circle about a triangle with the three points as vertices. The radius of such a circle by a well-known formula is the product of the three sides divided by four times the area of the triangle. Roger Stafford