第18卷第3期 2 0 1 0年6月 电 脑 与 信 息 技 术 Vo1.18 No.3 Computer and Information Technology Jun.2010 文章编号:1005—1228(2010)02—0063-04 基于Cult3d与Java技术的虚拟产品展示 吴超彬 (福建水利电力职业技术学院,366000) 摘要:以一个实例论述Cult3d在虚拟产品展示中的应用,并通过Cult3d的Java动作,运用Java类文件扩展虚拟产品的 展示功能。 关键词:Cult3d;Java;虚拟实现 中图分类号:TP391.9 文献标识码:A Virtual Product Demonstration Based on Cult3d and Java Technology WU Chao-bin (Fujian College of Water Conservancy Elecdrc Power,YongAn 366000,China) Abstract:Elaborates Cult3d in the Virtual product demomtration application by ai1 example。and through the Cult3d JaVa action,utilizes the Java class file extemiom the demonstration function of virtual producL Key words:Cult3d;Java;Virtual reality 1虚拟现实概述 1.1什么是虚拟现实 据进行可视化操作与交互的一种全新方式,与传统的 人机界面以及流行的视窗操作相比,虚拟现实在技术 思想上有了质的飞跃。 1.2虚拟现实在Web3d/产品/静物展示中的应用 虚拟现实(Virtual Reality,简称VR)是近年来出现 的高新技术。虚拟现实是利用电脑模拟产生一个三维 空间的虚拟世界,提供使用者关于视觉、听觉、触觉等 感官的模拟,让使用者如同身历其境一般,可以及时、 没有限制地观察三度空间内的事物。 Web3D主要有四类运用方向:商业、教育、娱乐、 和虚拟社区。对企业和电子商务三维的表现形式,能 够全方位的展现一个物体,具有二维平面图像不可比 拟的优势。企业将他们的产品发布成网上三维的形式, VR是一项综合集成技术,涉及计算机图形学、人 机交互技术、传感技术、人工智能等领域,它用计算机 能够展现出产品外形的方方面面,加上互动操作,演示 产品的功能和使用操作,充分利用互联网高速迅捷的 传播优势来推广公司的产品。对于网上电子商务,将销 售产品展示做成在线三维的形式,顾客通过对之进行 生成逼真的三维视、听、嗅觉等感觉,使人作为参与者 通过适当装置,自然地对虚拟世界进行体验和交互作 用。使用者进行位置移动时,电脑可以立即进行复杂的 观察和操作能够对产品有更加全面的认识了解,决定 运算,将精确的3D世界影像传回产生临场感。该技术 购买的几率必将大幅增加,为销售者带来更多的利润。 集成了计算机图形(cG)技术、计算机仿真技术、人工智 2 Cult3d概述 能、传感技术、显示技术、网络并行处理等技术的最新 发展成果,是一种由计算机技术辅助生成的高技术模 Cuh3D是Cyeore公司开发的一种3D网络技术, 拟系统。 概括地说,虚拟现实是人们通过计算机对复杂数 它让你把图象质量高和速度快的交互的实时的物体送 到所有的因特网用户手上。位于瑞典的Cycore原是 收稿日期:2010-01—10 作者简介:吴超彬(1974一),男,讲师,本科,主要研究方向为虚拟仿真。 ‘64‘ 电 脑 与 信 息 技 术 2010年6月 家为Adobe After Effect和其它视频编辑软件开发效 果插件的公司。现在,Cyeore的Cult3D技术在电子商 一3.2在Cult3d中编辑交互事件 在Cult3d添加电扇对应的c3d文件,然后在事件 规划图中加入交互事件。 (1)单击“1档按钮”,“l档按钮”按下,扇页转动; 务领域已经得到了广泛的推广运用。该技术可以做到 档案小、3D真实互动、跨平台运用,只要用鼠标在3D 物件上直接拖动,可以移动、旋转、放大缩小,还可以在 Cult3D物件中加入音效和操作指引。Cult3D对硬件要 再单击此按钮,按钮弹起,扇页停止转动。事件规划图 如图2所示。“2档按钮”与“3档按钮”的交互事件与“1 求相对较低,即使是低配置的桌面或笔记本电脑用户 也能流畅浏览Cult3D作品。 Cuk3D的文件量非常 ̄x(20K一200K),却有优秀的 三维质感表现。对于一般的浏览器只需安装一个插件, 即可浏览。和Viewpoint相比,Cult3d在表观和交互上 和Viewpoint相似,但Cult3D的内核是基于JAVA,它 甚至可以嵌入JAVA类,利用JAvA来增强交互和扩 展,Cult3D的开发环境比Viewpoint人性化和条理化, 开发效率也要高得多。 3 Cult3d在虚拟产品展示中的应用 以互动的电风扇为实例说明Cult3d在虚拟产品 展示中的应用。 3.1建模 Cult3D自身没有建模能力,只能用其它建模工具 导出的模型文件,它的格式是.c3d。目前,Cult3D的官方 网站(www.cult3d.com)有3DS MAX、Plasma等建模软件 导出.c3d文件的相应插件。例如在3DSMAX里是使用 “文件PP-7“导出”菜单项,保存类型中选择Cuh3D De— signed*.e3d),写上适当的文件名进行保存即可。然后这 个文件就可以作为模型文件在Cuk3D Designer中导入 使用。 在3ds max建立电风扇模型,并使用“yellow.gif’的 贴图文件作为电扇的材质,如图1所示。并建立链接 关系,即链接扇页到转轴上成为转轴的子物体;链接电 扇壳、转轴、摆头到电机上成为电机的子物体,然后导 出为C3D文件。 电扇壳 图1电扇组成模型图 档按钮”类似。 图2“1档按钮”交互事件 (2)单击“摆头按钮”按钮,电扇开始摆头,再次单 击此按钮,停止摆头。事件规划图如图3所示。这里加 人复位动作,以避免摆头360度旋转。 图3“摆头按钮”交互事件 4利用Java扩展虚拟产品的展示功能 4.1电扇颜色渐变 本例中,当鼠标右击电扇底座时,电扇的颜色会从 一种颜色渐变为另一种颜色。以下是Java的源代码, 并通过Jbuilder编译为Clsas文件。 impo ̄tom.eult3d. ; impo ̄com.cult3d.world. : impo ̄java.awt.Graphics; impo ̄java.awt.Image; impo ̄java.awl:.Color; 第18卷第3期 吴超彬:基于Cult3d与Java技术的虚拟产品展示 ・65・ public class Fading extends Thread implements public void switchColor(Strlng ar Cuh3DScript { private ifnal static int SLEEPTIME=200; private boolean going true; private boolean fading false; pri’vate Color[]object_color; priv ate int current_color=0: pri’vate Texture object_texture; pr’ivate Image object_image; pri’vate Graphics object_graphic; public Fading0 start0; ) public void mnO f object_color=new Color[7]; object_color[0]=new Color(23,32,63); object_color[1】=new Color(229,229,229); object_color[2]=new Color(212,185,96); objecLcolor[3]=new Color(74,74,74); object_color[4]=new Color(128,19,24); object_color[5]=new Color(131,165,190); object_color[6]=new Color(174,174,174); object_texture=new Texture(”yellow”); object_image=Cult.createlmage fob— jeet_texture.getWidth0, object_texture.getHeight0); object_graphie=objeet_imagegetGraphics0; object_graphic.setColor(object_color[0]); while(going) { if(fading =true、 { fadingColor0; l try { sleep(¥;LEEPTIME) 】 atch (InterruptedException {) I if(fading==false、 current_color++; if rcurrent_color>=object_color. 1ength) { current_color=O: ) fading true; ) ) public void fadingColor0{ Color c_color=object__graphic.getColor0; Color n_color=new Color(object_color[cur- rent_color].getRed0, object_color[current_color].getGreen0,ob- ject_color[current_color].getBlue0); lfoat or,og,ob,nr,ng,nb,incr,incg,incb; or=(lfoat)c_color.getRed0; og (lfoat)e—color.getGreen0; ob=(lfoat)c—color.getBlue0; nr=(lfoat)n_color.getRed0; ng (lfoat)n—color.getGreen0; nb=(lfoat)n_color.getBlueO; int CC=30; incr=( ̄r-or)/((lfoat)cc); incg=(ng-og)/((lfoat)cc); incb=(nb-ob)/((lfoat)cc); for(int i:=0;i<cc;i++) { Color temp—c=new Color((int)(e_color. getRed0+i incr), (int)(c_color.getGreen O+i incg),(int) c_color.getBlue0+i incb)); object_graphic.setColor(temp_c); object_graphic.ifllRect (0,0,ob- ject_texture.getWidth0,object_texture.getHeight0); object_texture.setTexture(object_im- gae); sleep(20); ・66・ 电 脑 与 信 息 技 术 2010年6月 } catch(InterruptedException e) { System.out.println(”Sleep Er- ror”); ) ) object_graphic.setColor(object_color[cur— rent_color]); 图4应用Java动作 object_graphic.ifllRect(0,0,object_texture. getWidth0,object_texture.getHeight0); object_texture.setTexture(object_image); fading false; 5结束语 借助Java语言强大的功能和其丰富的类库资源, 再利用Cult3D高效清晰的三维渲染引擎,我们可以制 作出丰富的虚拟现实交互作品,在电子商务产品展示、 工业设备实操训练中有着广阔的应用前景。 参考文献: [1】宋毅.3ds max2009建模实例精确[M].北京希望电子出版社, 2nn0 】 public void cult3dDestroy0 { going false; ) ) 4.2 Cult3d中应用Java动作 在Cult3d中添加编译好的类文件,将其加入到鼠 [21 Cuh3d[EB/OL].http://www.cult3d.com/ 【3]苏威洲・实现网络三维互动—__Cult3D应用指南 -清’华大学出版 成功完成虚拟电风扇产品的展示妻妻妻 蠹 :签里发布为 ntemet文件, 。 :……~~ c ∞产品三维演示时尚创作百例 M .机械工业出版社. ”~ ” … …一 ’ (上接第32页) 了提亩。况 形。 5结语 ~ 表1喷墨绘图仪画圆锯齿点数 喷墨绘图仪以速度快,对图纸质量要求低迅速进 入服装市场,但对于工程绘图打印由于精度原因,还是 有点差强人意。喷墨绘图本身具有的优点比专业大型 某品牌喷墨绘图仪1 某品牌喷墨绘图仪2 锯齿数为4 锯齿数为5 锯齿数为2 锯齿数为2 锯齿数为1 锯齿数为1 打印机价格便宜,只要保证足够的精度就能满足打印 工程图纸的需求。本文改进的喷墨绘图仪进一步提高 打印了速度和精度,能满足一部分工程图纸的需要,打 某品牌喷墨绘图仪3 锯齿数为3 改进的喷墨绘图仪 锯齿数为1 锯齿数为1 锯齿数为0 印精度可以到达300dpi X 360dpi,甚至更高。改进的喷 墨绘图仪的速度进一步提高,线条更加圆滑,曲线部分 锯齿形状有了明显好转,且从软件上进行改进后,成本 容易得到控制,该产品进人市场后取得了一定的经济 效益。 锯齿数为0 锯齿数为0 表2喷墨绘图仪打印速度。分辨率和是否具有打印超宽 图纸能力 喷墨绘图仪\喷 标 (平方米小时) … 。分辨率ca 一 i / 75 宽度图纸 否 否 否 参考文献: 【1]郑宏珍.改进的bresenharn直线生成算法叨.中国图像图形学报,1999, 4(7):606-608. 某品牌喷墨绘图仪l 某品牌喷墨绘图仪2 某品牌喷墨绘图仪3 180×18O [2】Foley J D.计算机图形学导论【M】.北京:机械工业出版社,2004: 48—56. 80 l8OX 270 [3】张彩明.计算机图形学[M】.科学出版社,2008. 7O 270X270 [4]欧阳开翠,白宝钢,曾令华.五步直线扫描转换生成算法[J].微计 算机信息,2006,22(1 8):295—297. [5】薛圆圆.USB应用开发技术大全【M】.人民邮电出版社,2007. 改进的喷墨绘图仪 80 3ooX 360 是