Java3d的数学类.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java3d的数学类

数学类 为了创建可视对象,需要用到基本图形类及其子类。许多图形子类描述了以顶点为基础的基本图形,比如点、线以及填充面。图形子类将2.5节讨论到,但在讨论之前,一些用于指定顶点相关的数据的数学类classes (Point*, Color*,Vector*, TexCoord*)[注:TexCoord*类在Java 3D API 1.1版本中没有用到]需要讲到。 注意上面用到的星号是代表一系列变化类名的通配符。比如,Tuple*代表所有的元组类 Tuple2f, Tuple2d, Tuple3b, Tuple3f, Tuple3d, Tuple4b, Tuple3i, Tuple4f, Tuple4d, 以及Tuple4i. 在上面的每一个数字说明了上面的元组中元素的数目,后面那个字母则指出了元组元素的数据类型。‘f’代表的是单精度浮点类型(float),而 ‘d’代表的是双精度浮点类型(double),‘b’代表字节型(byte),i代表有符号整形(int)。因此Tuple3f类是处理三个单精度浮点值元素元组的类。这些数学类在包javax.vecmath.*中,这个包定义了一些Tuple*类,作为公共的抽象超类。其他一些有用的类则从这些元组Tuple类中继承而来。这个包中一些类的层次如图2.9所示。 可视对象的每一个顶点都由javax.vecmath包中的四个对象来共同设定。分别表示坐标,颜色,表面法向量和纹理坐标。下面这些类常用到: ? Point* (用于坐标设定) ? Color* (用于颜色) ? Vector* (颜色用于表面法向量向量坐标) ? TexCoord* (用于纹理坐标,见第七章) 注意坐标 (Point*对象)是定位每一个项点坐标用的。其它数据是可选的,是否需要设定就看基本图形对象如何渲染而定。例如,每一个顶点可能定义一种颜色 (一个Color*对象) 并且基本图形的颜色在边的颜色中插入。如果光照也考虑到,表面法向量(因此Vector* 对象)就需要了。如果纹理映射也要考虑,则就需要纹理坐标。(Quat*对象代表了四元组,这只有在高级的三维矩阵变换中才用到。) 因为所有很有用的类都继承自抽象的Tuple*类。因此,熟悉元组类的构造函数也是很有用的。如下所示: Tuple2f 构造函数 所在包: javax.vecmath Tuple*类没有直接在Java 3D程序中直接用到,但是其是Point*,Color*, Vector*, and TexCoord* 类的基类。特别地,Tuple2f提供了Point2f, Color2f,和 TexCoord2f的基础.这里列出的构造函数对其子类一样有用。Tuple3f和Tuple4f类有同样的构造函数集。 Tuple2f() 构造并且初始化一个二维元组对象。其初始坐标是 (0,0). Tuple2f(float x, float y) 由指定的x,y坐标来构造并且初始化一个元组对象 Tuple2f(float t[]) 由指定的数组来构造并且初始化一个元组对象。 Tuple2f(Tuple2f t) 由另一个单精度元组对象的数据来构造和初始化一个新的元组对象。 Tuple2f(Tuple2d t) 由另一个双精度元组对象的数据来构造和初始化一个新的元组对象。 Tuple2f 的方法(列出部分) 所在包: javax.vecmath Tuple*类没有直接在Java 3D程序中直接用到,但是其是Point*,Color*, Vector*, and TexCoord* 类的基类。特别地,Tuple2f提供了Point2f, Color2f,和 TexCoord2f的基础.这里列出的构造函数对其子类一样有用。Tuple3f和Tuple4f类有同样的方法。其它方法 用于一个范围的夹值和线性插值。 void set(float x, float y) void set(float t[]) 由指定值设定元组的值。 boolean equals(Tuple2f t1) 如果元组t1的数组与元组中相应数据相等,则返回为true. final void add(Tuple2f t1) 将元组t1的值与元组相加值作为元组的值。 void add(Tuple2f t1, Tuple2f t2) this = t1+ t2 把元组t1,t2的值作为元组的值。 void sub(Tuple2f t1, Tuple2f t2) 把元组t1,t2的差作为元组的值this = t1 – t2。 void sub(Tuple2f t1

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档