Java3D,算是比較古老的技術,Java8中Oracle對JavaFX支持了Java3D. 相關資料參照Oracle官網 <JDK8目前還沒有正式發布 Early Access版本下載地址 http://jdk8.java.net>
環境搭建Java3D開發環境,JDK下載見Oracle官網.安裝後在安裝目錄下的lib文件中找到Java3D驅動包,添加的自己的項目中
Java3D實現簡單幾何空間圖形說明:
實例應用:創建3D直線
代碼如下:
package com.java3d.dennist.study;
import javax.media.j3d.Appearance;
import javax.media.j3d.LineArray;
import javax.media.j3d.LineAttributes;
import javax.media.j3d.Shape3D;
/**
*
*
* @version : 1.1
*
* @author : 蘇若年 <a href="mailto:DennisIT@163.com">發送郵件</a>
*
* @since : 1.0 創建
將3d直線放置到場景中
代碼如下:
package com.java3d.dennist.study;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.DirectionalLight;
import javax.media.j3d.Shape3D;
import javax.vecmath.Color3f;
import javax.vecmath.Point3d;
import javax.vecmath.Vector3f;
import com.sun.j3d.utils.universe.SimpleUniverse;
/**
*
*
* @version : 1.1
*
* @author : 蘇若年 <a href="mailto:DennisIT@163.com">發送郵件</a>
*
* @since : 1.0 創建
運行效果:
其他形狀
錐體: Cone cone=new Cone(.5f,1.0f,1,app) //app即外觀參數
球體: Sphere sphere=new Sphere(.5f,app); //app即外觀參數
圓柱體: Cylinder cylinder=new Cylinder(.5f,1.0f);
實例應用:Java3D實現空間椎體
代碼如下:
package com.java3d.dennist.study;
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.Cone;
import com.sun.j3d.utils.universe.SimpleUniverse;
/**
*
*
* @version : 1.1
*
* @author : 蘇若年 <a href="mailto:DennisIT@163.com">發送郵件</a>
*
* @since : 1.0 創建
效果圖:
實例應用:Java3D實現空間球體
代碼如下:
package com.java3d.dennist.study;
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;
/**
*
*
* @version : 1.1
*
* @author : 蘇若年 <a href="mailto:DennisIT@163.com">發送郵件</a>
*
* @since : 1.0 創建
效果圖:
實例應用:Java3D實現空間圓柱體
代碼如下:
package com.java3d.dennist.study;
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.Cylinder;
import com.sun.j3d.utils.universe.SimpleUniverse;
/**
*
*
* @version : 1.1
*
* @author : 蘇若年 <a href="mailto:DennisIT@163.com">發送郵件</a>
*
* @since : 1.0 創建
效果圖: