computer graphics 11: 3d object representations – octrees & fractals
DESCRIPTION
Computer Graphics 11: 3D Object Representations – Octrees & Fractals. Contents. In today’s lecture we would like to continue on from the last day and look at some more modelling techniques Octrees Fractals. Octrees. Octrees are hierarchical tree structures used to represent solid objects - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/1.jpg)
Course Website: http://www.comp.dit.ie/bmacnamee
Computer Graphics 11:3D Object Representations –
Octrees & Fractals
![Page 2: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/2.jpg)
2of24
Contents
In today’s lecture we would like to continue on from the last day and look at some more modelling techniques
– Octrees– Fractals
![Page 3: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/3.jpg)
3of24
Octrees
Octrees are hierarchical tree structures used to represent solid objects
Octrees are particularly useful in applications that require cross sectional views – for example medical applications
Octrees are typically used when the interior of objects is important
![Page 4: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/4.jpg)
4of24
Octrees & Quadtrees
Octrees are based on a two-dimensional representation scheme called quadtree encodingQuadtree encoding divides a square region of space into four equal areas until homogeneous regions are foundThese regions can then be arranged in a tree
![Page 5: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/5.jpg)
5of24
Quadtree Example 1
![Page 6: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/6.jpg)
6of24
Quadtree Example 2Im
ages
take
n fro
m H
earn
& B
aker
, “C
ompu
ter G
raph
ics
with
Ope
nGL”
(200
4)
![Page 7: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/7.jpg)
7of24
Octrees
Quadtree encodings provide considerable savings in storage when large colour areas exist in a region of spaceAn octree takes the same approach as quadtrees, but divides a cube region of 3D space into octantsEach region within an octree is referred to as a volume element or voxelDivision is continued until homogeneous regions are discovered
![Page 8: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/8.jpg)
8of24
Octrees (cont…)Im
ages
take
n fro
m H
earn
& B
aker
, “C
ompu
ter G
raph
ics
with
Ope
nGL”
(200
4)
![Page 9: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/9.jpg)
9of24
Octrees (cont…)
In 3 dimensions regions can be considered to be homogeneous in terms of colour, material type, density or any other physical characteristicsVoxels also have the unique possibility of being empty
![Page 10: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/10.jpg)
10of24
Octree ExamplesTa
ken
from
http
://w
ww
.unc
hain
edge
omet
ry.c
om/jb
loom
/imag
es.h
tml
![Page 11: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/11.jpg)
11of24
Octree Examples (cont…)Ta
ken
from
http
://w
ww
-eva
sion
.inria
lpes
.fr/M
embr
es/S
ylva
in.L
efeb
vre/
thes
e/
![Page 12: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/12.jpg)
12of24
Fractals
All of the modelling techniques covered so far use Euclidean geometry methods
– Objects were described using equationsThis is fine for manufactured objectsBut what about natural objects that have irregular or fragmented features?
– Mountains, clouds, coral…
“Clouds are not spheres, mountains are not cones, coastlines are not circles and bark is not smooth, nor does lightning travel in a straight line.”
Benoit Mandelbrot
![Page 13: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/13.jpg)
13of24
Fractal Geometry Methods & Procedural Modelling
Natural objects can be realistically described using fractal geometry methodsFractal methods use procedures rather than equations to model objects - procedural modellingThe major characteristic of any procedural model is that the model is not based on data, but rather on the implementation of a procedure following a particular set of rules
Modelling On The Fly!
![Page 14: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/14.jpg)
14of24
Fractals
A fractal object has two basic characteristics:
– Infinite detail at every point– A certain self similarity between object parts
and the overall features of the object
The Koch CurveMandelbrot Set Video From:
http://www.fractal-animation.net/ufvp.htm
![Page 15: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/15.jpg)
15of24
Generating Fractals
A fractal object is generated by repeatedly applying a specified transform function to points in a region of spaceIf P0 = (x0, y0, z0) is a selected initial position, each iteration of a transformation function F generates successive levels of detail with the calculations:
In general the transformation is applied to a specified point set, or to a set of primitives (e.g. lines, curves, surfaces)
... , , , 231201 PFPPFPPFP
![Page 16: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/16.jpg)
16of24
Generating Fractals (cont…)
Although fractal objects, by definition have infinite detail, we only apply the transformation a finite number of timesObviously objects we display have finite dimension – they fit on a page or a screenA procedural representation approaches a true representation as we increase the number of iterationsThe amount of detail is limited by the resolution of the display device, but we can always zoom in for further detail
![Page 17: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/17.jpg)
17of24
Example: The Koch SnowflakeIm
ages
take
n fro
m H
earn
& B
aker
, “C
ompu
ter G
raph
ics
with
Ope
nGL”
(200
4)
![Page 18: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/18.jpg)
18of24
Example: Ferns
Very similar techniques can be used to generate vegetation
![Page 19: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/19.jpg)
19of24
Fractal Dimension
The amount of variation in the structure of a fractal object is described as the fractal dimension, D
– More jagged looking objects have larger fractal dimensions
Calculating the fractal dimension can be difficult, especially for particularly complex fractalsWe won’t look at the details of these calculations
![Page 20: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/20.jpg)
20of24
Types Of Fractals
Fractals can be classified into three groups– Self similar fractals
• These have parts that are scaled down versions of the entire object
• Commonly used to model trees, shrubs etc– Self affine fractals
• Have parts that are formed with different scaling parameters in each dimension
• Typically used for terrain, water and clouds– Invariant fractal sets
• Fractals formed with non-linear transformations• Mandelbrot set, Julia set – generally not so useful
![Page 21: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/21.jpg)
21of24
Random Midpoint Displacement Methods For Topography
One of the most successful uses of fractal techniques in graphics is the generation of landscapesOne efficient method for doing this is random midpoint displacement
![Page 22: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/22.jpg)
22of24
Random Midpoint Displacement Methods For Topography (cont…)
Easy to do in two dimensionsEasily expanded to three dimensions to generate terrainCan introduce a roughness factor H to control terrain appearanceControl surfaces can be used to start with a general terrain shape
Terrain generation demo:http://world.std.com/~bgw/applets/1.02/MtFractal/MtFractal.html
![Page 23: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/23.jpg)
23of24
Fractals In Film Special Effects
![Page 24: Computer Graphics 11: 3D Object Representations – Octrees & Fractals](https://reader036.vdocuments.mx/reader036/viewer/2022081416/5681665a550346895dd9db13/html5/thumbnails/24.jpg)
24of24
Summary
In today’s lecture we looked at how octrees and fractals are used in modellingFractals in particular are a fairly exotic modelling technique, but can be extremely effectiveNext time we will look at curved surfaces which are extremely important