|
25 Years of Programming
An open source source for C, C++, OWL, BASIC, MDB, XLS, DOT, and more... |
Home Projects Up Sitemap Search Blog Forum+Chat About Us Privacy Terms of Use Feedback FAQ Images Services Ads Donate Humor |
10 'CHAOSGAM.BAS 3-26-90 PLAYS THE CHAOS GAME BY CREATING FRACTAL SHAPES. 11 'COPYRIGHT (C)1990 STEVEN WHITNEY. 12 'Published under GNU GPL (General Public License) Version 2, with ABSOLUTELY NO WARRANTY. 17 'USES A RANDOM WALK TO GENERATE AREAS WITH FRACTAL BOUNDARIES. 18 'I THINK MICHAEL BARNSLEY COINED THE PHRASE CHAOS GAME. 19 'QUIT WITH CTRL-C OR CTRL-BREAK 20 CLS 30 RNDM = TIMER / 3 40 RANDOMIZE 45 'SCREEN 12 : 'ENABLE FOR IBM BASIC 50 CLS 60 WINDOW (-319, -112)-(320, 111) 70 X = 0: Y = 0 80 INCR = 1 90 YINCR = INCR * 224 / 639 110 'LOOP ENTRY POINT 120 COLOUR = 4 130 PSET (X, Y), COLOUR 140 M = INT(RND * 8) 160 IF M = 0 THEN Y = Y + YINCR 170 IF M = 1 THEN Y = Y - YINCR 180 IF M = 2 THEN X = X + INCR 190 IF M = 3 THEN X = X - INCR 191 IF M = 4 THEN X = X + INCR: Y = Y + YINCR 192 IF M = 5 THEN X = X + INCR: Y = Y - YINCR 193 IF M = 6 THEN X = X - INCR: Y = Y + YINCR 194 IF M = 7 THEN X = X - INCR: Y = Y - YINCR 200 IF ABS(Y) >= 111 OR ABS(X) >= 319 THEN 220 210 GOTO 110 220 LOCATE 1, 1: PRINT RNDM: BEEP: BEEP: BEEP: BEEP: BEEP: END These variations were mainly for experimenting with the parameters. 10 'DONUT.BAS 3-27-90 11 'COPYRIGHT (C)1990 STEVEN WHITNEY. 12 'Published under GNU GPL (General Public License) Version 2, with ABSOLUTELY NO WARRANTY. 13 'ANOTHER CHAOS GAME, POLAR COORDINATES, MAKES A DONUT SHAPE. 14 'QUIT WITH CTRL-C OR CTRL-BREAK 15 'SCREEN 12 : 'ENABLE FOR IBM BASICA 20 PI = 3.1415926# 30 'CONVERT FROM RECTANGULAR TO POLAR 40 'GET DISTANCE 50 DEF FNA (X, Y) = SQR(X * X + Y * Y) 60 'GET THETA 70 DEF FNB (X, Y) = ATN(Y / X) 80 'CONVERT FROM POLAR TO RECTANGULAR 90 'GET X 100 DEF FNC (D, THETA) = D * COS(THETA) 110 'GET Y 120 DEF FND (D, THETA) = D * SIN(THETA) 130 CLS 140 RANDOMIZE 150 CLS 160 WINDOW (-300, -300)-(300, 300) 170 D = 0 180 THETA = .1 190 COLOUR = 4 200 'LOOP ENTRY POINT 210 PSET (FNC(D, THETA), FND(D, THETA)), COLOUR 220 M = INT(RND * 2) 230 IF M = 0 THEN THETA = THETA + .25: D = D + 10 240 IF M = 1 THEN D = D * .9: THETA = THETA - .4 250 GOTO 200 10 'POLARCHA.BAS 3-27-90 11 'COPYRIGHT (C)1990 STEVEN WHITNEY. 12 'Published under GNU GPL (General Public License) Version 2, with ABSOLUTELY NO WARRANTY. 13 'CHAOS GAME USING POLAR COORDINATES 14 'QUIT WITH CONTROL-C OR CONTROL-BREAK. 15 'SCREEN 12 : 'ENABLE FOR IBM BASICA 20 'CONVERT FROM RECTANGULAR TO POLAR 30 'GET DISTANCE 40 DEF FNA (X, Y) = SQR(X * X + Y * Y) 50 'GET THETA 60 DEF FNB (X, Y) = ATN(Y / X) 70 'CONVERT FROM POLAR TO RECTANGULAR 71 'GET X 72 DEF FNC (D, THETA) = D * COS(THETA) 73 'GET Y 74 DEF FND (D, THETA) = D * SIN(THETA) 80 CLS 90 RNDM = TIMER / 3 100 RANDOMIZE 110 CLS 120 WINDOW (-319, -239)-(320, 239) 130 D = 20 131 THETA = .39 150 YINCR = INCR * 479 / 639 160 'LOOP ENTRY POINT 170 COLOUR = 4 180 PSET (FNC(D, THETA), FND(D, THETA)), COLOUR 190 M = INT(RND * 2) 200 IF M = 0 THEN THETA = THETA + .1: D = D + 10 210 IF M = 1 THEN D = D / 2 290 GOTO 160 300 LOCATE 1, 1: PRINT RNDM: BEEP: BEEP: BEEP: BEEP: BEEP: END
|
|
|
|
|
|