A bit like this below but without the red arrow.

So if anyone could point me in the direction of some simple SBASIC trigonometry in drawing the arced pie, or even just a second hand, then that would be helpful.
Code: Select all
1000 CLS
1010 MODE 4 : WTV
1020 SCALE 275,-50,-40
1030 SECONDHAND = 80
1040 MINHAND = 65
1050 HOURHAND = 50
1060 OX = 100 : REMark CENTER OF THE CLOCK
1070 OY = 100
1080 RADIUS = 100
1090 REPeat LOOP
1100 FOR HourLoop= 6.2784 TO .10464 STEP -.5232 :REMark in radians
1110 FOR M = 6.2784 TO .10464 STEP -.10464
1120 FOR Sec = 6.2784 TO .10464 STEP -.10464
1130 FOR H2 = 0 TO 5.7552 STEP .5232 :REMark marks all
1140 S4X = OX + ((SECONDHAND + 10) * COS(H2)):REMark face
1150 S4Y = OY + ((SECONDHAND + 10) * SIN(H2)):REMark clock
1160 S5X = OX + ((SECONDHAND + 15) * COS(H2))
1170 S5Y = OY + ((SECONDHAND + 15) * SIN(H2))
1180 LINE S5X, S5Y TO S4X, S4Y
1190 NEXT H2
1200 FOR S2 = .10464 TO 6.2784 STEP .10464
1210 S2X = OX + ((SECONDHAND + 20) * COS(S2))
1220 S2Y = OY + ((SECONDHAND + 20) * SIN(S2))
1230 S3X = OX + ((SECONDHAND + 15) * COS(S2))
1240 S3Y = OY + ((SECONDHAND + 15) * SIN(S2))
1250 LINE S3X, S3Y TO S2X, S2Y
1260 CIRCLE OX, OY, 95
1270 NEXT S2
1280 SecX = OX + (SECONDHAND * COS(Sec))
1290 SecY = OY + (SECONDHAND * SIN(Sec))
1300 MinX = OX + (MINHAND * COS(M))
1310 MinY = OY + (MINHAND * SIN(M))
1320 HourX = OX + (HOURHAND * COS(HourLoop))
1330 HourY = OY + (HOURHAND * SIN(HourLoop))
1340 INK 4
1350 LINE OX, OY TO SecX, SecY :REMark Second hand
1360 INK 7
1370 LINE OX, OY TO MinX, MinY :REMark MINUTE hand
1380 CIRCLE MinX, MinY,5
1390 LINE OX, OY TO HourX, HourY :REMark HOUR hand
1400 CIRCLE HourX, HourY, 5
1410 CIRCLE OX, OY, RADIUS
1420 CIRCLE OX, OY, RADIUS + 10
1430 INK 4
1440 CIRCLE OX, OY, 5
1450 REMark BEEP 50,200
1460 REMark PAUSE 10
1470 REMark CLS
1480 OVER -1
1490 NEXT Sec
1500 NEXT M
1510 NEXT HourLoop
1520 END REPeat LOOP
1530 :
1540 :
1550 DEFine PROCedure S
1560 SAVE flp5_Countdown_BAS
1570 END DEFine
1580 :
1590 :
Code: Select all
1000 CLS
1010 MODE 4 : WTV
1020 SCALE 275,-50,-40
1030 SECONDHAND = 80
1040 MINHAND = 65
1050 HOURHAND = 50
1060 OX = 100 : REMark CENTER OF THE CLOCK
1070 OY = 100
1080 RADIUS = 100
1090 REPeat LOOP
1100 FOR HourLoop= 6.2784 TO .10464 STEP -.5232 :REMark in radians
1110 FOR M = 6.2784 TO .10464 STEP -.10464
1120 FOR Sec = 6.2784 TO .10464 STEP -.10464
1125 realHourLoop = HourLoop+PI/2
1127 realM=M+PI/2
1128 realSec=Sec+PI/2
1130 FOR H2 = 0 TO 5.7552 STEP .5232 :REMark marks all
1140 S4X = OX + ((SECONDHAND + 10) * COS(H2)):REMark face
1150 S4Y = OY + ((SECONDHAND + 10) * SIN(H2)):REMark clock
1160 S5X = OX + ((SECONDHAND + 15) * COS(H2))
1170 S5Y = OY + ((SECONDHAND + 15) * SIN(H2))
1180 LINE S5X, S5Y TO S4X, S4Y
1190 NEXT H2
1200 FOR S2 = .10464 TO 6.2784 STEP .10464
1210 S2X = OX + ((SECONDHAND + 20) * COS(S2))
1220 S2Y = OY + ((SECONDHAND + 20) * SIN(S2))
1230 S3X = OX + ((SECONDHAND + 15) * COS(S2))
1240 S3Y = OY + ((SECONDHAND + 15) * SIN(S2))
1250 LINE S3X, S3Y TO S2X, S2Y
1260 CIRCLE OX, OY, 95
1270 NEXT S2
1280 SecX = OX + (SECONDHAND * COS(realSec))
1290 SecY = OY + (SECONDHAND * SIN(realSec))
1300 MinX = OX + (MINHAND * COS(realM))
1310 MinY = OY + (MINHAND * SIN(realM))
1320 HourX = OX + (HOURHAND * COS(realHourLoop))
1330 HourY = OY + (HOURHAND * SIN(realHourLoop))
1340 INK 4
1350 LINE OX, OY TO SecX, SecY :REMark Second hand
1360 INK 7
1370 LINE OX, OY TO MinX, MinY :REMark MINUTE hand
1380 CIRCLE MinX, MinY,5
1390 LINE OX, OY TO HourX, HourY :REMark HOUR hand
1400 CIRCLE HourX, HourY, 5
1410 CIRCLE OX, OY, RADIUS
1420 CIRCLE OX, OY, RADIUS + 10
1430 INK 4
1440 CIRCLE OX, OY, 5
1450 REMark BEEP 50,200
1460 REMark PAUSE 10
1470 REMark CLS
1480 OVER -1
1490 NEXT Sec
1500 NEXT M
1510 NEXT HourLoop
1520 END REPeat LOOP
1530 :
1540 :
1550 DEFine PROCedure S
1560 SAVE flp5_Countdown_BAS
1570 END DEFine
1580 :
Code: Select all
1085 clockDrawn = 0
1129 IF clockDrawn: GO TO 1280
1275 clockDrawn = 1
RWAP wrote:WIthout a proper machine code paint routine having a complete circle that reduces is not easy (FILL won't work on certain shapes) - but if you run the routine once to draw the seconds on screen and then allow them to be removed on the next pass, that will give a good indication of time reducing...
There are quite a few Toolkits, which have a separate "Paint" keyword. Perhaps this helps.RWAP wrote:WIthout a proper machine code paint routine having a complete circle that reduces is not easy (FILL won't work on certain shapes) - but if you run the routine once to draw the seconds on screen and then allow them to be removed on the next pass, that will give a good indication of time reducing...
Code: Select all
1000 CLS
1010 MODE 4
1020 SCALE 275,-50,-40
1030 SECONDHAND = 80
1040 OX = 100 : REMark CENTER OF THE CLOCK
1050 OY = 100
1060 RADIUS = 80
1065 INK 2
1070 :
1080 :
1090 FOR S2 = .10464 TO 6.2784 STEP .10464
1100 S2X = OX + ((SECONDHAND + 11) * COS(S2))
1110 S2Y = OY + ((SECONDHAND + 11) * SIN(S2))
1120 S3X = OX + ((SECONDHAND + 4) * COS(S2))
1130 S3Y = OY + ((SECONDHAND + 4) * SIN(S2))
1140 LINE S3X, S3Y TO S2X, S2Y
1150 CIRCLE OX, OY, RADIUS+10
1160 NEXT S2
1170 :
1180 INK 4
1190 REMark CIRCLE OX, OY, RADIUS
1200 INK 2
1210 CIRCLE OX, OY, RADIUS
1230 :
1250 FOR Sec = 1.5696 TO -1.5696 STEP -.10464
1252 PAUSE 40
1260 SecX = OX + (SECONDHAND * COS(Sec))
1270 SecY = OY + (SECONDHAND * SIN(Sec))
1280 LINE OX, OY TO SecX, SecY
1290 BEEP 20,5
1300 IF Sec< 1.5 THEN
1305 FILL 1
1310 LINE OX, OY TO SecX, SecY TO OldSecX, OldSecY TO OX, OY
1315 FILL 0
1320 END IF
1340 OldSecX = SecX : OldSecY = SecY
1350 END FOR Sec
1360 BEEP 10000,25,150,400,5,0,0
1370 :
1380 :
1390 DEFine PROCedure S
1400 SAVE flp5_Countdown_BAS
1410 END DEFine
1420 :
1430 :