基于Java与Cult3d 技术的发动机运动仿真

来源:网络(转载) 作者:张永亮 张伟 吴刚 发表于:2011-06-29 09:55  点击:
【关健词】Cult3D;Java;曲轴连杆机构;交互设计;仿真
为了解决发动机曲轴连杆机构复杂运动过程的虚拟仿真,研究了应用Java技术扩展Cult3D软件交互设计功能,从而实现了发动机曲轴连杆机构工作过程虚拟仿真。

Motion Simulation of the Engine Based on Java and Cult3D Technology
  ZHANG Yong-liang, ZHANG Wei, WU Gang
  (Wuhan Ordnance N.C.O Academy, Wuhan 430075, china)
  Abstract: In order to virtual simulate Complex movement of the engine's crankshaft Linkage Mechanism, Studing apply Java technology extend Cult3D interactive design capabilities, realize Motion Simulation of the engine's Crank Linkage Mechanism.
  Key words: Cult3D; Java; crankshaft linkage mechanism; interactive design; simulation
  发动机[1]是机械车辆的动力装置,主要由曲轴连杆机构、配气机构、燃料供给系、润滑系、冷却系和起动系组成。发动机由于结构比较复杂,工作原理难以理解,在发动机的结构与原理教学中通常大量应用二维Flash动画和三维实体模型动画,以实现构造与原理的形象化教学,增强教学效果。在制作发动机的三维实体模型动画中,发动机曲轴连杆机构的运动过程仿真比较复杂,本文主要介绍基于java技术[2]在Cult3D软件中如何实现发动机曲轴连杆机构运动过程仿真。
  1 Cult3D概述[3-5]
  Cult3d是Cycore公司开发的三维交互设计应用软件。它采用了很先进的压缩技术,并支持多重阴影效果、贴图和双线性滤镜,制作出来的模型具有高度逼真的画质,另外Cult3d是可视化3D交互设计软件,它的交互性好,能实现各种复杂的动画。Cult3d最后生成的文件(.co为扩展名)是很小,一般只有几十KB到几百KB,非常适合于在网络上传输;并且采用流技术传递,使得我们不用等到最后全部文件下载完后才可以观看3D文件,而使得我们在下载的时候就可以观看它的外观,这对于网速较慢时候我们观看3D文件很合适。由于Cult3d是使用java语言开发出来的,所以它生成的文件可以嵌入到Microsoft Office的PowerPoint、Excel,Adobe的Acrobat及web网页等多种应用软件中,兼容非常好。
  2 Java在 Cult3D中的应用
  Cult3d是使用java语言开发出来的,因而java程序可以嵌入到Cult3d文件中,由于java程序的应用,大大加强了Cult3d软件的交互功能。为Cult3d文件编写的java程序,必须针对Cult3d开发的类包Cult3DDevelop.jar,这个文件一般在Cult3d软件的安装目录下。使用Java编写Cult3D程序时,必须声明一个类,作为com.cult3d.Cult3DScript的接口,调用它唯一函数public void cult3dDestroy()。当Cult3D显示关闭的时候,调用该方法,并释放资源。当初始化Cult3D时,要调用它不带参数的构造器,即使它不做任何事。你要有你自己的初试的类方法。在工程文件中有多个类时,你必须定义一个完成初始化工作的类。最简单的StartUp类代码如下:
  import com.cult3d.Cult3DScript;
  public class BasicSnippet implements Cult3DScript
  {// 你的其它类
  private OtherClass x;
  // 构造器
  public BasicSnippet()
  {x = new OtherClass();}
  public void startObject(String s)
  {x.startObject();}
  // 该方法在Cult3D viewer将被关闭时调用
  public void cult3dDestroy()
  {}
  }
  把编写好的Java类用编译工具生成*.Class文件后,就可把生成的Class文件导入Cult3D软件中应用。具体地,在Cult3D Designer中,选择View->Java,在弹出的窗口中,选择你要链接的java 类。在指明StartUp类的地方,你选择实现com.cult3d.Cult3DScript接口的Java类。点中StartUp类前面的(+)号,其中的public 方法和它的String参数变为可见,你能把它拖到Cult3D Desingner的对应事件中。如果是关联鼠标事件的java方法,这个参数就指明鼠标点击的对象。如果是关联键盘事件的java方法,被按键的键名将被传给这个参数。
  3 发动机曲轴连杆机构运动过程仿真
  3.1 曲轴连杆机构运动过程分析[6]
  曲轴连杆机构的运动过程可简化为曲轴滑块机构的运动过程,主要包括曲轴的旋转运动、活塞与连杆的上下运动和连杆的摆动,其中曲轴是绕自己的轴心匀速转动,活塞与连杆作上下变速运动,连杆上下变速运动的同时,绕活塞销左右摆动。其中曲轴主轴颈与连杆轴颈之间的轴向距离r相当于曲轴滑块机构的曲轴,活塞相当于滑块,连杆大头中心与连杆小头中心之间的距离l相当于曲轴滑块机构的连杆。如图1所示。
  根据机械原理中曲轴滑块机构的运动规律可得知活塞的运动方程和连杆摆动方程如下:
  (1)
  (2)
  3.2 实现运动过程的Java类设计
  由于运动方程(1)(2)表达式比较复杂,在Cult3D Designer中,不能直接用Cult3D软件中预设的动作模拟出来,因此需要在Java类中把曲轴连杆机构的运动过程根据运动方程(1)(2)设计出来。具体Java代码如下:
  import com.cult3d.*;
  import com.cult3d.world.*;
  public class yuanli extends Thread implements Cult3DScript
  {//创建事件和对象变量
   private CultObject quzhou;
   private CultObject huosai1;
   private CultObject huosai2;
   private CultObject huosai3;
   private CultObject huosai4;
   private CultObject liangan1;
   private CultObject liangan2;
   private CultObject liangan3;
  private CultObject liangan4;
   private double amTranslate23;
   private double amRotate23;
   private double amTranslate14;
   private double amRotate14;
   private double a;
   private int b;
   private int c;
   private int i;
   private Integer IntegerObject;
  private double time;
  private CultEvent rotate;
  private CultEvent rotateContinue;
  private static final double PI = 3.14159265358979323846;
  /*构造器初始化*/
  public yuanli() (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)

顶一下
(0)
0%
踩一下
(0)
0%


版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.