分形介绍
分形是一个悖论。
它惊人的简单,却又无限的复杂。
它很新,却又比尘埃更古老。
分形是什么?它们是从哪里来的?我们为什么要在乎?
20世纪非传统的数学家Benoit Mandelbrot在1975年从拉丁词fractus(意思是不规则的或破碎的)创造了分形这个词。
我们周围到处都可以看到分形的影子。
从最基本的角度看,分形是重复模式或公式的视觉表达,开始时很简单,然后逐渐变得更复杂。
在数学中,分形是欧氏空间的子集,其分形维数严格超过其拓扑维数。
分形在不同的尺度上表现相同,如Mandelbrot集合的连续放大。
分形通常在越来越小的尺度上表现出类似的模式,这种特性称为自相似性,也称为扩展对称或展开对称。
如果这种复制在每个尺度上都完全相同,就像在门格尔海绵中一样,那么它就被称为仿射自相似。
分形几何属于度量理论的数学分支。
分形结果
分形源码
#coding=utf-8importturtleimportrandomimporttimeCOLOR_TABLES=[["#000000","#000000","#000000","#000000"],["#00649F","#97ECC5","#00DBE7","#01AAC1"],["#085F63","#EF255F","#FCCF4D","#49BEB7"],["#9B5D73","#FFF1C5","#C38B8B","#B0757C"],["#F0F0F0","#FC5185","#364F6B","#43DDE6"],["#F67280","#355C7D","#6C5B7B","#C06C84"],["#F3ECC8","#0D1B4C","#3F6699","#78C2C3"]]window=turtle.Screen()window.screensize()window.setup(width=1.0,height=1.0,startx=None,starty=None)turtle.speed(0)turtle.hideturtle()turtle.tracer(0)turtle.bgcolor('white')defbox(boxSize):turtle.begin_fill()#0deg.turtle.forward(boxSize)turtle.left(90)#90deg.turtle.forward(boxSize)turtle.left(90)#180deg.turtle.forward(boxSize)turtle.left(90)#270deg.turtle.forward(boxSize)turtle.end_fill()turtle.setheading(0)defmove_box(xy,length,color):(x,y)=xyturtle.color(color)turtle.penup()turtle.goto(x,y)turtle.pendown()box(length)defdraw_all(xy,length,depth,color_table):ifdepth<=0:returnlength3=length/3(x,y)=xypos1_9=[(x-length3*2,y+length+length3),(x+length3,y+length+length3),(x+length+length3,y+length+length3),(x-length3*2,y+length3),(x+length+length3,y+length3),(x-length3*2,y-length3*2),(x+length3,y-length3*2),(x+length+length3,y-length3*2)]forposinpos1_9:move_box(pos,length3,color_table[depth%len(color_table)])draw_all(pos,length3,depth-1,color_table)defSierpinski():length=270start_x=-length/2start_y=-length/2depth=3forcolor_tableinCOLOR_TABLES:move_box((start_x,start_y),length,color_table[0])draw_all((start_x,start_y),length,depth,color_table)time.sleep(1)#time.sleep(6)Sierpinski()
分形视频
--EOF--
例行求粉,谢谢!