Code: Select all
dim as single c1 , c2
dim as single s1 , s2
dim as single x1 , x2
dim as single y1 , y2
dim as single deg1 , deg2
dim as single rad1
dim as single rad2
dim as integer xctr, yctr, radius, divisions, fullcircle, toggle
dim as integer xres , yres
'screen 19
screeninfo xres , yres
screenres xres , yres , 8 , 1 , 8
xctr = ( xres / 2 ) '- 150
yctr = ( yres / 2 ) ' - 100
radius = ( xres * yres ) / ( (xres + yres ) * 4 )
radius = 50
divisions = 45
rad1 = atn( 1 ) / divisions
rad2 = atn( 1 ) / ( divisions / 2 )
fullcircle = atn( 1 ) * 8 / rad1
do
for deg1 = 0 to fullcircle step 1
c1=cos( deg1 * rad1 * 45 )
s1=sin( deg1 * rad1 * 45 )
x1=radius * c1 ^ 2 * atan2( deg1 * s1 , c1 / s1 ) / ( s1 ^ 4 )
y1=radius * s1 ^ 2 * atan2( deg1 * c1 , s1 / c1 ) / ( c1 ^ 2 )
for deg2 = 0 to fullcircle step .5
c2=cos( deg2 * rad2 )
s2=sin( deg2 * rad2 )
x2=radius * c2 * c1 * atan2( deg2 , c1 * 90 ) / ( s1 ^ 4 )
y2=radius * s2 * s1 * atan2( deg2 , s1 * 90 ) / ( c1 ^ 2 )
pset(xctr+x1+x2,yctr+y1+y2),9
pset(xctr-x1-x2,yctr+y1+y2),9
pset(xctr+x1+x2,yctr-y1-y2),9
pset(xctr-x1-x2,yctr-y1-y2),9
next
next
loop until inkey <>""