Don,
Well, I'm sure glad I asked that question. I previously thought
the GriddedNDSet was the same as the LinearNDSet except with irregular
spacing. It's amazing how much you can miss just reading the JavaDoc
and technical references. In any event, whether my mind is fully
"wrapped around it" or not, my understanding has greatly increased.
Attached is a Figure 8 Klein Bottle using the Gridded3DSet with
manifold dimension = 2 as proof. I attached it to see if that solves
the email problem I was having. ;-)
I was also confused about the manifold dimension. There appear to
be two dimensions, the domain dimension and the manifold dimension.
The domain is also a manifold (or can be) I think, and that is what I
thought was meant by manifold dimension.
I found the following reference helpful, although it is a bit
terse and missing the figures:
http://www.unidata.ucar.edu/staff/caron/papers/CoordMath.htm
Thanks for the help and information,
-Ken
Don Murray wrote:
Hi
Ken-
It is all very confusing, but once you wrap your mind around
it, it's an incredibly powerful and flexible data model.
Here's the way I try to think of it. A domain can have a dimension
(number of components of the RealTupleType) and a manifold dimesion
(the structure of that data). For a given manifold dimension:
1 = line
2 = plane
3 = volume
That's an oversimplification, but it's how I rationalize what
to use.
So a Gridded2DSet (dim=2) with a manifold dimension = 1 is useful
for depicting things like map lines. The points have 2 dimensions
(lat,lon), but the single manifold dimension gives them the
structure of lines connecting the points. A Gridded3DSet on a
2D manifold would be a slice through a volume (i.e. a plane).
A LinearNDSet inherently has the same manifold dimension as
its domain dimension, thus you can't use it to depict a crosshair
which is a 2 or 3D set on a 1D manifold.
As for wrapping your head around this all, at Unidata we say that
when you can say from memory (paraphrased from the FlatField javadoc):
A FlatField range type may be either a RealType, a RealTupleType, or a
TupleType of RealType-s and RealTupleType-s.
AND understand it, you'll have reached that VisAD enlightenment. ;-)
Don
Kenneth Evans wrote:
It is more that it is counterintuitive
to me to be using ((x,y,z) -> t) rather than (t -> (x,y,z)).
However, I guess the same thing appears on the plot. The reason for
reversing the order seems to be to get the correct topology. So I now
have a recipe, but I am not sure I understand what is happening. Is it
written up somewhere what has and doesn't have a topology and what that
topology is. I haven't come across it.
It is also interesting about the manifold dimension = 1. It seems
to me that the domain, which is the part that goes with the
Gridded3DSet, has manifold dimension = 3, and that it is the range that
has manifold dimension = 1. (When using your order.) Or am I just
confused.
I did try to make a cursor consisting of two crossed lines
recently. I noticed that I needed to use a Gridded2DSet, whereas a
Linear2D set should have served. I believe the later gave points, not
lines. I assume this is the same problem. (I ended up using a shape.)
Thanks for the information,
*************************************************************
Don Murray UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx P.O. Box 3000
(303) 497-8628 Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
*************************************************************
==============================================================================
To unsubscribe visad, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================
|