Function Representation
A 3D representation based on mathematical [see page 8, functions]. For example we can represent a circle (or [see page 9, sphere]) using an equation.
Functions in this model can be represented as either:
Form | Description |
---|---|
Implicit | Represents the idea of a shape (eg. \(F(x,y) = x^2 + y^2 - r^2 = 0\)) |
Parametric | Each axis position is defined in terms of some parameter \(t\) |
With the implicit form we can't find \((x,y)\) because there's an infinite number of possible values, but we can quickly detect whether a point is within the area of the circle.
For the parametric form consider:
\begin{align}
x = & f(t) = & r sin(t) \
y = & g(t) = & r cos(t)
\end{align}
For all 0 ≤ t ≤ 2 Π.
We can step \(t\) within its allowed range and find all points we need within the shape.
Creating a Surface
We can create a surface from such implicit functions by blending between two (or more) blobs/metaballs/soft-objects.
This approach is good for modelling organic objects. This approach is often referred
to as constant value surface
or level set
or isosurface
.
The [see page 11, equation ]for this between multiple blobs follows the same form as gravitational field strength.
For [see page 13, rendering] we create a grid and then evaluate the implict function at each grid point. We interpolate between the intersections of the grid to form a surface over it, with the accuracy and speed thererfore depending on the resolution of the grid. This process extends into [see page 14, 3D] as well (through the marching cube algorithm).