Is this what your looking for ?
Graphics 640, 480, 32, 2 SetBuffer BackBuffer() x1#=320 y1#=240 r#=100 While Not KeyHit(1) x2# = MouseX() y2# = MouseY() r# = Abs(MouseZ()*3)+rf# q# = Sqr( ((x1 - x2)*(x1 -x2)) + ((y1 - y2)*(y1 - y2))) rf#=q#*.5 x3#=(x1+x2)/2 y3#=(y1+y2)/2 x# = x3 + Sqr(r^2-(q/2)^2)*(y1-y2)/q y# = y3 + Sqr(r^2-(q/2)^2)*(x2-x1)/q angleToStart#=ATan2(y1#-y#,x1#-x#) angleToEnd#=ATan2(y2#-y#,x2#-x#) LockBuffer() For t# = 0 To 1 Step .01 angle# = angleToStart + ( angleToEnd - angleToStart ) * t WritePixel x + Cos( angle ) * r , y + Sin( angle ) * r , $FFFFFF Next UnlockBuffer() Text 10,10,x Text 10,20,y Text 10,30,"Start Angle: "+angletostart Text 10,40,"End Angle: "+angletoend Text 10,50,"radius: " + r Flip 0 Cls Wend End