JAVA3D安装小结(转)

课题需要根据实验数据画出3d曲面图,来展示二维数据,所以使用java3d来实现。这里是java3d的学习记录。

1.Java 3D简介

      Java 3D是Java语言在三维图形领域的扩展,是一组应用编程接口(API)。利用Java 3D提供的API,可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等等。利用Java 3D编写的程序,只需要编程人员调用这些API进行编程,而客户端只需要使用标准的Java虚拟机就可以浏览,因此具有不需要安装插件的优点。


2.java3d的安装方法

      我使用的jdk为j2sdk14版本,所以下载的java3d版本必须为1.4版本(文件名java3d-1_4_0_01-windows-i586.exe),下载地址如下:
http://java.sun.com/products/java-media/3D/1.4.0_01/download.html

      java3d-1_4_0_01-windows-i586.exe安装完后,打开C:\Program Files\Java\Java3D\1.4.0_01文件夹,拷贝bin和lib文件夹至D:\j2sdk14\jre。

3. 一个例子

      下面代码拷贝到记事本,存为Hello.java。然后用javac Hello.java编译,java Hello.class运行。

import com.sun.j3d.utils.geometry.*;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;

public class Hello {
public Hello()
{
   // 创建一个虚拟空间
   SimpleUniverse universe = new SimpleUniverse();
   // 创建一个用来包含对象的数据结构
   BranchGroup group = new BranchGroup();
  
   // 创建一个球并把它加入到group中
   Sphere sphere = new Sphere(0.5f); // 小球的半径为0.5米
   group.addChild(sphere);
  
   Color3f light1Color = new Color3f(1.8f, 0.1f, 0.1f);
   // 设置光线的颜色
   BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.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);
   // 将光源加入group组,安放观察点
   universe.getViewingPlatform().setNominalViewingTransform();
   // 把group加入到虚拟空间中
   universe.addBranchGraph(group);
}

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

 

 

 

 

若出现以下错误,则必须更新电脑的显示驱动,使之支持OpenGl1.2朝上版本。我电脑显示驱动下载地址 http://drivers.mydrivers.com/download/206-82605-ATI-Mobility-Radeon-8.3-For-WinXP/

 

Java 3D ERROR :wglGetExtensionsStringARB not support !
-找不到指定的程序.
Fallback to use standard ChoosePixelFormat.
Java 3D ERROR : OpenGL1.2 or better is required <GL_VERSION=1.1>
java.lang.IllegalStateException: GL_VERSION

4. 网络上的JAVA3D学习资料

(1)http://www.sun.com/desktop/java3d/collateral/ 
这里有SUN公司为我们提供的学习资料。

(2)http://www.sdsc.edu/~nadeau/Courses/VR99/java3d.zip 
这是一个非常好的JAVA3D学习资料。(12,058K),里面有许多例子。 字串3 
大家可以从
http://www.sdsc.edu/~nadeau/中得到VRML和JAVA3D的许多资料。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ROS机器人学习小结全文共9页,当前为第1页。ROS机器人学习小结全文共9页,当前为第1页。ROS机器人学习小结 ROS机器人学习小结全文共9页,当前为第1页。 ROS机器人学习小结全文共9页,当前为第1页。 Ros简介 ROS是一个用于编写软件的灵活框架,它集成了大量的工具、库、协议,提供了类似操作 系统提供所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序 间的消息传递、程序发行包的管理,可以极大的简化繁杂多样的机器人平台下的复杂任务创 建与稳定行为控制。 在短短几年里,ROS得到了广泛的应用,各大机器人平台几乎都支持ROS框架,如 Pioneer、Aldebaran Nao、TurtleBot ' Lego NXT、Asctec quadrotor 等。同时,开源社 区内的ROS功能包呈指数级增长,涉及的应用邻域包括轮式机器人、人形机器人、工业机器 人、农业机器人等。 1.1 ROS的设计目标。 ROS的设计目标是提高机器人研发中的软件复用率,所以它被设计成为一种分布式结构, 使得框架中的每个功能模块都能被单独设计、 编译,并且在运行时以松散耦合 的方式结合在一起。而且ROS中的功能模块都封装于独立的功能包(Package ),便于在社 区中共享与分发。 1-2ROS的特点 ROS核心一一分布式网络,使用Tcp/ip的通信方式,实现模块间点对点的松耦合连 接,可以执行若干类型的通信,包括基于话题的(Topic )的异步数据流通信,基于服务 (service )的同步数据流通信,还有参数服务器上的数据存储等(1)点对点的设计 ROS机器人学习小结全文共9页,当前为第2页。ROS机器人学习小结全文共9页,当前为第2页。在ROS中,每一个进程都以一个节点的形式运行,可以分布于多个不同的主机。 ROS机器人学习小结全文共9页,当前为第2页。 ROS机器人学习小结全文共9页,当前为第2页。 传送到接收节点。这种点对点的设计可以分散定位、导航等功能带来的实时计 算压力,适应多机器人的协同工作。 多语言支撑 Python、C++、Java、Octave、LISP 等 架构精简、集成度高 在已有的机器人应用中,软件的复用性是一个巨大的问题。很多的驱动程序、 应用算法、功能模块在设计时过于混乱,导致其很难在其他机器人或应用中进行移植和 二次开发。而 ROS框架具有模块化特点使得每个功能节点可以进行 单独编译,并且使用统一的消息接口让模块的移植、复用更加便捷。 组织化工具包丰富 移动机器人的开发往往需要一些友好的可视化工具和仿真软件, ROS采用组件 的方法将这些工具和软件集成到系统中可以作为一个组件直接使用。例如 3D 可视化工具rvk,开发者可以根据ROS定义的接口在其显示机器人3D模型、周围环境 地图、机器人导航路线等消息。此外, ROS中还有消息查看工具、物理 仿真环境等组件,提高了机器人开发的效率。 免费并且开源 ROS遵照的BSD许可给使用者较大的自由,允许其修改和重新发布其中的应 ROS机器人学习小结全文共9页,当前为第3页。ROS机器人学习小结全文共9页,当前为第3页。丿II代码,共至町以进行商业化的丿I:发和销售o ROS机器人学习小结全文共9页,当前为第3页。 ROS机器人学习小结全文共9页,当前为第3页。 master: (1)每个node启动时都要向master注册。(2)管理node之间的通信master: (1)每个node启动时都要向master注册。(2)管理node之间的通信 master: (1)每个node启动时都要向master注册。(2)管理node之间的通信 master: (1)每个node启动时都要向master注册。(2)管理node之间的通信 node: (1) ROS的进程。(2) pkg里的可执行文件运行的实例(运行C++、python、shell 脚本等可执行文件,加载到内存中,就成为一个 ROS进程,即一个node) 通信方式 topic 通信 ros中的异步通信方式 机制通信机制通信node 之间通过 publish-subscribe nodeA和nodeB发布和订阅并不同步 机制通信 机制通信 多个node可以发布信息给同一 Topic,多个node可以订阅同一 Topic的信息 service 通信 topic通信占用计算资源,node不停的发布信息和接受信息。 service ROS机器人学习小结全文共9页,当前为第4页。ROS机器人学习小结全文共9页,当前为第4页。ROS中的同步通信方式 ROS机器人学习小结全文共9页,当前为第4页。 ROS机器人学习小结全文共9页,当前为第4页。 ROS机器人学习小结全文共9页,当前为第5页。ROS机器人学习小结

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值