




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录设计的需求分析2实际题目2要解决的问题2问题的功能说明2软件系统结构2Java 3D功能描述2场景图描述3用户界面3关键技术4三维物体建模技术.5程序运行结果6摆动状态6结论7设计的需求分析实际题目 本课题的题目为:基于Java 3D的摆钟设计要解决的问题 本课题的核心是解决钟摆运动的问题。但是相对于核心代码的实现,基础场景的布置,三角形面片的设计以及纹理的映射等也是十分重要的,下面将详细说明本课题需要解决的问题:l 背景图映射问题。l 摆钟各部分运动的实现问题。l 纹理映射的实现问题。l 环境光设置问题。问题的功能说明(1) 背景图映射问题。一般的场景中,我们只是通过简单的调用方法对背景进行单一着色,比如:Background bg = new Background(bgColor);这样的背景会略显单调,所以,本科中首先要解决的问题是在场景背景中映射图片,使得背景更加生动且逼真。(2) 摆钟各部分运动的实现。本场景中,实现的主要过程是钟摆的周期性摆动以及各指针的正常旋转。(3) 纹理映射的实现。本课题实现的场景中,表盘以及背景墙需要采用不同的纹理映射,实现不同的效果,其中背景墙需要特定的花纹,而表盘则采用已设计好的图案。(4) 聚光灯效果。场景中添加环境光束,使得物体呈现不同的视觉效果,软件系统结构Java 3D功能描述本课题使用的核心技术是Java 3D。Java 3D是Java语言在三维图形领域的扩展,是一组应用编程接口(API)。利用Java 3D提供的API,编程人员可以编写出相对较多的逼真且操作性强的一些三维图像或者游戏。其功能详细介绍如下: 生成简单或复杂的形体(也可以调用现有的三维形体) 使形体具有颜色、透明效果、贴图。 在三维环境中生成灯光、移动灯光。 具有行为的处理判断能力(键盘、鼠标、定时等)。 生成雾、背景、声音。 使形体变形、移动、生成三维动画。 编写非常复杂的应用程序,用于各种领域如 VR(虚拟现实)。场景图描述Java 3D场景图结构。Java 3D采用场景结构图的场景组织模式。场景图是一种DAG图,类似于一种属性结构,即一些具有方向性的不对称图形组成的树状结构。我们在一个 Java3D 应用程序看到的逼真三维场景从程序的角度看来,实际就是由 Java3D 定义的一系列的对象,这些对象不是杂乱无序,对象之间也不是毫无关系。如果想让三维图像正常显示,必须在这两点上遵循 Java3D 场景图的规定。如下图 1,Java3D 场景图的树结构由各种各样的对象组成,其中,场景图中线和线的交汇点称为节点(Node),这些节点都是 Java3D 类的实例(Instance of Class),节点之间的线表示各个实例之间的关系。图1:Java 3D场景图 本课题的场景图中,按照上述的Java 3D场景图的描述,进行场景设置,其中,Virtual Universe采用默认值。并且没有采用观察者模式。用户界面如下图2所示,为用户的初始化界面,由于开始状态是动态效果图,本图只是某一时刻的截图。图2 用户界面图关键技术三维物体建模技术/ 时针设计 Appearance ap = new Appearance(); ap.setMaterial(new Material(); Shape3D shapeHour = new Shape3D(createGeometry(0.4, 0.02, 0.02), ap); TransformGroup spinHour = new TransformGroup(); spinHour.addChild(shapeHour); spinHour.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); root.addChild(spinHour); / 分针设计 Shape3D shapeMin = new Shape3D(createGeometry(0.5, 0.02, 0.02), ap); TransformGroup spinMin = new TransformGroup(); spinMin.addChild(shapeMin); spinMin.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);root.addChild(spinMin); / 秒针设计 Shape3D shapeSec = new Shape3D(createGeometry(0.5, 0.01, 0.01), ap); TransformGroup spinSec = new TransformGroup(); spinSec.addChild(shapeSec); spinSec.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); root.addChild(spinSec);/ 钟摆设计 Cylinder rod = new Cylinder(0.01f,1f,Cylinder.GENERATE_NORMALS,apFace); Transform3D trPend = new Transform3D(); trPend.setTranslation(new Vector3d(0,-0.5,-0.01); TransformGroup tgPend = new TransformGroup(trPend); Sphere mass = new Sphere(0.2f,Sphere.GENERATE_NORMALS,30); Transform3D trMass = new Transform3D(); trMass.setScale(new Vector3d(1,1,0.2); trMass.setTranslation(new Vector3d(0,-0.5,0); TransformGroup tgMass = new TransformGroup(trMass); tgMass.addChild(mass); tgPend.addChild(tgMass); TransformGroup tgSwing = new TransformGroup(); tgSwing.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); tgPend.addChild(rod); tgSwing.addChild(tgPend); root.addChild(tgSwing); Alpha alpha = new Alpha(-1,Alpha.INCREASING_ENABLE|Alpha.DECREASING_ENABLE,0,0,500,0,0,500,0,0); Transform3D trAxis = new Transform3D(); trAxis.rotX(Math.PI/2); RotationInterpolator swing = new RotationInterpolator(alpha, tgSwing, trAxis,(float)(-Math.PI/6), (float)(Math.PI/6); tgPend.addChild(swing); swing.setSchedulingBounds(bounds);程序运行结果摆动状态 摆动状态下,和用户所看到的初始界面一样。由于摆动时,界面中的钟摆和各指针都是转动的,所以此时截取的是其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国LED大功率洗墙灯数据监测研究报告
- 2025-2030年中国敞开式槽道数据监测研究报告
- 2025年高考语文二轮复习语言文字运用模拟题汇编
- 建设工程施工合同说明
- 外墙维修施工合同
- 2025年医用真空负压机项目合作计划书
- 航空航天部件精密制造要求
- 培训协议与劳动合同关系
- 《地球的运动规律:高中地理必修课程教案》
- 玻璃棉板吸声墙施工方案
- CVP中心静脉压CVP监测
- 13诗第十二-整本书阅读系列《经典常谈》名著阅读与练习
- 小学美术-湘美版四年级下册第10课中国龙教学设计学情分析教材分析课后反思
- 一年级下册劳技教案
- 部编版四年级语文下册第4单元大单元整体教学作业设计(教案配套)
- 大一逻辑学全部
- 游戏法缓解小班幼儿入园焦虑的个案研究
- 2023年包头轻工职业技术学院单招综合素质题库及答案解析
- 地下室顶板裂缝防水处理方案(完整资料)
- 宫颈锥切日间手术临床路径(妇科)及表单
- GB/T 23111-2008非自动衡器
评论
0/150
提交评论