What did we learn before? 1 line and segment generation 2 Filled region 3 Curves and surfaces 4 5 6 Geometric Transformations 7 clipping 8 9 3D modeling 10 11 Review : Regular objects’ representation: Euclidean-geometry methods. Irregular objects’ representation: Fractal-geometry methods. 12 Chapter 8 Fractal Geometry 分形几何 13 8.1 what are fractals some pictures and animation films 14 Definitions of fractals 1. B.B.Mandelbrot (In 1982) A fractal is by definition a set for which the HausdorffBesicovitch dimension strictly exceeds the topological dimension. 强调维数不是整数,是分数,又称分数维 15 Koch curve similarity dimension is 1.26 16 17 18 middle third Cantor set similarity dimension: 0.68 19 Sierpinski triangle similarity dimension : 1.58 20 21 Definitions of fractals 1. B.B.Mandelbrot (In 1982) A fractal is by definition a set for which the HausdorffBesicovitch dimension strictly exceeds the topological dimension. 强调维数不是整数,是分数,又称分数维 2. B.B.Mandelbrot (In 1986) A fractal is shape made of parts similar to the whole in some way. 强调局部与整体自相似性 22 peano n=1 n=3 n=2 n=4 23 24 8.2 Fractal Properties F has a fine structure, ie detail on arbitrarily small scales. F has too irregular to be described in traditional geometrical language, both locally and globally. Often F has some form of self-similarity, perhaps approximate or statistical. Usually, the fractal dimension of F is greater than its topological dimension. In most cases of interest of F is defined in a very simple way, perhaps recursively.(递归迭代) 25 8.3 Fractal Dimension 26 Fractal similarity dimension: ⑴ the straight-line segment scale number (r) (N) 1/2 2 1/3 3 … … 1/n n length 1 1 … 1 1=N·r1 27 ⑵square (s=1) scale number (r) (N) 1/2 4 1/3 9 … … 1/n n2 1=N·r2 area (s) 1 1 … 1 28 ⑶ a cube (v=1) scale number (r) (N) 1/2 23 1/3 33 … … 1/n n3 volume (s) 1 1 … 1 1=N·r3 29 r — scaling factor N — the number of subparts N·rD=1 D=㏒N/ ㏒(1/r) Koch 1 D log 4 / log( 1 / ) 1.261817 1 3 Minkowski D log8/log(1 / 1 ) 1.5 4 30 D log 5 / log 3 1.4640 D log 6 / log 4 1.2924 D log 7 / log 4 1.4036 D log 2 / log 3 0.6309 31 8.4 Geometric Construction of Deterministic Self-Similar Fractals · initiator — start with a given geometric shape · generator — subparts of the initiator are replaced with a pattern 32 initiator generator Basic idea: construction of the von koch each segment in (Fig.1) is replaced by an exact copy of the entire figure, shrunk by a factor of 3. The same process is applied to the segments in (Fig.2) to generate those in (Fig.3). 33 -1200 ② ① (xs , ys) ③ 600 ④ 600 ( xn , yn ) d xn xn 1 d cos yn yn 1 d sin ( xn 1 , yn 1 ) Angle : >0 counterclockwise direction <0 clockwise direction 34 global variables: int th; current value of the angle float x, y; x, y coordinates float d; the length of each segment d=L/mn m: 等分数 n: iteration times 35 Void Generate – koch (n) //n : recursive depth { if (n=0) { x+=d*cos (th*3.14159/180) y+=d*sin (th*3.14159/180) line to (x, y) ; return ; } Generate – koch (n-1); th+=60 ; Generate – koch (n-1); th-=120 ; Generate – koch (n-1); th+=60 ; Generate – koch (n-1); } 36 n=0 d=L th=0 x=0 y=0 Generate – koch (0) x=d , y=0 (0,0) (L,0) 37 th 0 d Generate-koch(0) th+=60; Generate-koch(0) n=1 Generate-koch(1) th-=1200 Generate-koch(0) th+=60 Generate-koch(0) L 1 x0 y0 3 x 0 d cos d y 0 d sin 0 line to th 60 x d y 0 0 x d d cos 60 0 y 0 d sin 60 line to th 60 0 x x d cos th y y d sin th line to th 0 x xd y y0 line to 0 n=0 Generate-koch(0) th+=60 Generate-koch(0) n=2 Generate-koch(2) n=1 Generate-koch(1) th-=1200 Generate-koch(0) th+=600 Generate-koch(0) ……… th=0 x=0 y=0 d=L/32 x=0+dcosth=d y=0+dsinth=0 line to th=60 x=d y=0 x=d+dcosth y=0+dsinth line to th=-600 x=d+dcos600 y=dsin600 x=x+dcosth y=y+dsinth line to th=0 x=x+d y=y+0 line to 39 n=0 Generate-koch(0) th=600 x=x+dcosth y=y+dsinth line to th+=600 th+=600 n=2 Generate-koch(2) Generate-koch(1) Generate-koch(0) th-=1200 Generate-koch(0) th=1200 x=x+dcosth y=y+dsinth line to th=0 x=x+d y=y+0 line to th+=600 Generate-koch(0) ……… th=600 x=x+dcosth y=y+dsinth line to 40 n=0 Generate-koch(0) th=-600 x=x+dcosth y=y+dsinth line to th+=600 th-=1200 n=2 Generate-koch(2) Generate-koch(1) Generate-koch(0) th+=1200 Generate-koch(0) th=0 x=x+d y=y+0 line to th=-1200 x=x+dcosth y=y+dsinth line to th+=600 Generate-koch(0) ……… th=-600 x=x+dcosth y=y+dsinth line to 41 n=0 Generate-koch(0) th=0 x=x+d y=y+0 line to th+=600 Generate-koch(0) th+=600 n=2 Generate-koch(2) th-=1200 Generate-koch(1) Generate-koch(0) th=600 x=x+dcosth y=y+dsinth line to th=-600 x=x+dcosth y=y+dsinth line to th+=600 Generate-koch(0) th=0 x=x+d y=y+0 line to 42 43 other kinds of Koch ③ ① ② ③ ④ ⑤ ⑥ ② ⑨ ⑧ ⑦ D=㏒N/ ㏒(1/r)= ㏒9/ ㏒3=2 ① ④ ⑧ ⑤ ⑦ ⑥ D= ㏒8/ ㏒4=1.5 45 peano n=1 n=3 n=2 n=4 46 6 Questions Map plotting based on fractal curves 47 48 49 种植果树的山坡(韩云萍) 50 (a) (b) 果实和果树的构造(韩云萍) 51 1967年,美国《科学》杂志提出一个问题:英 国海岸线有多长? Mandelbrot 对此问题的回答是:海岸线长度可以认为 是不确定的。 对此问题的分析: 如从高空飞行的飞机往下测量,测得的海岸线长度 为 x1 。 当 从 低 空 飞 行 的 飞 机 测 得 的 海 岸 线 长 度 为 x2,…,越飞越低,测量的精度越来越高,测量值显 然有以下关系:X1<x2<x3<… 如果让一个小虫沿海岸爬行,那末它所经过的曲折 更多,如果用分子、原子来测量,显然测得的Xn是天 文数字。这说明当对研究对象的观察越贴近,越仔细, 那么发现的细节就越多. 52 但是在不同高度观察到的海岸线的曲折、复杂程 度又十分相近,也就是说,海岸线有自相似性。 Mandelbrot用简单的Koch曲线来模拟英国海岸 线比用折线段来逼近海岸线要精确得多。 53 Koch曲线的构造方法: 定义一个源多边形,称为初 始元(initiator),例如一 个直线段;再定义一个生成 多边形,称为生成元( generator).通过几何结构 的迭代,得到的极限曲线就 是一条“处处连续处处不可 微的曲线”.分析一下这条 极限曲线的长度,设直线长 度L为1,有以下结果: 尺度 1/3 1/9 …… 1/3n … 段数 长度 4 4/3 42 (4/3)2 4n (4/3)n 54 当n∞时,长度(4/3) n∞,是一个不 确定值,这就是对“英国海岸线有多长?”的一 个精辟的回答。 55 Measurement of length 56 57