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

 

 

Valid HTML 4.01 Transitional Valid CSS
View content labeling at ICRA.
Copyright ©2008 Steven Whitney. Last modified 02/27/2008.