基于JAVA的3D图形开发技术 文档(DOC)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Java的3D图形开发技术
龚建成张佑生
(合肥工业大学,安徽合肥)安徽工程科技
学院,安徽芜湖)
·安徽工程科技学院学报
!"
·
#""$
年
%&’(%%)* +,,-./0, 1 %&’23+45 6 7
89:
公司提供了一个
;3<0=>
的
?%+,@3
,在
A+B+$C
程序中利用它,可方便地调用
;3<0=>
图形
* ;3<0
图形的调用和
%&’
图形的调用基本相同,将调用
;3<0
图形文件的部分单独作为一个文件,进而可将主
程序的重点放在对形体的动画处理等方面
*
此外
CDE
等图形文件也都有相应的
?%+,@3
将其应用到
A+B+$C
*
#F G A+B+$C
的形体组合
A+B+$C
应用程序中,一般都有多个三维形体,只有对其进行合理的组合,才能对指定的形体进行几何变换,进行某种操作,生成所需要的交互式三维应用程序或三维动画
* A+B+$C
为此提供了多个用于形
体组合的对象,它们是
E3%HI
及其子孙类
* A+B+$C
场景图的底部为
;/3)H+0 94/B@35@
,每一个场景图只能
有一个
;/3)H+0 94/B@35@
,
;/3)H+0 94/B@35@
上面为
?%J+0@* E3%HI
类型的对象只能有一个父类,对于
K3+4J.L
E3%HI
对象来说是
?%J+0@*
而其他
E3%HI
类型的对象,可以将其他
E3%HI
类型的对象作为父类
*
如
23+45M%3 对象可以将 E3%HI 对象作为父类,也可以将另一个 23+45M%3 对象作为父类 * 1 N 6 K3+4J.E3%HI 对象 * K3+4J.E3%HI A+B+$C 场景图中一个重要节点,它能够附在一个 ?%J+0@ 节点 上,作为一个单元进行编译 * 将一个 K3+4J.E3%HI 放在一个 ?%J+0@ 上形成 ?%J+0@ 的一个分支,使其组合 的内容激活,一旦形体、灯光等被激活,它们就可以根据自身的 J+I+&/0/)O 的设定,产生相应的变化 * 1 # 6 23+45M%3 和 23+45M%3<$C 对象 * 23+45M%3 定义一个通过设置,可以移动、旋转、放大 缩小的局部坐标系 * 它有两个 M0+P5 : Q??RDS2(Q:8TR(US(VQC7 Q??RDS2(Q:8TR(USD(W2V * 这两 个 M0+P5 通过设定,可以控制坐标系在程序运行过程中的运行方式,如果设置不当,程序可能无法运行 * 23+45M%3<$C 用来表示一个 G X G 的双精度浮点数矩阵,进而表示所指定的坐标的坐标变换,如旋转、 放大缩小、平移等 * #F Y A+B+$C 的交互作用 Z G [ A+B+$C 借助 A+B+ 语言强大的事件处理功能,可用来编写复杂交互式的虚拟场景 * A+B+$C 的事件处 理方法使用的是 A+B+ N* # 版本的事件处理模型 * A+B+ N* # 事件程序中,在类定义时,用 / 说明 该类实现的一个或多个监听器,如 IH&0/J J0+55 P+<@ @\)@4,5 QII0@) / QJ)/%4?/5)@4@3 , W)@/5)@4@3 , -.@J^&%\U@4H?/5)@4@3 _ ‘ 但这种方法主要用于特定显示界面的设计及一些状态的变化处理方面* 如果要编写更复杂的交互式三 维应用程序,则需要用到 A+B+$C 的 K@.+B/%3 对象 * K@.+B/%3 有 K/00&%+3, 、 ?%, 、 W4)@3I%0+)%35 等子类 * 编写复杂的交互式三维对象时,经常会感到计算机速度不够 * 可以有多种方法解决速度慢的问 题 * A+B+$C 编程可通过灵活应用 对象,提高计算机的运行速度 * 其他三维图形技术也用到了 ?RC 技术,如 ;(U? 语言就用到了 ?RC 技术, ;(U? 语言就有 ?RC 节点 * A+B+$C 的 ?RC 对象通过设定,可 以使计算机根据三维场景图的需要,在程序运行时,有效处理复杂形体:当复杂物体离观察点很远时,就 用一个简单的形体替代,当复杂形体离观察点不远不近时,就用一个近似的形体替代,当复杂物体离观 察点很近时,就显示复杂形体自身,这样可以有效提高计算机的运行速度 * K/00&%+3, 是 K@.+B/%3 的子类, 利用 K/00&%+3, 可生成一个局部坐标系,此坐标系的 a b 轴方向一直指向观察者的眼镜 * 这表示在三维 空间移动位置及方向时, K/00&%+3, 所在的局部坐标系中的形体将一直面向着我们,也即自动绕着局部坐 标系的 c 轴旋转 * A+B+$C 提供的 K@.+B/%3