Java 3D在数控仿真中的运用

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:shakekele
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章对网络图形建模语言(Java 3D)进行了研究,通过Java 3D构建三维世界,并在网页上显示三维图像,用Java 3D的图形技术,把转换形成的图形格式直接用于仿真之中,不需要利用编程方式进行建模。使得数控加工仿真技术达到缩短加工编程的周期、提高生产效率、降低生产成本的意义。
  关键词:Java 3D;三维绘图;数控仿真;网页
  中图分类号:TP391 文献标记码:A 文章编号:1009-3044(2007)06-11688-02
  
  1 Java 3D简介
  Java 3D技术是一种新型三维构建技术,是Java语言在三维领域的延伸。相对于传统的三维设计语言C++和URML,它不仅对底层的图形库OpenGL和Direct3D进行了封装,还继承了Java语言高性能、可扩展等优点,使开发者能够高效地构建大规模的三维场景,简化了三维程序设计。
  Java 3D实现了下面三维显示所需要使用的功能:
  (1)生成简单或复杂的形体;(2)使形体具有颜色、透明效果、贴图;(3)在三维环境中生成灯光、移动灯光;(4)具有行为的处理判断能力(键盘、鼠标、定时等);(5)生成雾、背景、声音;(6)使形体变形、移动、生成三维动画;(7)编写非常复杂的应用程序,用于各种领域,例如VR(虚拟现实)。
  
  2 Java 3D的逻辑结构
  Java 3D与Java一样是纯粹的面向对象结构,采用的是Scene Graphs Structure场景图树状结构(图1)。图中对象逻辑上分为三类:根节点(Virtual Universe)、节点(Local Object、Branch Group Nodes、Behavior Node、Shape3D Node…)、叶子节点(Appearance、Geometry…)。
  观察平台(View Platform)和View定义了观察点的信息。
  在Java 3D中。位置由X,Y,Z坐标描述。X轴坐标值沿向右方向增长,Y轴向上,Z轴由屏幕向外,这被称为“右手”坐标系,距离都使用米来表示。
  图1Java 3D的逻辑结构图
  
  3 Java 3D交互式编程
  Java 3D继承了Java类的描述和定义。因此,需要了解Java 3D和制作Java 3D的运动仿真,必须首先熟悉、了解并运用Java和Java 3D的类,下面在数控仿真运用的基础上,介绍几个编程需要使用的关键类。
  3.1 交互式编程的基础——behavior类
  作为一套优秀的3D图形API,Java 3D提供了支持观察者移动功能的类,该类通过响应的键盘和鼠标的输入来控制目标物体的移动。可以根据不同的鼠标输入来实现物体的平移、旋转和缩放。该功能比在VRML中实现运动要方便。
  3.2 行为和插值刻画动作——Alpha类
  三维动画并不仅仅指三维物体的运动,还包括形状、外观等可视效果的变化。这些变化都可以抽象为数值随时间的变化函数。因此,可以进一步的把数值范围归到0~1,将具有这个功能的函数及相关一组操作封装为一个类,Java 3D提供了这个类——Alpha。
  在程序中写入Alpha函数,则可以完全地描述一个物体,或者是物体一个行为的动作。定义所有Alpha函数的参数值以后,采用Java 3D就是可以精确描述三维物体的运动和变化。
  3.3 插值器Interpolator类
  Interpolator类的一般使用过程分5步:1)创建目标对象;2)创建Alpha对象;3)创建Interpolator对象,绑定Alpha对象;4)设置Interpolator对象的范围;5)将Interpolator对象添加到场景中。
  
  4 Java 3D交互式编程的实现
  在讨论了上述编程方式以后,举例给出数控铣削仿真的源码和实例,简单描述Java 3D的功能和作用。相关的源码如下:
  ………………………………………
  //仿真动画
  //Create the root of the branch graph
  Transform3D t3d=new Transform3D();
  TransformGroup objMove=new TransformGroup();
  objMove.setCapability(TransformGroup.ALLOW_TRANSFORM_
  WRITE);
  //设置节点数0.8f,
  float knots[]={0.0f,0.2f,0.3f,0.4f,0.5f,0.6f,0.7f,0.8f,1.0f};
  //创建位子数组
  Point3f positions[]={
  new Point3f(0.0f,0.0f,0.0f),
  new Point3f(0.1f,0.0f,0.0f),
  new Point3f(0.lf,-0.1f,0.0f),
  new Point3f(0.0f,-0.1f,0.0f),
  new Point3f(-0.lf,-0.1f,0.0f),/////
  new Point3f(-0.lf,-0.1f,0.02f),
  new Point3f(0.0f,-0.1f,0.02f),
  new Point3f(0.lf,-0.1f,0.02f),
  //new Point3f(0.1f,0.0f,0.01f),
  //new Point3f(-0.lf,-0.1f,0.0f),
  new Point3f(0.0f,0.0f,0.0f)};//设置方向
  //t3d.setTranslation(new Vector3f(1.0f,0.0f,0.0f));
  //t3d.setTranslation(new Vector3f(0.0f,0.0f,1.0f));//
  Alpha alpha=new Alpha(-1,A1pha.INCREASING_ENABLE+
  A1pha.DECREASING_ENABLE,0,0,2000,0,1000,2000,0,1000);
  PositionPathlnterpolator posPathInt=new
  PositionPathInterpolator(alpha,objMove,t3d,knots,positions);
  posPathInt.setSchedulingBounds(bounds);
  ////////////////////////
  t3d.setTranslation(new Vector3f(-1.0f,0.0f,-l.0f);
  TransformGroup objMovePos=new TransformGroup(t3d);
  objRoot.addChild(objMovePos);
  //objMovePos.addChild(objMove);
  //objMove.addChild(new ColorCube(0.2f));
  trans.addChild(g1);
  objMove.addChild(g2);
  objMove.addChild(g3);
  trans2.addChild(objMove);
  objRoot.addChild(posPathInt);
  5 网页上显示Java3D图形
  Java 3D可以很容易地与Java平台的其他技术相结合,例如Applet、JSP、Serverlet、JDBC、EJB等。Applet可以在网页中显示Java 3D。Java 3D将Applet作为显示容器,先要在Applet中实现3D图形在网页中嵌入该Applet。
  例:网页中嵌入Applet类型的程序。先将Applet编译成SimpleCone.class文件,再编写一个HTML文件。
  
  
  
  

  
  
  另外,通过JSP和Serverlet,可以在网页中动态实现Jave 3D。如果动态设定Applet,能控制Java 3D在网页中的动态显示;还可通过其他方法实现JSP、Server1et对Java 3D显示效果的控制,甚至可以将Java 3D置于J2EE平台的显示层,实现对EJB、JDBC的调用。
  
  6 结束语
  随着Internet的发展,网页的互动需求也对三维图像的显示提出了更多要求,Java 3D的出现使得网页三维图形的实现更加方便,数控加工仿真技术对缩短数控加工编程的周期、提高生产效率、降低生产成本具有重要的意义。三维图形仿真技术的实现为整个数控加工仿真系统的运行提供了基础。在目前Web运行条件下,对于小规模的Web系统来说,Java 3D显示方式所支持的图形文件格式和运行方式的使用效果较好,很好的显示了三维图形仿真技术。
  参考文献:
  [1]邓定华,等.如何在网页上实现Java 3D绘制图像[J].计算机与现代化,2006(2):91-95.
  [2]朱晓明.网络数控插补教学软件的开发与研究[D].哈尔滨:哈尔滨工业大学,2002:37.
  [3]冯乔生等.Java 3D中的Text2D的扩展与应用[J].计算机工程与应用,2003;39(20):122-125.
  [4]张杰.Java 3D交互式三维图形编程[M].北京:人民邮电出版杜,1999.
  [5]都志辉.Java3D编程实践——网络上的三维动画[M].北京:清华大学出版社,2002.
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘要:分析并讨论了过采样Σ-ΔADC中过采样技术和噪声整形技术的工作原理,Σ-Δ调制器的级数对整形效果的影响及调制器的结构选择,并用MATLAB语言的simulink工具箱进行了系统级的仿真。  关键词:过采样;Σ-Δ调制器;噪声整形  中图分类号:TN761文献标识码:A文章编号:1009-3044(2007)06-11631-01    1 引言  传统A/D转换器,如逐次积分型、折叠型和流水
期刊
摘要:基于图像的建模语言GXML不同于以往的图像编码,它能够将图像的内容和样式分离,这使得图像能在网络上进行高速传输,并能适应不同的客户端浏览器。利用该特点对学科知识体系结构进行描述,可以得到一个图像的灵活布局。  关键词:GXML;样式;知识体系结构;灵活布局   中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11624-03    1 引言  随着功能更为强
期刊
摘要:关于窗体的卸载往往被程序设计者尤其是一些初学者所忽视。本文从事件Queryunload和Unload参数的作用及事件的使用两方面对事件Queryunload和Unload进行了详细的探讨。并且给出了两个比较重要的观点。  关键词:Queryunload;Unload;参数  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)06-11665-01    1 引言 
期刊
摘要:文章主要介绍一种简易通用的UART IP核的设计。UART作为一种短距离、低成本通信的串行传输接口,随着嵌入式系统的迅速发展,已成为SoC(System on Chip)芯片中的一个重要部件,在数字通信中得到了广泛的应用。本设计在对UART的串行通信协议进行详细分析的基础上,采用Verilog HDL语言对ALTERA的Cyclone系列FPGA进行设计,用一片FPGA实现了UART的发送、
期刊
摘要:通过对气象信息综合分析处理系统(MICAPS)中第十三类数据格式和Windows系统的BMP位图格式的结构进行分析研究,将只能在MICAPS中显示的卫星云图转换为位图图像,从而扩展了卫星运图的查看方式,方便了工作。  关键词:MICAPS;位图;数据格式;转换  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11603-01    1 引言  MICAPS
期刊
摘要:首先介绍了组件技术和框架技术的思想和设计原则,并在此基础上提出了设计Agent结构应该遵循的原则;依照文中所述的各项原则,提出了一种基于组件的Agent框架,并对框架中的组件及工作原理进行了详细地描述。  关键词:框架;组件;Agent结构模型  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11637-03    1 引言  多Agent系统(MAS)能
期刊
摘要:μC/OS-II是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可靠性,μC/OS-II作为一个操作系统内核,它没有设备驱动程序管理部分。文章着重阐述了如何为μC/OS-II添加设备驱动程序管理模块,并给出了在NEC PD78F0376 平台下串口驱动程序的范例。  关键词: μC/OS-II;驱动设备管理;串口驱动  中图分类号:TP316文献标识码:A文章编号:1009-
期刊
摘要:当前基于P2P模式的开发与应用引起人们的广泛关注,JXTA是SUN公司推出的,提供了一个构建跨平台、跨操作系统和跨编程语言的P2P网络应用程序的通用平台。文章介绍了JXTA的功能,详细分析JXTA平台的环境配置,及其基础上的HelloWorld程序的运行。  关键词:JXTA;P2P;JXTA configurator tool  中图分类号:TP393 文献标识码:A文章编号:1009-3
期刊
摘要:J2EE是目前流行且成熟的分布式应用开发模型,结合J2EE在开发分布式应用方面的优势,设计了一种基于J2EE平台的电子邮件系统,并利用JavaMail强大的邮件处理功能,对系统进行了实现。  关键词:电子邮件;J2EE;JavaMail  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11647-02    1 引言  电子邮件是Internet上应用最广
期刊
摘要:通过对低端FPGA的设计,完成数据量不大的光口通信功能;并对传输中的协议进行了说明,实现了数据的有效传输。  关键词:FPGA;SPARTAN3E;光通信  中图分类号:TP311 文献标识码:A文章编号:1009-3044(2007)06-11669-02    1 引言  当今,在电子设计领域,FPGA因为其强大的功能、低功耗、高速并行处理等优势越来越受到广大设计人员的青睐。无论在工业控
期刊