To write 3D rotation programs, it is important that you first understand basic trig and then 2D rotations. I'd start there.

Here's a bit of code I wrote which I lifted off the programming help forum and edited a bit. It spins one circle around the center of the screen.

SCREEN 12 'graphics mode: 640x480

CLS 'clear the screen

radius.center% = 100 'how far from the center the circle spins

DO

'cycle through the 360 degrees of angles

FOR degree.angle% = 0 TO 359

'convert angle from degrees to radians

radian.angle! = degree.angle% * (3.14159# / 180)

'calculate coordinates of circle

circle.x% = 320 + radius.center% * SIN(radian.angle!)

circle.y% = 240 - radius.center% * COS(radian.angle!)

'draw the circle

CIRCLE (circle.x%, circle.y%), 10, 15

'pause a moment

FOR t& = 1 TO 10000: NEXT t&

'erase the circle

CIRCLE (circle.x%, circle.y%), 10, 0

NEXT degree.angle%

'quit program when a key is hit

LOOP UNTIL INKEY$ <> ""

SYSTEM

similarly, you can draw a circle using points:

SCREEN 12 'graphics mode: 640x480

CLS 'clear the screen

radius.center% = 100 'radius of the circle

'cycle through the 360 degrees of angles. 360 degrees = a full circle.

FOR degree.angle! = 0 TO 359 STEP .05

'convert angle from degrees to radians. why?

'because SIN() and COS() only accept angles in radians

'note: 2*pi radians = 360 degrees, so ratio is pi/180

radian.angle! = degree.angle! * (3.14159# / 180)

'calculate coordinates of the point

'note: (320, 240) is the center of the screen

'y value get subtracted because we're used to larger y values being

'at the top of an X-Y graph. but on the screen, larger y values are at

'the bottom of the screen.

point.x% = 320 + radius.center% * SIN(radian.angle!)

point.y% = 240 - radius.center% * COS(radian.angle!)

'draw the point (white)

PSET (point.x%, point.y%), 15

NEXT degree.angle!

SYSTEM

There, the comments in that one are better.

*peace*

Meg.