Fractal-Geometry Methods

advertisement
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
x0 y0
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  xd
y  y0
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
Download