- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java 3D API官方教程[翻译一]
开始学习Java3D API
1
第一章、入门
本章目标:
学习了本章之后,你能:
•能用一些基本术语解释什么是Java3D
•能描述出Java3D程序的基本结构。
•能识别出Java3D API 中的许多类。
•能编写出简单的Java3D动画程序。
Java 3D API是一个用于编写显示和交互操作三维图形对象的程序
的接口。Java 3D也是在Java2 Java开发包(JDK)上的标准扩展。这个API提
供了用于创建和操纵3D图形的高端构成方法以及渲染该图形的一些数据结构。
Java3D 提供了创建图片、可视化、动画以及3D交互图形应用程序的函数。
1.1 什么是Java 3D API?
Javae 3D API是作为复杂三维图形和声音渲染系统的接口的一系
列层次的JAVA类的统称。
程序员可以用Java3D开发创建和操纵3D图形对象的高端应用。
这个图形对象处于一个被渲染了的虚拟世界(VirtualUniverse)中。这个API
就是用设计来用于灵活方便地创建精确的各种大小的虚拟环境,可以大到大空物
体,小到比原子还小。
除了这些功能之外,API 的使用也很直接,API能自动处理渲染的细节,
由于利用 Java线程机制的优势,所以Java3D 的渲染器的工作是并行进行的。
并且渲染器也能自动地优化并提高渲染性能。
一个Java3D程序创建 Java3D对象的实际,并将其置之于场景图数
据结构中。在这个场景图中,所有3D对象用完全指定了虚拟世界内容和其如何
被渲染的树形结构存储,
Java3D程序能写成能独立运行的应用程序,或者写成能嵌入在浏览器
中运行的Applets,或者二者兼备。
1.2 Java 3D API
每一个Java3D程序至少部分地集成了来自Java类层次中的对象,这些对象
的集合称做虚拟世界(virtual universe),这就是将要被渲染的对象。此API
在javax.media.j3d包中定义了超过100多个类,这些类我们平常称做Java3D
核心类。
在Java3D API 中有数以百计的属性和方法。尽管如此,一个包含动画功
能的简单的虚拟世界的构建仅仅需要几个类就行。本章讨论了用尽少的对象集合
和交互来渲染一个简单虚拟世界。
本章包含了一个简单但是完全的叫HelloJava3D 的程序的开发过程,这
个程序显示了一个能旋转的立方体,这个示例程序是逐步开发完成的,因此这个
程 序用了很多版本来展示Java 3D编程过程中的每一部分。本教程中的所有程
序都可以获得电子的版本。更多的信息请见前言中的获得本教程[译者注:
/products/java-media/3D/collateral/]。
除 Java3D核心包之外,Java3D程序设计也会用到其它的包,比如
com.sun.j3d.utils,这个包通常称做Java3D工具类,核心类中仅仅包含 在
Java3D编程中必段的最底层的类,而工具类是对核心类方便而强大的补充。
工具类主要分为四类:内容加载器、场景图构建辅助类、图形类和方便的
一些工具类。将来还有一些功能,比如nurbs[non-uniformrationalB-spline,
非均匀有理B样条],也会加到工具类,而不是Java3D核心包中。而一些工具类
在Java 3D API 将来的版本中也可能会移到核心包中去。
利用工具类大大地减少 Java3D程序中的代码行数。除Java3D核心类和
工具类包之外,每一个Java3D程序还引用 java.awt包和 javax.vecmath包
中的类. java.awt包就是Abstract WindowingToolkit (AWT).AWT类用于创建
显示和渲染场景和窗口。而javax.vecmath包则定义了对点、矢量、矩阵以及其
他数学对象进行数学运算的类。
在余下的教程中,词汇可视对象 (visualobject)就是场景图中的对
象比如一个立方体或者球体。对象(object)则是指一个类的实例。而内容
(content)指的是一个场景图中全部的可视对象。
1.3 构建场景图
一个Java3D 的虚拟世界创建自一个场景图,而场景图就是由Java3D
类的实例构建而成.场景图集成了定义图形、声音、光线、位置、方向以及
文档评论(0)