已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州大学实验报告贵州大学实验报告 学院 计算机科学与信息学院 专业 软件工程 班级 102 班 姓名学号实验组 实验时间指导教师成绩 实验项目名称实验六 三维立方体 实 验 目 的 了解并掌握三维立方体的绘制和显示 实 验 要 求 根据本实验的特点 要求和具体条件 了解并掌握三维立方体的绘制和显示 并成功 编写测试代码进行实验 绘制一个三维立方体 实 验 原 理 Java3DJava3D 在 java3D 中坐标轴的显示如下所示 Java3D 的编程思想显示如下 在实验时 要引入相关的 jar 包 显示如下所示 实 验 环 境 硬件平台 PC 机 软 件 Windows7 平台 eclipse 集成开发环境 java 编程语言 Java 3D 实 验 步 骤 1 掌握算法原理 2 依据算法 编写源程序并进行调试 3 对运行结果进行保存与分析 4 把源程序以文件的形式提交 5 按格式书写实验报告 实 验 内 容 控制三维图形的显示与绘出类 控制三维图形的显示与绘出类 package wangqian draw transform import java awt Color import java awt Graphics import java awt event KeyAdapter import java awt event KeyEvent import java awt event WindowAdapter import java awt event WindowEvent import javax swing JFrame import javax swing JPanel public class Cube extends JFrame private Graphics g private JPanel panel float x 0 1f float y 0 1f float z 0 1f public static void main String args Cube cub new Cube cub launchFrame public void launchFrame this setSize 600 600 this setTitle cube this setResizable false this addWindowListener new WindowAdapter public void windowClosing WindowEvent e System exit 0 this setVisible true this addKeyListener new KeyMonitor panel new JPanel this add panel Center panel setBackground Color WHITE panel setSize 600 600 panel setVisible true g panel getGraphics class KeyMonitor extends KeyAdapter public void keyPressed KeyEvent e switch e getKeyCode case KeyEvent VK 3 BasicConstruct bc new BasicConstruct bc addMyBox x y z bc break default 三维图形的实现类 三维图形的实现类 package wangqian draw transform import javax swing JFrame import java awt import javax media j3d Canvas3D import com sun j3d utils universe SimpleUniverse import javax media j3d BranchGroup import com sun j3d utils geometry Box import javax vecmath import javax media j3d DirectionalLight import javax media j3d BoundingSphere import javax media j3d Appearance import javax media j3d Material import javax media j3d TransformGroup import com sun j3d utils behaviors mouse public class BasicConstruct extends JFrame protected SimpleUniverse simpleU protected BranchGroup rootBranchGroup public BasicConstruct initial setup protected void initial setup getContentPane setLayout new BorderLayout 得到框架和设置布局 GraphicsConfiguration config SimpleUniverse getPreferredConfiguration 得到配置函数 Canvas3D canvas3D new Canvas3D config 创建3d图形的面板 getContentPane add Center canvas3D 把3d图形面板添加到框架上 simpleU new SimpleUniverse canvas3D 设置3d图形的画布形式 rootBranchGroup new BranchGroup public void addDirectionalLight Vector3f direction Color3f color BoundingSphere bounds new BoundingSphere bounds setRadius 1000d DirectionalLight lightD new DirectionalLight color direction lightD setInfluencingBounds bounds rootBranchGroup addChild lightD public void finalise simpleU addBranchGraph rootBranchGroup simpleU getViewingPlatform setNominalViewingTransform public void addMyBox float x float y float z BasicConstruct bc bc setSize 600 600 bc addBox x y z new Color3f 1 0 0 new Color3f 1 0 0 bc addDirectionalLight new Vector3f 0f 0f 1 new Color3f 1f 1f 0f bc finalise bc show return public void addBox float x float y float z Color3f diffuse Color3f spec Appearance app new Appearance Material mat new Material mat setDiffuseColor diffuse mat setSpecularColor spec mat setShininess 5 0f app setMaterial mat Box box new Box x y z app 创建长方体 TransformGroup tg new TransformGroup tg addChild box rootBranchGroup addChild tg tg setCapability TransformGroup ALLOW TRANSFORM WRITE tg setCapability TransformGroup ALLOW TRANSFORM READ MouseRotate myMouseRotate new MouseRotate myMouseRotate setTransformGroup tg myMouseRotate setSchedulingBounds new BoundingSphere rootBranchGroup addChild myMouseRotate MouseTranslate myMouseTranslate new MouseTranslate myMouseTranslate setTransformGroup tg myMouseTranslate setSchedulingBounds new BoundingSphere rootBranchGroup addChild myMouseTranslate MouseZoom myMouseZoom new MouseZoom myMouseZoom setTransformGroup tg myMouseZoom setSchedulingBounds new BoundingSphere rootBranchGroup addChild myMouseZoom 实 验 结 果 实验截图显示如下 1 点击键盘上的 3 键 就会显示出所绘制的立方体 如果不进行鼠标的拖动 它就像是一个二维的正方体一样 2 将鼠标放在立方体上进行拖动 就会在不同角度对其进行观察 实 验 总 结 通过本次实验 让我了解并掌握了三维立方体的绘制与显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能算法赋能传统X-Y记录仪数据解析能力的范式转移
- AI PC散热模组与转轴一体化设计引发的供应链价值转移
- 2026年漳州职业技术学院高职单招笔试数学试题库含答案解析3套试卷
- 2026年湖南食品药品职业学院高职单招笔试职业适应性测验试题库含答案解析2套试卷
- 2026年湖北住院医师-湖北住院医师外科历年参考题库含答案解析
- 2026年淮南职业技术学院高职单招笔试数学试题库含答案解析3套试卷
- 2026年浙江长征职业技术学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年浙江工业职业技术学院高职单招笔试物理试题库含答案解析2套试卷
- 2026年测绘职业技能鉴定考试-基桩检测人员上岗考试历年参考题库含答案解析
- 2026年泉州经贸职业技术学院高职单招笔试职业技能测验试题库含答案解析2套试卷
- 乡村医生招聘考试试题及答案详解
- 畜禽屠宰无害化处理工岗前生产安全培训考核试卷含答案
- 2026年吉林事业单位考试真题及答案
- 2026学年人教版新教材小学数学六年级上册教学计划(含进度表)
- 2026海南广播电视总台直属事业单位招聘8人备考题库附参考答案详解【培优A卷】
- 汽车修理工(技师)考试题库(附答案)
- 2026年库车市招聘市属国有企业工作人员(62人)考试参考题库及答案详解
- 2025-2026学年江苏省盐城市阜宁县七年级(下)期末数学试卷(含答案)
- 2026年全国新课标高考语文考试大纲
- (亲测)2026新版药品GCP考试题库及答案
- 应急管理普法知识竞赛考试题库(含答案)
评论
0/150
提交评论