Saturday, January 9, 2021

TI 84 Plus: Plotting Circular Arcs with Just Two Points

 TI 84 Plus: Plotting Circular Arcs with Just Two Points


Introduction




Knowing two points (x0, y0) and (x1, y1), we can draw a circular arc between two points.  We are going to assume that the points form the diameter of the circle.  Therefore, either point forms the radius along with the line's midpoint.   The midpoint between the points, labeled (A,B) is:


A = (x0 + x1) / 2, B = (y0 + y1) / 2


With the radius:


R = √((A - x0)^2 + (B - y0)^2) = √((x1 - A)^2 + (y1 - B)^2)


Set the parametric equations as:


x = R * (cos(t) + A / R)

y = R * (sin(t) + B / R)


With t being the range of required angle measure (θ), we have to determine the start and end points for the range of values for t.  Since (A, B) may not be the origin, we must take it into account the midpoint in determining the angle points:


t0 = atan((B - y0) / (A - x0)) mod 2*π

t1 = atan((y1 - B) / (x1 - A)) mod 2*π


The program ARC2PTS for the TI-84 Plus makes use the complex number functions abs and angle to determine radius and the angles, respectively.


TI-84 Plus Program: ARC2PTS


"2020-12-20 EWS"

Radian

a+bi

Param

FnOff 

Input "X0? ",J

Input "Y0? ",K

Input "X1? ",L

Input "Y1? ",M

(J+L)/2→A

(K+M)/2→B

angle((A-J)+i(B-K))→C

If C<0:C+2π→C

angle((A-L)+i(B-M))→D

If D<0:D+2π→D

abs((A-J)+i(B-K))→R

"R(cos(T)+A/R)"→X₁T

"R(sin(T)+B/R)"→Y₁T

Menu("DIRECTION","TOP",1,"BOTTOM",2)

Lbl 1

min(C,D)→Tmin

max(C,D)→Tmax

Goto 3

Lbl 2

max(C,D)→Tmin

min(C,D)+2π→Tmax

Goto 3

Lbl 3

π/64→Tstep

ZoomFit

ZSquare


Examples


Example 1


Points:  (1,3) and (5,9), top part of the circle




Example 2


Points:  (-5, -8) and (-1, -7), bottom part of the circle




Eddie


All original content copyright, © 2011-2021.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Casio fx-CG50 and Swiss Micros DM32: HP 16C’s Bit Summation

  Casio fx-CG50 and Swiss Micros DM32: HP 16C’s Bit Summation The HP 16C’s #B Function The #B function is the HP 16C’s number of...