CIS 781 Fractal Terrains Terrain Map Height Map
- Slides: 56
CIS 781 Fractal Terrains
Terrain Map • Height Map z = f(x, y) x and y are sampled on a 2 D integer grid – Real data : Satellite, Elevation maps – Synthetic : Texture map, Noise functions
Terrain Map • Connect samples into a mesh
Terrain Map • Natural looking – 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
Fake Terrain • Generate the heightfield • Random process • Reflects “realistic” terrain in some way
Random Terrain • Simple: – Terrain(x, y) = rand( MAX_HEIGHT ) – Results in random noise • Next step: – Smooth the terrain generated above – FIR filter: 1 1 1 1 1 R
Filtering • FIR (Finite Impulse Response) filter: – Pass a “window” over the data – Multiply data in window by weights • Result = d 1*w 1 + d 2*w 2+ … + d. N*w. N – Window + weights is called “filter kernel” – Larger window grabs more data
Random Fault Lines • Repeatedly: – Create a line that crosses terrain – Add d. Height offset on one side of line – d. Heighti = d. Height 0 + (i/n)(d. Heightn -d. Height 0) – Select random endpoints to generate line • Compute “side of line” by plugging X, Y into line equation +d. Height
More Realistic Faults • Apply FIR filter to faulted heightmap • Smooth out abrupt fault transitions: “Erosion”
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
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 3 x 3 pixel window or 5 x 5 to check neighbors.
Particle Deposition
Perlin Noise • Using a sampling of 2 D perlin Noise provides smooth hills.
Terrain Coloring • Using a 1 D texture map based on the altitude can provide many useful mapping.
Terrain Coloring • Striped 1 D texture map.
Terrain Coloring • Using a 2 D texture map provides richer detail, but is independent of the terrain.
Terrain Coloring • More advanced coloring is based on altitude and slope.
Rolling Hills • Scaling in one dimension gives smooth rolling hills.
Procedural Modeling With Fractals • Procedural Modeling – 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
Fractals “Repetition of form over a variety of scales” • Mandelbrot set, Julia set
Two Fractal Properties • Self-similarity
Two Fractal Properties • Fractal Dimension – Euclidean dimensions : 1, 2, 3, 4, … – Fractal : 1. 2342, 2. 7656 – Measure of detail or roughness of a fractal D = (ln N)/(ln 1/s)
Midpoint Subdivision • Midpoint (recursive) subdivision
Midpoint Subdivision • 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
Fractional Brownian Motion • Fractional Brownian Motion – Equations are compute intensive – Approximate with “A family of 1 D Gaussians ” • Zero mean • Standard Deviation : S = k 2 -i. H H = fractal dimension (roughness)
Fractional Brownian Motion • Fractal dimension = roughness, I. e. H
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
Fractal Mountains • Fournier & Fussell (1980) • Recursively subdivide geometry by random number d: –d. Height/2 < d. Height/2 • At each recursion: – – 2 -r d. Height *= r=1 : self-similar r>1 : large features early r<1 : large features late A B A B
Triangle Subdivision • Subdivide a triangle into 4 triangles at edge midpoint
Quadrilateral Subdivision • Subdivide a quad into 4 quads at edge midpoints and a new center point.
Diamond-Square Subdivision • Alternate subdivision
Fractal Terrain
Mesh Subdivision • Square-square Subdivision – Addresses “creasing problem” (slope discontinuities) • Subdivide parametric patches
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?
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
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.
Caldera
Multi-Fractal • This produces a ridged multi-fractal
Add a 1 D Texture
More Controls • To create plateaus, add a min function to flatten out high areas.
More Controls • To create a plain, add a max function to flatten out low areas.
More Controls • Multiply by a Guassian to limit the mountain range.
More Controls • To create valleys, create a lower amplitude and rather smooth terrain to use as the max operator.
max (Fractal, Smooth Noise)
max (Fractal, Smooth Noise)
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
Ridges
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.
Cracked Terrains Crawfis, 2002
Fractal Terrains • Multifractals
Fractal Terrains • Color, texture
Fractal Terrains
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. ”
Erosion
Erosion by water
Erosion by wind and water
- Fractal terrains
- Tacheometric distance equation on flat and sloped terrains
- Saddle land nav
- Tvu of level crossing
- National general foundation health
- Ai 781
- Calhr 781 form
- Ngic 888-781-0585
- What is a fractal
- Fractals
- Jurassic park fractal
- Cantor set fractal dimension
- How to make fractal art
- What is a fractal
- Universo fractal
- What is the area of triangle dfg
- What does it mean?
- Fractal image compression example
- What are curves in computer graphics
- Arte fractal
- Space filling fractal
- Fractal dimension definition
- Fractal
- Chia compression
- Point processing
- Fractal saas
- Fractal market hypothesis
- Proprioceptor
- Hill valley ridge saddle depression
- Spot height symbol
- Heightmap raw
- Byzantine empire geography
- Height vs shoe size
- Os terrain 5 dtm
- Origine
- Minor terrain features
- All terrain vehicle towing capacity 1050lbs
- Rough terrain container handler
- Terrain volleyball dimension
- Terrain de badminton
- Ellen roland
- 2 supplementary terrain features
- How to orient a map using a lensatic compass
- Greece terrain
- Terrain in france
- Dimension stade de rugby
- Rapport de visite de terrain
- Benthic terrain modeler
- Terrain
- Opengl terrain generation
- The terrain domain
- Prise de terrain en u
- Bus asi
- Data terrain
- Integration circuit aerodrome
- Human terrain system
- Eiloan