Dear Mr. Petersen,

Thank you very much for your help !   It works well.

Now I am dealing with data visualization using Java 3D. The data are about the
temperature, pressure,..., of the atmosphere.  I will display the earth, and
different parts of the earth surface will be in different
colors according to the actual values of temperature, pressure,....     I will use
a .JPG map of the earth
as a texture.   Perhaps there are two ways I can implement data visualization.  One
is  displaying many
points with different colors based on the actual values of temperature,pressure....
on the surface of the
earth( a sphere ), the other is to modify the texture map .   Could you give me
some sugestions ?
Thanks for any help you have given to me !

Best Regards,

-WuGang


> >
> >
> > -WuGang
>
> Attached is a simple example program that does what you want.  There
> aren't many comments but hopefully you can see what is going on from
> the code.
>
> Dan Petersen
> Java 3D Team
> Sun Microsystems
>
>   ------------------------------------------------------------------------
> /*
>  *      %Z%%M% %I% %E% %U%
>  *
>  * Copyright (c) 1996-1998 Sun Microsystems, Inc. All Rights Reserved.
>  *
>  * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
>  * modify and redistribute this software in source and binary code form,
>  * provided that i) this copyright notice and license appear on all copies of
>  * the software; and ii) Licensee does not utilize the software in a manner
>  * which is disparaging to Sun.
>  *
>  * This software is provided "AS IS," without a warranty of any kind. ALL
>  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
>  * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
>  * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
>  * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
>  * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
>  * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
>  * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
>  * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
>  * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
>  * POSSIBILITY OF SUCH DAMAGES.
>  *
>  * This software is not designed or intended for use in on-line control of
>  * aircraft, air traffic, aircraft navigation or aircraft communications; or in
>  * the design, construction, operation or maintenance of any nuclear
>  * facility. Licensee represents and warrants that it will not use or
>  * redistribute the Software for such purposes.
>  */
>
> import java.applet.Applet;
> import java.awt.BorderLayout;
> import java.awt.event.*;
> import java.awt.GraphicsConfiguration;
> import com.sun.j3d.utils.applet.MainFrame;
> import com.sun.j3d.utils.geometry.ColorCube;
> import com.sun.j3d.utils.universe.*;
> import javax.media.j3d.*;
> import javax.vecmath.*;
>
> public class HelloUniverse extends Applet {
>     public BranchGroup createSceneGraph() {
>         // Create the root of the branch graph
>         BranchGroup objRoot = new BranchGroup();
>
>         // Create the transform group node and initialize it to the
>         // identity.  Enable the TRANSFORM_WRITE capability so that
>         // our behavior code can modify it at runtime.  Add it to the
>         // root of the subgraph.
>         TransformGroup objTrans = new TransformGroup();
>         objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
>         objRoot.addChild(objTrans);
>
>         // Create a simple shape leaf node, add it to the scene graph.
>         int stripCount[] = { 5 };
>         PointArray pa =
>           new PointArray(5, PointArray.COORDINATES);
>         float coords[] = { -0.5f, -0.5f, 0.0f,
>                            -0.5f,  0.5f, 0.0f,
>                             0.5f,  0.5f, 0.0f,
>                             0.5f, -0.5f, 0.0f,
>                            -0.5f, -0.5f, 0.0f };
>
>         pa.setCoordinates(0, coords);
>         Appearance app = new Appearance();
>         PointAttributes pointAttrs = new PointAttributes();
>         pointAttrs.setPointSize(3.0f);
>         ColoringAttributes colorAttrs = new ColoringAttributes();
>         colorAttrs.setColor(1.0f, 0.0f, 1.0f);
>         app.setPointAttributes(pointAttrs);
>         app.setColoringAttributes(colorAttrs);
>         Shape3D s3d = new Shape3D(pa, app);
>
>         objTrans.addChild(s3d);
>
>         // Create a new Behavior object that will perform the desired
>         // operation on the specified transform object and add it into
>         // the scene graph.
>         Transform3D yAxis = new Transform3D();
>         Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
>                                         0, 0,
>                                         4000, 0, 0,
>                                         0, 0, 0);
>
>         RotationInterpolator rotator =
>             new RotationInterpolator(rotationAlpha, objTrans, yAxis,
>                                      0.0f, (float) Math.PI*2.0f);
>         BoundingSphere bounds =
>             new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
>         rotator.setSchedulingBounds(bounds);
>         objTrans.addChild(rotator);
>
>         // Have Java 3D perform optimizations on this scene graph.
>         objRoot.compile();
>
>         return objRoot;
>     }
>
>     public HelloUniverse() {
>         setLayout(new BorderLayout());
>         GraphicsConfiguration config =
>            SimpleUniverse.getPreferredConfiguration();
>
>         Canvas3D c = new Canvas3D(config);
>         add("Center", c);
>
>         // Create a simple scene and attach it to the virtual universe
>         BranchGroup scene = createSceneGraph();
>         SimpleUniverse u = new SimpleUniverse(c);
>
>         // This will move the ViewPlatform back a bit so the
>         // objects in the scene can be viewed.
>         u.getViewingPlatform().setNominalViewingTransform();
>
>         u.addBranchGraph(scene);
>     }
>
>     //
>     // The following allows HelloUniverse to be run as an application
>     // as well as an applet
>     //
>     public static void main(String[] args) {
>         new MainFrame(new HelloUniverse(), 256, 256);
>     }
> }



--

-------------------------------------
Name:Zhao WuGang
Integrated Media System Center
Dept. of Computer Science
Univ. of Southern California

Addr.
2633 Ellendale Place, Apt. 106
Los Angeles, CA 90007
Tel: 213-740-2295(office)
323-731-6509(home)
Email: [EMAIL PROTECTED]
URL: http://shemiran.usc.edu/wugangzh/
 http://shemiran.usc.edu/genesis/
Office: PHE-434


=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 3D Home Page: http://java.sun.com/products/java-media/3D/

Reply via email to