Showing posts with label circle determined by three points. Show all posts
Showing posts with label circle determined by three points. Show all posts

Sunday, October 9, 2016

HP Prime and TI-84 Plus CE: Circle Determined by Three Points

HP Prime and TI-84 Plus CE:  Circle Determined by Three Points



The programs CIRC3PTS (HP Prime) and CIRCBY3 (TI-84 Plus CE) calculate the center and radius of a circle given three points (x1, y1), (x2, y2), and (x3, y3).  The HP Prime will display the equation (x-x0)^2 + (y-y0)^2 = r^2 in a message box.  Both versions will return a list {x0, y0, r}.

The center point (x0, y0) is calculated by:

[ [ x0 ] [ y0 ] ]  =
[ [ x1 – x3, y1 – y3 ] [ x1 – x2, y1 – y2 ] ]^-1 * [ [ a ] [ b ] ]

Where:
a = 0.5 * ( (x1 – x3)*(x1 + x3) + (y1 – y3)*(y1 + y3) )
b = 0.5 * ( (x1 – x2)*(x1 + x2) + (y1 – y2)*(y1 + y2) )
r = √( (x1 – x0)^2 + (y1 – y0)^2 )



HP Prime Program:  CIRC3PTS

EXPORT CIRC3PTS()
BEGIN
// 2016-10-09
// Circle by 3 Points

LOCAL x1,y1,x2,y2;
LOCAL x3,y3,x0,y0;
LOCAL a,b,m,r;
LOCAL str;

// Input box
INPUT({x1,y1,x2,y2,x3,y3},
"Circle by 3 Points",
{"x1","y1","x2","y2",
"x3","y3"});

// Calculation
a:=0.5*((x1-x3)*(x1+x3)+
(y1-y3)*(y1+y3));
b:=0.5*((x1-x2)*(x1+x2)+
(y1-y2)*(y1+y2));
m:=[[x1-x3,y1-y3],[x1-x2,y1-y2]]^-1
*[[a],[b]];
x0:=m(1,1); y0:=m(2,1);
r:=(x1-x0)^2+(y1-y0)^2;

// build string
str:="(x-"+x0+")^2+(y-"+y0+
")^2="+r;

MSGBOX(str);
RETURN {x0,y0,√r};

END;



TI-84 Plus Program:  CIRCBY3

Disp "CIRCLE BY 3 PTS."
Input "X1:",D
Input "Y1:",E
Input "X2:",F
Input "Y2:",G
Input "X3:",H
Input "Y3:",I
0.5*((D-H)*(D+H)+(E-I)*(E+I))→A
0.5*((D-F)*(D+F)+(E-G)*(E+G))→B
[[D-H,E-I][D-F,E-G]]^-1*[[A][B]]→[A]
[A](1,1)→X
[A](2,1)→Y
√((D-X)²+(E-Y)²)→R
Disp "{X0,Y0,R}:"
Pause {X,Y,R}

Test Example:
(x1, y1):  (2, 4)
(x2, y2):  (0, 2)
(x3, y3):  (-1, 3)

Result:
x0 = 0.5
y0 = 3.5
r = 1.58113883008

(x – 0.5)^2 + (y – 3.5)^2 = 2.5

Source:
“Circle Determined by Three Applications” HP-34C Mathematics Applications.  Hewlett Packard, 1979

This blog is property of Edward Shore, 2016.





HP 20S: Acoustics Programs

HP 20S: Acoustics Programs Program A: Speed of Sound in Dry Air cs = 20.05 × √(273.15 + T°C) Code: 01: 61, 41, A: LBL A 02: ...