Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 781 Fractal Terrains.

Similar presentations


Presentation on theme: "CIS 781 Fractal Terrains."— Presentation transcript:

1 CIS 781 Fractal Terrains

2 x and y are sampled on a 2D integer grid
Terrain Map Height Map z = f(x, y) x and y are sampled on a 2D integer grid Real data : Satellite, Elevation maps Synthetic : Texture map, Noise functions

3 Terrain Map Connect samples into a mesh

4 Terrain Map Natural looking Use textures to model detail?
Model high detail Size Storage (Millions of polygons) Rendering speed Zoom-in, zoom-out (does not scale well) Use textures to model detail? Not real geometry (bump mapping at silhouettes) Not scale independent Repeated textures do not work well

5 Fake Terrain Generate the heightfield Random process
Reflects “realistic” terrain in some way

6 Random Terrain Simple: Next step: Terrain(x,y) = rand( MAX_HEIGHT ) 1
Results in random noise Next step: Smooth the terrain generated above FIR filter: 1 R

7 Filtering FIR (Finite Impulse Response) filter:
Pass a “window” over the data Multiply data in window by weights Result = d1*w1 + d2*w2+ … + dN*wN Window + weights is called “filter kernel” Larger window grabs more data

8 Random Fault Lines Repeatedly:
+dHeight Repeatedly: Create a line that crosses terrain Add dHeight offset on one side of line dHeighti = dHeight0 + (i/n)(dHeightn -dHeight0) Select random endpoints to generate line Compute “side of line” by plugging X,Y into line equation

9 More Realistic Faults Apply FIR filter to faulted heightmap
Smooth out abrupt fault transitions: “Erosion”

10 Particle Deposition Drop particles in areas where you want volcanic mountains Particles flow downhill until they have cause to rest Move the drop point to create interesting peak

11 Particle Deposition Flow computation
At given point, find lowest neighbor If local geometry is not flat enough, move new particle on top of lowest neighbor Roll down hill “Flat enough” = 27 degrees or so Check 3x3 pixel window or 5x5 to check neighbors.

12 Particle Deposition

13 Perlin Noise Using a sampling of 2D perlin Noise provides smooth hills.

14 Terrain Coloring Using a 1D texture map based on the altitude can provide many useful mapping.

15 Terrain Coloring Striped 1D texture map.

16 Terrain Coloring Using a 2D texture map provides richer detail, but is independent of the terrain.

17 Terrain Coloring More advanced coloring is based on altitude and slope.

18 Rolling Hills Scaling in one dimension gives smooth rolling hills.

19 Procedural Modeling With Fractals
Compute geometry “on-the-fly” Fractals Model Natural Phenomena - Self Similarity Mountains, fire, clouds, etc. Scales to infinity Add or “make up” natural looking details with mathematical tools

20 “Repetition of form over a variety of scales”
Fractals “Repetition of form over a variety of scales” Mandelbrot set, Julia set

21 Two Fractal Properties
Self-similarity

22 Two Fractal Properties
Fractal Dimension Euclidean dimensions : 1, 2, 3, 4, … Fractal : , Measure of detail or roughness of a fractal D = (ln N)/(ln 1/s)

23 Midpoint Subdivision Midpoint (recursive) subdivision

24 Midpoint Subdivision Brownian Motion Fractional Brownian Motion
Describes random movement of particles in a gas or fluid Fractional Brownian Motion Brownian Motion + Fractal Dimension A useful model for natural phenomena

25 Fractional Brownian Motion
Equations are compute intensive Approximate with “A family of 1D Gaussians ” Zero mean Standard Deviation : S = k2-iH H = fractal dimension (roughness)

26 Fractional Brownian Motion
Fractal dimension = roughness, I.e. H

27 Terrain Modeling Criteria
Input Initial coarse mesh + stochastic parameters Two criteria Internal Consistency Reproducibility : Model is independent of position and orientation Associate “random numbers” to point index External Consistency Continuity between adjacent primitives

28 Fractal Mountains Fournier & Fussell (1980)
Recursively subdivide geometry by random number d: –dHeight/2 < d < dHeight/2 At each recursion: dHeight *= 2-r r=1 : self-similar r>1 : large features early r<1 : large features late A B A B A B

29 Triangle Subdivision Subdivide a triangle into 4 triangles at edge midpoint

30 Quadrilateral Subdivision
Subdivide a quad into 4 quads at edge midpoints and a new center point.

31 Diamond-Square Subdivision
Alternate subdivision

32 Fractal Terrain

33 Mesh Subdivision Square-square Subdivision
Addresses “creasing problem” (slope discontinuities) Subdivide parametric patches

34 Mesh Subdivision Displacement is scaled by the recursion level.
| b – a | -rn When do you stop the recursion? Pixel resolution Displace upward, or towards the normal to the surface?

35 Mesh Subdivision External Consistency
Avoid tears between neighboring polygons How do we compute the normals? Average polygon normals at each vertex. Propagate normals down the recursion Cheaper : use the original mesh normals only

36 Ridged Fractal Terrains
To create sharp peaks, add an absolute value and flip the surface upside down. Or, reflect about a maximum value. Provides a volcano-like effect.

37 Caldera

38 Multi-Fractal This produces a ridged multi-fractal

39 Add a 1D Texture

40 More Controls To create plateaus, add a min function to flatten out high areas.

41 More Controls To create a plain, add a max function to flatten out low areas.

42 More Controls Multiply by a Guassian to limit the mountain range.

43 More Controls To create valleys, create a lower amplitude and rather smooth terrain to use as the max operator.

44 max (Fractal, Smooth Noise)

45 max (Fractal, Smooth Noise)

46 Ridges Quantize a terrain to create ridges
Use directly or as the min function. Can also be done as a transfer function that maps f(x)->g(x). New height height

47 Ridges

48 Other techniques Cracked terrains for dry lakes and riverbeds.
Throw random points onto the plane. Construct the Voronoi diagram and use the graph to etch into the terrain.

49 Cracked Terrains Crawfis, 2002

50 Fractal Terrains Multifractals

51 Fractal Terrains Color, texture

52 Fractal Terrains

53 Erosion - Higher-level control
Musgrave, et al. “The Synthesis and Rendering of Eroded Fractal Terrains”, Siggraph 1989. Hydraulic Erosion Water (rain) depositing to settle in height field Thermal Weathering “Any material that knocks material loose, which then falls down to pile up at the bottom of an incline.”

54 Erosion

55 Erosion by water

56 Erosion by wind and water


Download ppt "CIS 781 Fractal Terrains."

Similar presentations


Ads by Google