Re: Constructing pfASD

New Message Reply Date view Thread view Subject view Author view

Lee Willis (lwillis++at++inreach.com)
Wed, 15 Apr 1998 08:28:48 -0700


----------
 From: Thom DeCarlo <trdecarlo++at++tasc.com>
>> Lee Willis wrote:
>> From: Dan Brockway <db++at++ParadigmSim.com>
>>
>>> If, on the other hand, you have a specific terrain surface at the
highest
>>> LOD that correlates with other databases, then MultiGen's CAT is of no
>>> value.
>>
>> No argument. But the problem goes deeper than that. If you have a
specific
>> terrain surface at the highest LOD that correlates with other databases,
>> ***ASD*** is of no value. (unless you're database happens to be a
regular
>> grid)
>>
>> You cannot construct an ASD from an arbitrary triangular mesh. It just
aint
>> doable.
>>
>
>I'm sure you will correct me if I am wrong, but since we are talking about
>starting from the raw source (DTED type data), we do have a regular grid.
The
>triangular mesh needn't be generated until much later in the process. It
seems
>to me that there should be a straight-forward, though time-consuming,
process
>that looks at each point in the highest resolution set, finds the nearest
>point in the next lower resolution set, and identifies that as the "morph
to"
>point.Since you say this is hard, there must be something I am missing.

You and Dan are talking about different scenarios.

Dan is talking about having a preconstructed polygonal database at the best
LOD,
and then trying to derive coarser LODs from that set of polygons -- can't
be done.

You're talking about starting from elevation data -- that *can* be done.
Multigen CAT
does it, or you can write you're own.

In very broad strokes, here's how:

1) construct a tesselation to be your base (coarsest) LOD. This can be
something as
 simple as two triangles to form a rectangle, or you can use standard
terrain algorithms
 (e.g. Delaunay) to construct an irregular mesh.

2) For each subsequen LOD:

2a) Using the previous LOD as a base, choose at most one new point to split
each
        existing edge. You'll need to decide how to choose a new point. You can
use
        something simple like 'worst vertical error within the neighborhood of the
edge'.
        (i.e. compare the polygons to your elevation grid, pick the elevation
point that falls
        furthest off the polygonal surface)

        More complicated algorithms are of course also possible. (e.g. ones which
may
        weight some points more than others)

2b) Re-tesselate

----

You'll notice that this algorithm doesn't start with all the points and
choose which ones to throw out.
It starts with a few points and then decides which new points to add. This
is what I mean by doing
it 'top-down' rather than 'bottom-up'. It's an insertion algorithm rather
than a decimation algorithm.

------------------------------
Lee Willis Virtual Landscape Dermatologist
       
lwillis++at++terrex.com TERREX

=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:57:14 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.