A cleaned up version
randomize timer()
do
x1=rnd(screen width())
y1=rnd(screen Height())
x2=rnd(screen width())
y2=rnd(screen Height())
x3=rnd(screen width())
y3=rnd(screen Height())
cls
ink rgb (255,255,255),0
line x1,y1,x2,y2
line x2,y2,x3,y3
line x3,y3,x1,y1
ink RGB(0,255,0),0
Circumcircle(x1,y1,x2,y2,x3,y3)
wait key
loop
Function Circumcircle(ax,ay,bx,by,cx,cy)
D = 2*( (ay* cx) + (by * ax) - (by* cx) -(ay* bx) -(cy* ax) + (cy* bx ))
px =((by * ax^2) - (cy * ax^2) - (by^2 * ay) + (cy^2 * ay) + (bx^2 * cy) + (ay^2* by) + (cx^2 * ay) - (cy^2 * by) - (cx^2 * by) - (bx^2 * ay) + (by^2 * cy) - (ay^2 * cy ) )/ D
py =(( ax^2 *cx) + (ay^2 * cx) + (bx^2 *ax) - (bx^2 *cx) + (by^2 *ax) - (by^2 *cx) - (ax^2 *bx) - (ay^2 *bx) - (cx^2 *ax) + (cx^2 *bx) - (cy^2 *ax) + (cy^2 *bx)) / D
r =sqrt( (ax - px)^2 + (ay - py)^2)
Line px-3,py,px+3,py
Line px,py-3,px,py+3
circle px,py,r
endfunction
System
PIII 650 MZ H.P. Pavillion
394 Mem GeForce 4 400MX