当前位置: 首页 > article >正文

Java3D安装(idea版)

点击此处,获取更良好的阅读体验

文章目录

    • 前言
    • 1. JDK安装
    • 2. Java 3D 1.5.1
    • 3. idea的安装

前言

正值学习计算机图形学期间,学校选用的是比较冷门的Java3D,网上的安装教程也比较少,安装教程仅供参考。

1. JDK安装

JDK 点击下载
可以下载1.8或11稳定版本,这里记得要在我的电脑中配置环境,由于教程众多这里不再赘述

2. Java 3D 1.5.1

Java3d 点击下载
根据自己的系统选取,例如本人用的是windows,则选java3d-1-5-1-windows-i586.exe(代表32位)

这里注意一点,JDK和Java3D的位数需相同,例如JDK用的32位,Java3D库也需32位

3. idea的安装

idea 点击下载
下载community版本即可,如有激活码或其它途径可下载ultimate版本

以上三样安装安装好之后,即可打开idea进行配置


  • ddl文件配置
    将Java3D bin目录文件下的ddl文件拷贝至JDK bin目录下,否则将报异常UnsatisfiedLinkError
  • 打开idea,选取环境,创建项目
    右键External Libraries下的环境,打开库设置
  • 添加jar包
  • 找到java3d的安装位置,默认是在以下路径
    \Java3D\1.5.1\lib\ext
    将jar包导入即可
    (64版本的Java安装路径可能无(x86))
  • 最后用代码测试结果
package com.codeslogan.Test;import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.awt.GraphicsConfiguration;/*** Simple Java 3D example program to display a spinning cube.*/
public class HelloUniverse extends javax.swing.JFrame {private SimpleUniverse univ = null;private BranchGroup scene = null;public BranchGroup createSceneGraph() {// Create the root of the branch graphBranchGroup objRoot = new BranchGroup();// Create the TransformGroup node and initialize it to the// identity. Enable the TRANSFORM_WRITE capability so that// our behavior code can modify it at run time. Add it to// the root of the subgraph.TransformGroup objTrans = new TransformGroup();objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);objRoot.addChild(objTrans);// Create a simple Shape3D node; add it to the scene graph.objTrans.addChild(new ColorCube(0.4));// Create a new Behavior object that will perform the// desired operation on the specified transform and add// it into the scene graph.Transform3D yAxis = new Transform3D();Alpha rotationAlpha = new Alpha(-1, 4000);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);objRoot.addChild(rotator);// Have Java 3D perform optimizations on this scene graph.objRoot.compile();return objRoot;}private Canvas3D createUniverse() {// Get the preferred graphics configuration for the default screenGraphicsConfiguration config =SimpleUniverse.getPreferredConfiguration();// Create a Canvas3D using the preferred configurationCanvas3D c = new Canvas3D(config);// Create simple universe with view branchuniv = new SimpleUniverse(c);// This will move the ViewPlatform back a bit so the// objects in the scene can be viewed.univ.getViewingPlatform().setNominalViewingTransform();// Ensure at least 5 msec per frame (i.e., < 200Hz)univ.getViewer().getView().setMinimumFrameCycleTime(5);return c;}/*** Creates new form HelloUniverse*/public HelloUniverse() {// Initialize the GUI componentsinitComponents();// Create Canvas3D and SimpleUniverse; add canvas to drawing panelCanvas3D c = createUniverse();drawingPanel.add(c, java.awt.BorderLayout.CENTER);// Create the content branch and add it to the universescene = createSceneGraph();univ.addBranchGraph(scene);}// ----------------------------------------------------------------/** This method is called from within the constructor to* initialize the form.* WARNING: Do NOT modify this code. The content of this method is* always regenerated by the Form Editor.*/// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponentsprivate void initComponents() {drawingPanel = new javax.swing.JPanel();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);setTitle("HelloUniverse");drawingPanel.setLayout(new java.awt.BorderLayout());drawingPanel.setPreferredSize(new java.awt.Dimension(250, 250));getContentPane().add(drawingPanel, java.awt.BorderLayout.CENTER);pack();}// </editor-fold>//GEN-END:initComponents/*** @param args the command line arguments*/public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new HelloUniverse().setVisible(true);}});}// Variables declaration - do not modify//GEN-BEGIN:variablesprivate javax.swing.JPanel drawingPanel;// End of variables declaration//GEN-END:variables}
  • 安装成功!!
http://www.lryc.cn/news/2416664.html

相关文章:

  • VBA:VBA常用小代码合集
  • 电脑系统提示找不到ddraw.dll文件如何解决?
  • pcAnywhere在局域网内的使用图解
  • 中文网站人气排行
  • 实验四 存储器实验
  • Linux中安装MySQL以及报错解决(错误:GPG 检查失败)
  • Android应用Preference相关及源码浅析(Preference组件家族篇)
  • vb相关网站
  • 珍藏多年的各类资源网站分享给大家
  • 目录切换命令
  • Android开发技术栈总结,技巧经验分享
  • CVE-2019-1388 UAC提权 (nt authority\system)
  • InlineHook和API HOOK从原理开始,一次性掌握劫持技术
  • 软件体系结构设计|描述与架构风格
  • handleMessage的使用
  • Windows的窗口刷新机制
  • 新建边城变110千伏输变电工程设计
  • 债券代持理解
  • 美国雷曼兄弟公司简介
  • MSDN Library Visual Studio6.0 简体中文版下载及安装
  • 数据库:关于BULK INSERT 学习笔记(2)
  • 软件产品认定需要准备什么
  • 海思3518E开发笔记1.5——flash分区及uboot、kernel、rootfs烧写并部署
  • 【资源】Android Developer网站无法访问问题的解决之道
  • 网页游戏开发教程
  • surfaceview 和surfaceholder的理解和使用
  • 手把手全面解读思科(Cisco)网络技术学院 考试折扣号申请说明
  • tp5框架 报错非法请求:admin/index/index
  • 【转】ArcGIS 地统计学习指南(一、二、三、四、五)
  • 计算机信息系统项目管理师挂靠,信息系统项目管理师挂靠的申报条件是什么?...