On Mon, 23 Jul 2001, Chris Pelkie wrote:

 >On Mon, 23 Jul 2001, Chris Pelkie wrote:
 You could also just Compute the heights; I bet you know how so I
 won't tell you unless you ask. As a mapmaker, you'd probably be
 happier with a Compute that you could scale X, Y, Z to real world
 coords instead of relying on the sometimes obtuse Rubbersheet
 scaling. I would expect then the invalids would behave.

ah, now this sounds interesting. so how do i do it? i was wondering about
how i could add a third dimension (z) to a 2d field.
cheers
magi


Given a field with "positions" and "data", Mark("positions"). The output of Mark has a copy of "positions" in the "data" (and still in the "positions"). Feed a Compute this field (input 'a' unless you rename it). Also take a wire from the original field in which the "data" is still the "data" into this Compute (input 'b' unless you choose to rename it, which I usually do).

Compute([a.x, a.y, b]) // brackets make a vector, 3 scalar components make 3-vector // a.x is the scalar x component of the 2D positions, a.y similarly
                                  // b is the data to be the z component

Unmark("positions")

The old positions are replaced with 3D positions. The 2D mesh is preserved as before.

To add map scaling and translation, add more inputs to Compute then attach interactors or constants.
Like
[(a.x * x_scale) + easting, ....    and so on
(naming the new inputs in Compute so you can use them in the expression)

Chris Pelkie
Vice President/Scientific Visualization Producer
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850
[EMAIL PROTECTED]

Reply via email to