>
>Before I ask for more help, let me just say that if you've no time, or the
>details are getting too nitty gritty, then I'd be more than happy with any
>reference to sections of the userguide, exemplary samples, or pointers. I
>don't want to step on you "consulting" toes, so to speak.
>
>With that said, sometimes I'd like to visualize the cylindrically
>symmetric data in the (r,z) plane and sometimes I'd like to see it
>rotated. For that reason does it make more sense to describe the rotation
>in the connections part of the header file or with your trick in the DX
>network?
I holler if people push too far (and I think they should be hiring me). If you want to do that, write off-list, otherwise, keeping the discussion here means I can ignore it when I'm busy and someone else will probably answer it. Since I generally assume that people with a ..edu domain have no money, I answer questions when I can and ignore the rest. (here's a horrible thought: a .pbs domain in which every email asks YOU for money! (:-)) BTW, what group are you in at Rochester? I've worked with Dr. Waag in optics in the past.
Wrapping the cylinder (since I'm also teaching a virtual workshop on OpenDX here at Cornell right now, I just answered this same question last week, so here's the cut and paste answer):
Q: In paragraph 2 of page 229 of the DX users guide, reference is made to the ability to warp grids from cartesian to cylindrical coordinates. I have attempted this previously. A nasty side effect is that streamlines do not recognize the periodicity of this warp and will terminate at the theta=2pi boundary. I see that this is a lack of connections. Is there a simple way to create these connections without having to hack them into each point on the periodic boundary?
A: Assuming the grid is regular, you do the following:
1. Slab the grid in the appropriate dimension with position="(all)", thickness=0; this creates a Series (of thin slices)
2. In parallel, Slab the grid in the appropriate dimension with position=0, thickness=0; this makes a single slice ("first" edge)
3. Structuring Append: put the Series into the "input" and the single slice into the first "object" input; make up a bogus "id"; Append attaches the "first" edge slice at the end of the Series, thus adjacent to the "last" edge
4. Stack; this makes connections between all slices in the new longer Series
The mesh is now toroidally continuous in that dimension. Warp the mesh. Streamlines should pass through the "join" without problems.
Slab only works on regular meshes, so if it's irregular, you do it the hard way, connection by connection (no help from DX).
I did the above from memory, so if there's any problem, let us know.
And credit where due: I first learned the Slab/Append trick from Greg Abram, our fearless and benevolent code czar for OpenDX (and one of the original DX codemonkeys).
The problem is that Streamlines can only be made through a 2D vector field mapped to 2D positions, or 3D vectors on 3D positions (read Streamline Help for more detail).
>
>I'd also like to view animations of say the density made up from the
>density spread over many data files. My first thought on doing this is to
>create a separate header file which describes a series object and refers
>to say the density fields in the header files for each individual data
>dump. Will this work? Any better ideas? I'd like to cover all of the
>bases, though I'm beginning to wonder if I'm gonna end up writing a ton of
>header files.
>
You'll often find that prestructuring your data can save a lot of work inside DX, though sometimes, you'll find that a net that does nothing other than read in data files, uses Structuring operations, then Exports to a nice structured .dx file is handier than writing code or hand-patching a file together. So don't fear creating lots of header files, esp. if you are using the "2-file" (or multi-file) format in which only the header info resides in a smallish text file and points to wads o' data files.
Yesterday, working on a project for someone, I wrote a net that reads in 300 "spreadsheet" like files, rips columns, reassembles into vectors, remaps time, adds some attributes, then exports each file as a ..dx file. The average input file (ASCII) is several hundred K; the binary output files are uniformly 30K (I discarded some unnecessary stuff in the input files). Then, I wrote a simple script in csh to generate a series header file that points to as many or few of the output files as I want collected together and finally I import the series to visualize. So I have the headers for each data file (to be honest, in this case, I just appended the binary data after the ASCII header info in the same file), and another header file for the series (a typical stanza looks like: member "trace.001.dx" file "trace.001.dx").
You'll have to use Get/Set to accumulate the values over the series members. Read up on those modules and check out sample nets to see how to use them.
>My last question I can think of right now is how I might overlay vectors
>indicating the velocity or magnetic field orientations on top of say
>density. I remember seeing something like this in the samples, so I'm
>going there after I finnish this e-mail. Any suggestions?
>
Collect. Make vectors with Glyph and density with AutoColor and/or Rubbersheet. Collect the two realizations together and send to Image.
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
- [opendx-users] Some hints please? Thomas A. Gardiner
- Re: [opendx-users] Some hints please? Chris Pelkie
- [opendx-users] hints Thomas A. Gardiner
- Re: [opendx-users] hints Chris Pelkie
- Re: [opendx-users] hints Thomas A. Gardiner
