Fractal DimensionRon GoldmanDepartment of Computer ScienceRice UniversityDimension and Subdivision€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ •€ # parts = 2€ # parts = 4 = 22€ # parts = 8 = 23€ Dimension =1€ Dimension = 2€ Dimension = 3Dimension and LogarithmDimension and Subdivision•€ D = Log2(E)-- E = the number of equal scaled down parts. Dimension and Subdivision -- Revisited•€ D = LogN(E) =Log(E)Log(N)-- E = the number of equal scaled down parts-- N = number of line segments along each edge Dimension Formula•€ D = −Log(E)Log(S)-- E = the number of equal scaled down parts--€ S = 1 / N = scaling along each edgeExamplesLineE = NS = 1/ ND = −Log(E)Log(S)= −Log(N)Log(1/ N)= 1SquareE = N2 S = 1/ ND = −Log(E)Log(S)= −Log(N2)Log(1/ N)= 2CubeE = N3 S = 1/ ND = −Log(E)Log(S)= −Log(N3)Log(1/ N)= 3Self Similar FractalsSelf SimilarA curve (surface, solid) is self-similar if it can be subdivided into a collection of subsets that are scaled versions of the original curve (surface, solid).Form Follows FunctionRecursion is used to Express Self-SimilarityFractal DimensionD = −Log(E)Log(S)• D = dimension• E = number of equal (self-similar) parts• S = scale factorFractal Dimension and Recursive Turtle ProgramsFractal Dimension•D = −Log(E)Log(S)-- E = number of equal self-similar parts-- S = scaling along each directionFractal Dimension and Recursive Turtle Programs•€ E =# Recursive Calls•€ S = Scale Factor•€ D = −Log # Recursive Calls( )Log Scale Factor( )Strange CurvesFractals• Curves with Dimension > 1 • Curves Continuous Everywhere, but Differentiable Nowhere• Closed Curves with Infinite Length and Enclosing Finite Area• Curves that Fill SpaceSierpinski Gasket• Each corner triangle is scaled by 1/2 -- scale factor.• Number of triangles goes up by a factor of 3 -- recursive calls.Sierpinski GasketRecursive Turtle ProgramSierpinski(Level)If Level = 0, Draw a TriangleElse Repeat 3 TimesRESIZE 1/2Sierpinski(Level–1)RESIZE 2MOVE 1TURN € 2π/3Fractal Dimension€ E = 3 S =1/2D = −Log(E)Log(S)= −Log(3)Log(1/ 2)=Log(3)Log(2)⇒ 1 < D < 2Koch SnowflakeKoch Curve Koch SnowflakeKoch SnowflakeKoch(Level) If Level = 0, FORWARD 1ElseRESIZE 1/3Koch(Level-1)TURN 60Koch(Level-1)TURN −120Koch(Level-1)TURN 60Koch(Level-1)RESIZE 3 {Restore initial size}Snowflake(Level)Repeat 3 [Koch(Level) , TURN –120]Koch Snowflake (continued)Observations• Side of each bump is scaled by 1/3 -- scale factor.• Number of bumps goes up by a factor of 4 -- recursive calls.Fractal DimensionE = 4 S = 1/ 3D = −Log(E)Log(S)= −Log(4)Log(1/ 3)=Log(4)Log(3)⇒ 1 < D < 2PerimeterPn +1= 4 / 3Pn⇒ Pn→ ∞Area An+1= A0+ 3A0(1/ 9 + 4 / 92+ 42/ 93+ L)An→ A0+1/ 91− 4 / 93A0= (8 / 5) A0Koch Snowflake (continued)Painters Paradox• Extrude Koch Snowflake into 3–Dimensions-- Infinite Surface Area → Perimeter-- Finite Volume → Area• Fill the Volume with PaintSmoothness• Continuous Everywhere -- No Tears• Differentiable Nowhere -- Bumps EverywhereC–CurveC-Bump C-CurveC–CurveC(Level)If Level = 0, FORWARD 1ElseTURN 45RESIZE € 22€ C Level −1( )TURN −90€ C Level −1( )TURN 45{Restore initial direction}RESIZE € 2{Restore initial size}C–Curve (continued)Observations• Side of each bump is scaled by 2 / 2 -- scale factor.• Number of bumps goes up by a factor of 2 -- recursive calls.Fractal DimensionE = 2 S = 2 / 2D = −Log(E)Log(S)= −Log(2)Log( 2 /2)=− Log(2)1/ 2Log(2) − Log(2)⇒ D = 2Perimeter•Pn +1= 2Pn⇒ Pn→ ∞Smoothness• Continuous Everywhere -- No Tears• Differentiable Nowhere -- Bumps
View Full Document