>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