说明如何显示一个球灯 : 球面 « 三维图形动画 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » 三维图形动画 » 球面屏幕截图 
说明如何显示一个球灯
说明如何显示一个球灯

/*
The Joy of Java 3D

by Greg Hopkins

Copyright Copyright 2001


*/
/*
Lighting up the World. The way the light falls on an object provides us with the 
shading that helps us see shapes in three dimensions

The next example illustrates how to display a ball lit by a red light:

The sphere we created is white (the default), it appears red because of the colored 
light. Since it is a DirectionalLight, we also have to specify how far the light 
shines and in what direction. In the example, the light shines for 100 meters from 
the origin and the direction is to the right, down and into the screen (this is defined 
by the vector: 4.0 right, -7.0 down, and -12.0 into the screen).

You can also create an AmbientLight which will produce a directionless light, or a 
SpotLight if you want to focus on a particular part of your scene. A combination of a 
strong directional light and a weaker ambient light gives a natural-looking appearance to 
your scene. Java 3D lights do not produce shadows.


*/


import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.DirectionalLight;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3f;

import com.sun.j3d.utils.geometry.Sphere;
import com.sun.j3d.utils.universe.SimpleUniverse;

public class Ball {
  public Ball() {
    // Create the universe
    SimpleUniverse universe = new SimpleUniverse();

    // Create a structure to contain objects
    BranchGroup group = new BranchGroup();

    // Create a ball and add it to the group of objects
    Sphere sphere = new Sphere(0.5f);
    group.addChild(sphere);

    // Create a red light that shines for 100m from the origin
    Color3f light1Color = new Color3f(1.8f0.1f0.1f);
    BoundingSphere bounds = new BoundingSphere(new Point3d(0.00.00.0),
        100.0);
    Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
    DirectionalLight light1 = new DirectionalLight(light1Color,
        light1Direction);
    light1.setInfluencingBounds(bounds);
    group.addChild(light1);

    // look towards the ball
    universe.getViewingPlatform().setNominalViewingTransform();

    // add the group of objects to the Universe
    universe.addBranchGraph(group);
  }

  public static void main(String[] args) {
    new Ball();
  }
}

           
       
Related examples in the same category
1. 现场是九个领域和一个光源现场是九个领域和一个光源
2. 球样球样
3. 红色球使用工具类红色球使用工具类
4. 外观
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.