stairs Art/Electric
IF-SYSTEMS
programs 1
 
polygons
carpets
koch curve
heighway dragon
gray code dragon
circular fractal
circular sierpinski
 
e-mail
CIRCULAR FRACTAL IFS
ortho fractal
mousover for square circular fractal

PROGRAM CIRCULAR_FRACTAL   !Basic Version © W.van Duyn 21st MAY 2004
SET MODE "color"
SET WINDOW 0,1199,0,903
SET BACKGROUND COLOR "white"
PRINT "input order,try 3 or 4, scale try 160 "
INPUT m,f
CLEAR
SET COLOR 16
BOX AREA 0,1199,0,903
SET BACKGROUND COLOR "black"
SET COLOR "white"
PRINT "Circular Fractals"
LET x=1
LET y=1
DIM xm(0 to 16),ym(0 to 16)
FOR i=0 to m
LET xm(2*i)=cos(2*pi*(i+1)/m)
LET ym(2*i)=sin(2*pi*(i+1)/m)
NEXT i
FOR j=0 to m
LET xm(2*j+1)=(cos(2*pi*(j+1)/m)+cos(2*pi*j/m))/2
LET ym(2*j+1)=(sin(2*pi*(j+1)/m)+sin(2*pi*j/m))/2
NEXT j
RANDOMIZE
FOR n= 1 TO 1000000
LET a = INT(RND*2*m+1)
LET xx=(x/(x^2 + y^2))/3 + xm(a)
LET yy=(y/(x^2 + y^2))/3 + ym(a)
LET x=xx/(xx^2 + yy^2)
LET y=yy/(xx^2 + yy^2)
CALL colorTable(a,m)
IF n >100 THEN PLOT 600+f*x,450+f*y
NEXT n
END

SUB colorTable(a,m)
SET COLOR MIX (a+100) 1,1-a/2*m,a/2*m
SET COLOR MIX (2*a+100) a/2*m,1,1-a/2*m
SET COLOR MIX (3*a+100) 1-a/2*m,a/2*m,1
SET COLOR MIX (4*a+100) 1-a/2*m,0,1
SET COLOR MIX (5*a+100) 1,1-a/2*m,0
SET COLOR MIX (6*a+100) 0,1,1-a/2*m
IF MOD(a,m)=0 THEN SET COLOR a+100
IF MOD(a,m)=1 THEN SET COLOR 2*a+100
IF MOD(a,m)=2 THEN SET COLOR 3*a+100
IF MOD(a,m)=3 THEN SET COLOR 4*a+100
IF MOD(a,m)=4 THEN SET COLOR 5*a+100
IF MOD(a,m)=5 THEN SET COLOR 6*a+100
END SUB


Website, Text and Some Images Copyright © 2002 tzingaro.com, all rights reserved.