1.环境需要
(1)JDK(我使用的是1.8版本的)不要用太高的版本下载地址链接:https://pan.baidu.com/s/1FDvJcG5SMdWxl3fVnRbmRw 提取码:6cdp
(2)需要JAVA3D插件的安装下载路径为:https://download.csdn.net/download/hongfei568718926/11670370
安装的时候选对你的JDK的版本32或者64位,对应不同的安装,安装过程傻瓜式安装,
(3)必要的JAVA3D的jar包,下载地址https://download.csdn.net/download/hongfei568718926/11670445
下载后jar包放在G:\Java\JDK\jre\lib\ext这个目录下面(注意路径)
(4)运行的时候报
-
Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path这个错误的时候需要下载j3dcore-ogl.dll文件,下载路径https://download.csdn.net/download/hongfei568718926/11670416 -
并放在G:\Java\JDK\bin这个目录下面(注意路径)
2.测试程序
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.vecmath.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.behaviors.vp.*;
import com.sun.j3d.utils.applet.MainFrame;
public class line1 extends Applet{
BranchGroup createSceneGraph(){
BranchGroup objRoot = new BranchGroup();
float vert[] = {
0.0f,0.0f,0.0f,
0.5f,0.3f,0f,
-0.4f,0.1f,0.0f,
0.4f,-0.4f,0f};
float color[] = { 1.0f,0.5f,1.0f, 0.5f,0.0f,1.0f, 0.0f,0.8f,0.0f, 1.0f,0.8f,0.0f};
//创建LineArray实例line 没两点画一个线
LineArray line = new LineArray(4,LineArray.COORDINATES|LineArray.COLOR_3);
//设置Line的坐标数组和颜色数组
line.setCoordinates(0,vert);
line.setColors(0,color);
//定义一个Shape3D实例,并将line赋给Shape3D
Shape3D shape = new Shape3D();
shape.setGeometry(line);
objRoot.addChild(shape);
//定义一个白色的背景
BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0),100);
Color3f bgColor = new Color3f(1.0f,1.0f,1.0f);
Background bg = new Background(bgColor);//背景颜色
bg.setApplicationBounds(bounds);
objRoot.addChild(bg);
objRoot.compile();
return objRoot;
}
//创建三维场景图
public line1(){
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D c = new Canvas3D(config);
add("Center",c);
BranchGroup scene = createSceneGraph();
SimpleUniverse u = new SimpleUniverse(c);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
public static void main(String[] args){
new MainFrame(new line1(),200,200);
}
}
3.运行结果

4.鼓励学JAVA3D,没有积分的伙伴可以直接点击下方获取所有文件:
链接:https://pan.baidu.com/s/1X69zLcWicfj9yzU_46_iwQ 提取码:fgqx
|