Here is a different way of making something move in a circle. It is written in blitzbasic/blitz3d code as I don't have blitzmax but I am sure it could easily be ported (it is only a few lines after all)
Graphics 800,600,32,2 SetBuffer BackBuffer() planetx#=400 planety#=300 moonx#=400 moony#=250 moonax#=(planetx-moonx)/250.0 moonay#=(planety-moony)/250.0 moonvx#=3.0 moonvy#=0 Repeat Cls moonx=moonx+moonvx*0.5+(moonvx+moonax*0.5+(planetx-moonx)/1024.0)*0.5 moony=moony+moonvy*0.5+(moonvy+moonay*0.5+(planety-moony)/1024.0)*0.5 moonvx=(moonvx+moonax*0.5+(planetx-moonx)/1024.0) moonvy=(moonvy+moonay*0.5+(planety-moony)/1024.0) moonax#=(planetx-moonx)/512.0 moonay#=(planety-moony)/512.0 Color 0,100,200 Oval planetx,planety,4,4,1 Color 100,100,100 Oval moonx,moony,2,2,1 dist=((planetx-moonx)^2+(planety-moony)^2) If dist>maxdist Then maxdist=dist Color 255,255,255 Text 0,0,maxdist Flip Until KeyDown(1)