CSE 788 Fractal Terrains Terrain Map Height Map
- Slides: 61
CSE 788 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”
1000 iterations
Variations • Use a smoothstep function
Variations • Use a bump: – -d at distance R away – +d at zero. • Images from lighthouse 3 d – Used a cosine here.
Variations • Cosine Bump
Variations • Do not need to use a half-plane. Any function that splits space into two halves will work. – Radial functions – Etc.
Particle Deposition • Drop particles in areas where you want volcanic mountains • Particles flow downhill until they come to rest • Move the drop point to create interesting peaks
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 – Alleviates some creases on the grid.
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? – Implies that it is not a height-map. – Could use Geometry Images here though.
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
- Lei nº11.788/08
- Tacheometry
- Lensatic compass diagram
- Lc gate height gauge
- What is a fractal
- Fraktal
- Jurassic park fractal
- Cantor set fractal dimension
- What is fractal art
- What is a fractal
- Helecho de barnsley
- In the xy coordinate plane triangle rst is equilateral
- What does this mean
- Yuvpak compressed fractal image
- Fractals deals with curves that are
- Arte fractal
- Space filling fractal
- Fractal dimension definition
- Fractal image
- Fractal dimension definition
- Fractal
- Fractal saas
- Fractal market hypothesis
- Lenyo fractal
- Depression terrain feature
- Map direction symbols
- Height map 만들기
- Rome at its height
- Shoe size versus height
- Os terrain 5 dtm
- Moto sanili tout terrain
- Terrain features
- All terrain vehicle towing capacity 1050lbs
- Rough terrain container handler
- Terrain volleyball dimension
- Ligne badminton simple
- Enhanced terrain layer
- 5 major terrain features
- Orient a map using a lensatic compass
- Terrain in greece
- Terrain in france
- Dimension terrain rugby u10
- Rapport de visite de terrain
- Benthic terrain modeler
- Terrain
- Terrain generation algorithm
- Terrain domain
- Prise de terrain en u
- As-i bus
- Data terrain
- Integration terrain afis
- Human terrain system
- Mesa and scarp terrain
- Marcel bec filet
- Middle colonies terrain
- Unity terrain navmesh
- Marketing terrain
- Coupe terrain en pente
- A section of the nile river with rapids and rocky terrain
- Terrain slugging
- Mexico terrain