>A picture is really worth a thousand words!
>
>Tom

Speaking of that, does anyone know if this mailserver would block
attachments? A picture (like a jpg or something) probably would go a long
way right about now.

I think I know what you described, but I think that's exactly what Nancy
described to you (I was starting to think you had a stack of solid disks
like a pile of pancakes, but now you've described a mesh that is warped
around the cylinder axis, right?). So it's not a 2D surface as Ned opined,
but a 3D solid that after warping is a 3D solid with a hole in the middle.
Are we all agreed on that? (By the way, I'm damned glad Ned joined in this
discussion! I was laying off hoping not to become a gerbil in an
outpost.com commercial while great forces raged overhead, figuratively
speaking of course).

However, I think >you< want to describe the whole thing via a parametric
equation, and that you >cannot< do in DX (you can warp the mesh positions
via a formula in Compute, but you cannot succinctly describe a parametric
curve other than an [orthogonal || skewed orthogonal] grid of 1D, 2D, or 3D
(using origin/delta/counts, which are the terms of a linear parametric
equation that you never see). You really do have to sample space
(positions), then connect these positions with interpolation pathways (even
if the data value is constant).

If the data is constant, you can describe it succinctly for arbitrary n
positions with the constantarray declaration, or simply by running the
field through Compute("a") where a is the desired constant value.
Nevertheless, DX takes the data component to have a value for >each<
position if pos-dependent or each connection element if con-dep.

The resolution of the curved object will ultimately be defined by the
number of positions you create (thus NC's discussion of Refine). There are
no curved connection types in DX: you have "no" connections for scattered
data, 1D lines (which can be in 1,2,or 3space), 2D triangles and quads
which can exist in 2 or 3space, cubesNd (abbreviated "cubes" for 3D; other
"N's" currently not implemented) and tetrahedra for 3D volumetric space.
They all have straight sides since in every case, each edge connects 2
positions in minimal distance (non-Einsteinian). To get "curvature" you add
more sample positions and more connections. Yes, this makes the object much
much larger than a simple parametric equation description, but the renderer
needs "objects" mapped into a 3D space to bounce light off, so ultimately
that's why objects have positions and connections in DX. NURBS were not
invented to the best of my recollection when DX was first written (or at
least not popular). If someone wants to dive in and implement a grand
extension to the DX data model AND renderer, this might be doable, but as
it stands you describe geometry explicitly.

I believe that one of the lessons NC was imparting though was that it is
possible with a bit of thought to generate a lot of objects from parametric
equations using Construct, etc. You can see some interesting examples of
how to make Quadric surfaces by browsing the CTC DX Repository for the
macros that Bruce Land developed a few years back when he taught the
computer graphics class here at Cornell. These might inspire some ideas.
The result is still a Field with (generally) a lot of positions and
connections and if needed, data mapped to one or the other.

However, I am not qualified to answer your concerns about whether your
vectorial data will be properly handled before and after positions are
warped. I kicked this around with a resident solar scientist here and he
concluded that it might be safer to either precalculate the data in the
correct space, or to do it in a custom module, which is what I think Ned
also suggested. However, it seems to me that if you apply the same warp to
the vector data as you do to the positions (in different Computes,
naturally), that you'd get the right answer from div/curl. I could be very
wrong.

DX is first a visualization tool, then with compromises, an analytical
tool. Whenever there's doubt about its analytical capabilities, I'd advise
people to do their own calculations then import and visualize to alleviate
doubt. Of course, now that the code is open, you can inspect it for
reassurance.

Chris Pelkie
Vice President/Scientific Visualization Producer
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850
[EMAIL PROTECTED]
(607) 257-8335 or (607) 254-8794

Reply via email to