PART 1
So I recently was messing around in SB on my new 3DS, attempting to make a cool looking single screen analog (Hexadecimal) clock.
As you might already know the GCIRCLE command has two modes.
Mode 1: Center point X, Center point Y, Radius, Color Code
Mode 2: Center point X, Center point Y, Radius, Start Angle, End angle, Flag, Color Code
So I drew a (mode 1) circle, and three (mode 2) circles with the flag set to 1 for drawing by Sector.
... GCIRCLE 200,120, 73,RGB(H*7,M*3,S*3) 'inner circle GCIRCLE 200,120, 77,RGB(H*7,M*3,S*3) ' outer circle GPAINT 275,120,RGB(H*3.5,M*1.5,S*1.5) 'fill color S2=S-15 'these adjustments are required to point the M2=M-15 'hands to the north when the base value is 0 H2=H-3 'since the default 0 angle is to the right. GCIRCLE 200,120,60,(S2*6)-1,(S2*6)+1,1,#BLACK GCIRCLE 200,120,55,(M2*6)-3,(M2*6)+3,1,#BLACK GCIRCLE 200,120,35,(h2*30)-4,(H2*30)+4,1,#BLACKNOTE: Yes, I later added the seconds to the minute hand's angle adjustment, for a more accurate moving clock hand. same with the Hour hand and the current minutes. So I had my basic clock face, but I wanted to add something to it. So looking at the information I knew about the Circles I was drawing on the graphics screen, I looked up if there was a way to determine if a point could be located by radius and angle, and of course that is a thing.
X=RADIUS*COS(ANGLE) Y=RADIUS*SIN(ANGLE)Simply plug in values for RADIUS and ANGLE, and you got your output cord for X,Y. (Make sure to add 200 to X and 120 to Y to center on screen.) Well that is nice and boring, lets mix things up a bit. Lets make RADIUS into a timer and have the point move around.
@LOOP GCLS ANGLE=RAD(T) RADIUS=120 X=RADIUS*COS(ANGLE) Y=RADIUS*SIN(ANGLE) GCIRCLE 200+X,120+Y, 20, RGB(20,50,250) GPAINT 200+X,120+Y,RGB(20,50,250) T=T+0.6 IF T>=360 THEN T=T-360 VSYNC 1 GOTO @LOOPOkay! there is now a blue ball orbiting around the screen. Let's have a little fun. add a big orange/yellow circle in the center, and using the formula add a little moon to the blue ball. In my base program the moon radius timer is set to +5.7 (Make certain to ADD the X and Y cords for the Planet to the X and Y cords of the moon!) Here is a version where I added a line from the point of the blue planet, to the point of a half circle around the sun, using GOFS X,Y of the planet to center the camera on the orbiting body. CUTE. Now lets jump into the deep end. unleash the program, by turning off GCLS, GPAINT and VSYNC, and mess with the numbers a bunch. I will share some of my crazy experiments in PART 2, like these monsters: I'll also post the source code for these and you can plug in the XFACTOR values to get the same results. And sadly I don't remember how I made these, but the base program was the same. EDIT: I think these two were made by messing with the angle between the points, and I drew the lines from the center point to the edge of the shape making a circle effect.