NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Christian, > does anyone know where I can find the definition of the 16 coefficients of > the matrix of a projection control? DisplayImplJ3D uses the 4 x 4 matrices defined by Java3D, which are described in: http://java.sun.com/products/java-media/3D/forDevelopers/J3D_1_2_API/j3dguide/index.html under Section 8.1.29 on Transform3D and Appendix A.2 on matrices. The easy way to manipulate these matrices is using two static methods of visad.java3d.MouseBehaviorJ3D: public static double[] static_multiply_matrix(double[] a, double[] b); public static double[] static_make_matrix(double rotx, double roty, double rotz, double scale, double transx, double transy, double transz); The first multiplies two 4 x 4 matrices appropriately to compose their view transforms, the second constructs a 4 x 4 matrix with the given rotation angles (in degrees and around the various axes), scale, and translations. The only way to figure this out is to experiment with these. See visad/examples/Test57 for a simple example. > I am looking also for an example of drawing and animating trajectories > of particles in 3d. There are no current examples that I am aware of, but it is certainly feasible. The Aeri example at: http://www.ssec.wisc.edu/~billh/visad.html#aeri analyzes wind data to generate "flags" that are a little like trajectories. A set of trajectories are a set of 1-D paths through 4-D space-time, but for an animated display you'd want a 1-D sub-path at each time step. This would be a FieldImpl with MathType: (time -> Set(x, y, z)) displayed with ScalarMaps: time -> Animation x -> XAxis y -> YAxis z -> ZAxis and where the Sets are UnionSets of Gridded3DSets with manifold dimension = 1 (analogous to map outlines which are UnionSets of Gridded2DSets with manifold dimension = 1). Each Gridded3DSet with manifold dimension = 1 would be the trajectory of one particle, taken over a time interval: [current_time - trajectory_length, current_time] and the UnionSet would be taken over the set of particles. Note that current_time is just the time sample of the FieldImpl (time -> Set(x, y, z)), and trajectory_length is just the time interval represented by the instantaneous display of a trajectory. The system does need an example of such a trajectory display. If you'd like to contribute one that would be great, otherwise one of these days we will add one. Cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: