java3d的入门示例

    1)红色圆锥体

     这个示例注释写的非常清楚,比较适合入门的人去学习,运行结果如下图:

package com.quik.java3d;

import java.applet.Applet;              //表示程序是Applet程序
import java.awt.BorderLayout;           //表示窗口环境采用BorderLayout方式进行布局

import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.Cone; //表示调用生成Cone的一个Utility,该包提供基本形体
import com.sun.j3d.utils.universe.*;    //表示调用一些设置基本的观测位置所用的类
import javax.media.j3d.*;               //表示调用程序所需的Java3d核心类,所有的Java3d程序必须带有这一条
import javax.vecmath.*;                 //表示调用程序所需的定义矢量计算所用的数学类

//import com.sun.j3d.utils.applet.MainFrame;//可以使程序既为application也为applet
import java.awt.GraphicsConfiguration; //

public class SimpleCoin extends Applet{
public BranchGroup createSceneGraph(){
   BranchGroup objRoot =new BranchGroup();         //objRoot对象用于向程序的构造方法提供整个createSceneGraph方法里的内容
   TransformGroup objTrans=new TransformGroup();   //新建objTrans对象用于存放坐标系
   objRoot.addChild(objTrans);                     //缺省状况下Java3d的观察点位于(0,0,2.41),所以这里objTrans两句不要也可运行成功
  
   BoundingSphere bounds=new BoundingSphere(new Point3d(0.0,0.0,0.0),100.0); //新建球形限制框,以坐标原点为中心,半径100
  
   Color3f bgColor=new Color3f(1.0f,1.0f,1.0f);   //设置背景色为白色
   Background bg=new Background(bgColor);         //设置背景对象bg的颜色为bgColor
   bg.setApplicationBounds(bounds);               //设置背景应用范围为bounds
   objRoot.addChild(bg);                          //将背景对象bg添加到objRoot对象中
  
   Color3f directionalColor=new Color3f(1.f,0.f,0.f);//设置光源为绿色
   Vector3f vec=new Vector3f(-1.f,0.f,-1.f);          //设置光源为-Z方向
   DirectionalLight directionalLight=new DirectionalLight(directionalColor,vec);//使用直接光照
   directionalLight.setInfluencingBounds(bounds);    //设置光照影响范围为bounds
   objRoot.addChild(directionalLight);               //将光照对象添加到objRoot中
  
   Appearance app=new Appearance();
   Material material=new Material();
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值