00000015.htm
来自「水木清华BBS」· HTM 代码 · 共 374 行 · 第 1/3 页
HTM
374 行
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: vrml (3d), 信区: Java <BR>标 题: JAVA3D学习系列(15)--动画的生成(上) <BR>发信站: BBS 水木清华站 (Mon Apr 26 11:47:21 1999) <BR> <BR> JAVA3D学习系列(15)--动画的生成(上) <BR> <BR> <BR> 汕头大学机电系 张杰(<A HREF="mailto:jzhang@mailserv.stu.edu.cn)">jzhang@mailserv.stu.edu.cn)</A> <BR> <BR> <BR> <BR> 1997年底正式成为国际标准的VRML2.0是我们编写简单 <BR>三维应用程序的一个非常合适的计算机语言,利用它,我们可以 <BR>非常方便地编写三维动画、交互式的三维游戏,当然,只能 <BR>是一些较为简单的三维动画及交互式三维游戏。而利用JAVA3D <BR>则可以编写出较为复杂的三维动画及交互式三维游戏。 <BR> 前面我们介绍了JAVA3D的形体生成等方面的知识,JAVA3D <BR>三维应用程序最吸引人之处是它可以用来制作三维动画、三维 <BR>游戏等。为了掌握JAVA3D三维动画、三维游戏的编程,我们首先 <BR>要掌握三维形体在空间的运动控制。 <BR> VRML语言有6个内插器节点和7个传感器节点,同样地,在 <BR>JAVA3D中,也有和VRML内插器节点类似的Interpolator对象,它 <BR>们和另一个Alpha类结合在一起,可以编写出各种类型的三维动画 <BR>程序。 <BR> 下面我们就介绍这些对象及其应用方法。 <BR> <BR> <BR>一. Alpha对象 <BR> Alpha类的常数有: <BR> public static final int INCREASING_ENABLE <BR> public static final int DECREASING_ENABLE <BR> 它的构造函数有: <BR> public Alpha() <BR>此时,它的缺省值为: <BR> loopCount -1 <BR> mode INCREASING_ENABLE <BR> triggerTime 0 <BR> phaseDelayDuration 0 <BR> increasingAlphaDuration 1000 <BR> increasingAlphaRampDuration 0 <BR> alphaAtOneDuration 0 <BR> decreasingAlphaDuration 0 <BR> decreasingAlphaRampDuration 0 <BR> alphaAtZeroDuration 0 <BR> <BR> Alpha的其它构造函数有: <BR> public Alpha(int loopCount, <BR> long increasingAlphaDuration) <BR> <BR> public Alpha(int loopCount, <BR> long triggerTime, <BR> long phaseDelayDuration, <BR> long increasingAlphaDuration, <BR> long increasingAlphaRampDuration, <BR> long alphaAtOneDuration) <BR> <BR> public Alpha(int loopCount, <BR> int mode, <BR> long triggerTime, <BR> long phaseDelayDuration, <BR> long increasingAlphaDuration, <BR> long increasingAlphaRampDuration, <BR> long alphaAtOneDuration, <BR> long decreasingAlphaDuration, <BR> long decreasingAlphaRampDuration, <BR> long alphaAtZeroDuration) <BR> <BR> Alpha的方法有: <BR> public float value() <BR> public float value(long atTime) <BR> <BR> public void setStartTime(long startTime) <BR> public long getStartTime() <BR> <BR> public void setLoopCount(int loopCount) <BR> public int getLoopCount() <BR> <BR> public void setMode(int mode) <BR> public int getMode() <BR> <BR> public void setTriggerTime(long triggerTime) <BR> public long getTriggerTime() <BR> <BR> public void setPhaseDelayDuration(long phaseDelayDuration) <BR> public long getPhaseDelayDuration() <BR> <BR> public void setIncreasingAlphaDuration(long <BR> increasingAlphaDuration) <BR> public long getIncreasingAlphaDuration() <BR> <BR> public void setIncreasingAlphaRampDuration(long <BR> increasingAlphaRampDuration) <BR> public long getIncreasingAlphaRampDuration() <BR> <BR> public void setAlphaAtOneDuration(long alphaAtOneDuration) <BR> public long getAlphaAtOneDuration() <BR> <BR> public void setDecreasingAlphaDuration(long <BR> decreasingAlphaDuration) <BR> public long getDecreasingAlphaDuration() <BR> <BR> public void setDecreasingAlphaRampDuration(long <BR> decreasingAlphaRampDuration) <BR> public long getDecreasingAlphaRampDuration() <BR> <BR> public void setAlphaAtZeroDuration(long alphaAtZeroDuration) <BR> public long getAlphaAtZeroDuration() <BR> <BR> public boolean finished() <BR> <BR> 从VRML的各个内插器节点的定义来看,我们可以看到,每一个 <BR>内插器节点都有一个key字段和一个keyValue字段。key字段定义 <BR>一个数组,数值从0到1。 <BR> 所有的内插器节点在使用时都需要与TimeSensor(时间传感器) <BR>配合使用。TimeSensor把给定的时间周期归一化,虽然时间的周期 <BR>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?