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/