Graphics Reference
In-Depth Information
doing so, you should be aware of the consequences. We embody these ideas in a
principle:
T HE DIVISION OF MODELING PRINCIPLE : Separate the mathematical
and/or physical model of a phenomenon from the numerical model used to
represent it.
Attempting to computationally solve a problem often involves three separate
choices. The first is an understanding of the problem; the second is a choice of
mathematical tools ; the third is a choice of computational method . For example,
in trying to model ocean waves, we have to first look at what's known about them.
There are large rolling waves and there are waves that crest and break. The first
step is to decide which of these we want to simulate. Suppose we choose to sim-
ulate rolling (nonbreaking) waves. Then we can represent the surface of the water
with a function, y = f ( t , x , z ) , expressing the height of the water at the point
( x , z ) at time t . Books on oceanography give differential equations describing how
f changes over time. When it comes to solving the differential equation, there
are many possible approaches. Finite-element methods, finite-difference methods,
spectral methods, and many others can be used. If we choose, for example, to
represent f as a sum of products of sines and cosines of x and z , then solving the
differential equations becomes a process of solving systems of equations in the
coefficients in the sums. If we limit our attention to a finite number of terms, then
this problem becomes tractable.
But having made this choice, we can see certain influences: Because there's
a highest-frequency sine or cosine in our sum, there's a smallest possible wave-
length that can be represented. If we want our model to contain ripples smaller
than this, the numerical choice prevents it. And if, having solved the problem, we
decide we'd like to make waves that actually crest and break, our mathematical
choice precludes it. We can, of course, add a “breaking wave” adjustment to the
output of our model, altering the shapes of certain wave crests, but it should come
as no surprise that such an ad hoc addition is more likely to produce problems than
good results. Furthermore, it will make debugging of our system almost impos-
sible, because without a clear notion of the “right solution,” it's very difficult to
detect an error conclusively.
The idea of carefully structuring your models and separating the mathematical
from the numerical is discussed at length by Barzel [Bar92].
9.3 Limitations of Piecewise Linear Extension
The method of extending a function on a triangle mesh from vertices to the inte-
riors of triangles is called piecewise linear extension. By looking at the basis
functions—the tent-shaped graphs—we can see that the graphs of such extensions
will have sharp corners and edges. Depending on the application, these artifacts
may be significant. For instance, if we interpolate gray values across a triangle
mesh, the human eye tends to notice the second-order discontinuities at triangle
edges: When the gray values change linearly across the triangle interiors, things
look fine; when the rate of change changes at a triangle edge, the eye picks it out.
 
 
 
Search WWH ::




Custom Search