Home » Archimedes archive » Archimedes World » AW-1994-02-Disc1.adf » Disk1Feb94 » !AWFeb94/Goodies/Basic/Flatness/Flatness1
!AWFeb94/Goodies/Basic/Flatness/Flatness1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1994-02-Disc1.adf » Disk1Feb94 |
Filename: | !AWFeb94/Goodies/Basic/Flatness/Flatness1 |
Read OK: | ✔ |
File size: | 0187 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
1MODE MODE 2ORIGIN 400,512 3NoOfSteps%=1 4REPEAT 5 PRINT TAB(0,0);"Number of steps=";NoOfSteps% 6 PROCBezier(0,0,0,200,400,200,400,0) 7 NoOfSteps%=2*NoOfSteps% 8 x$=GET$ 9UNTIL FALSE 10END 11 12DEF PROCBezier(X%,Y%,a%,b%,c%,d%,x%,y%) 13FOR t=0 TO 1 STEP 1/NoOfSteps% 14 u=X%*(1-t)^3+a%*3*t*(1-t)^2+c%*3*t^2*(1-t)+x%*t^3 15 v=Y%*(1-t)^3+b%*3*t*(1-t)^2+d%*3*t^2*(1-t)+y%*t^3 16 IF t=0 THEN MOVE u,v ELSE DRAW u,v 17NEXT 18ENDPROC 19
� � ȑ 400,512 NoOfSteps%=1 � * � �0,0);"Number of steps=";NoOfSteps% % �Bezier(0,0,0,200,400,200,400,0) NoOfSteps%=2*NoOfSteps% x$=� � � � &� �Bezier(X%,Y%,a%,b%,c%,d%,x%,y%) � t=0 � 1 � 1/NoOfSteps% 6 u=X%*(1-t)^3+a%*3*t*(1-t)^2+c%*3*t^2*(1-t)+x%*t^3 6 v=Y%*(1-t)^3+b%*3*t*(1-t)^2+d%*3*t^2*(1-t)+y%*t^3 � t=0 � � u,v � � u,v � � �
00000000 0d 00 01 07 eb 20 eb 0d 00 02 0e c8 91 20 34 30 |..... ....... 40| 00000010 30 2c 35 31 32 0d 00 03 10 4e 6f 4f 66 53 74 65 |0,512....NoOfSte| 00000020 70 73 25 3d 31 0d 00 04 05 f5 0d 00 05 2a 20 f1 |ps%=1........* .| 00000030 20 8a 30 2c 30 29 3b 22 4e 75 6d 62 65 72 20 6f | .0,0);"Number o| 00000040 66 20 73 74 65 70 73 3d 22 3b 4e 6f 4f 66 53 74 |f steps=";NoOfSt| 00000050 65 70 73 25 0d 00 06 25 20 f2 42 65 7a 69 65 72 |eps%...% .Bezier| 00000060 28 30 2c 30 2c 30 2c 32 30 30 2c 34 30 30 2c 32 |(0,0,0,200,400,2| 00000070 30 30 2c 34 30 30 2c 30 29 0d 00 07 1c 20 4e 6f |00,400,0).... No| 00000080 4f 66 53 74 65 70 73 25 3d 32 2a 4e 6f 4f 66 53 |OfSteps%=2*NoOfS| 00000090 74 65 70 73 25 0d 00 08 09 20 78 24 3d be 0d 00 |teps%.... x$=...| 000000a0 09 07 fd 20 a3 0d 00 0a 05 e0 0d 00 0b 04 0d 00 |... ............| 000000b0 0c 26 dd 20 f2 42 65 7a 69 65 72 28 58 25 2c 59 |.&. .Bezier(X%,Y| 000000c0 25 2c 61 25 2c 62 25 2c 63 25 2c 64 25 2c 78 25 |%,a%,b%,c%,d%,x%| 000000d0 2c 79 25 29 0d 00 0d 1c e3 20 74 3d 30 20 b8 20 |,y%)..... t=0 . | 000000e0 31 20 88 20 31 2f 4e 6f 4f 66 53 74 65 70 73 25 |1 . 1/NoOfSteps%| 000000f0 0d 00 0e 36 20 75 3d 58 25 2a 28 31 2d 74 29 5e |...6 u=X%*(1-t)^| 00000100 33 2b 61 25 2a 33 2a 74 2a 28 31 2d 74 29 5e 32 |3+a%*3*t*(1-t)^2| 00000110 2b 63 25 2a 33 2a 74 5e 32 2a 28 31 2d 74 29 2b |+c%*3*t^2*(1-t)+| 00000120 78 25 2a 74 5e 33 0d 00 0f 36 20 76 3d 59 25 2a |x%*t^3...6 v=Y%*| 00000130 28 31 2d 74 29 5e 33 2b 62 25 2a 33 2a 74 2a 28 |(1-t)^3+b%*3*t*(| 00000140 31 2d 74 29 5e 32 2b 64 25 2a 33 2a 74 5e 32 2a |1-t)^2+d%*3*t^2*| 00000150 28 31 2d 74 29 2b 79 25 2a 74 5e 33 0d 00 10 1a |(1-t)+y%*t^3....| 00000160 20 e7 20 74 3d 30 20 8c 20 ec 20 75 2c 76 20 8b | . t=0 . . u,v .| 00000170 20 df 20 75 2c 76 0d 00 11 05 ed 0d 00 12 06 e1 | . u,v..........| 00000180 20 0d 00 13 04 0d ff | ......| 00000187