[X3D-Public] EaseInEaseOut derivation, suggested specification change

Don Brutzman brutzman at nps.edu
Wed Mar 14 19:36:36 PDT 2012


[Dick and I worked on this during the working group teleconference today,
 then afterwards I added a bunch more stuff for group review.]

The EaseInEaseOut node is intended to be a simple way to smoothly
adjust TimeSensor fraction outputs prior to reaching an interpolator
input.  If defined properly, this can enable smoother transitions
for any interpolator without complicated mathematics by authors.

Here is a 4-page derivation of the EaseInEaseOut node defined in
clause 19.4.4.  I'm trying to confirm that the equations there
are correct, and that the output of the node is continuous
without gaps or sudden jumps.
http://www.web3d.org/files/specifications/19775-1/V3.2/Part01/components/interp.html#EaseInEaseOut

My earlier attempts to draw this node (shared on the X3D v3.3
specification teleconference last Monday) were poorly conceived.

Please see the attached notes on steps (a) thru (j) of the algorithm.
(Typo:  first compared quantities h and _i_, then compared i and j.)

Unless someone finds a flaw in the setup or the algebra, I'm now
thinking that the algorithm is poorly designed and discontinuous.
This would mean that the node is incorrectly specified.

Implementation status:
- InstantReality reportedly implements this node:
  http://doc.instantreality.org/documentation/nodetype/EaseInEaseOut/
- BS Contact does not
- Xj3D recognizes it but does not appear to implement it
- The original design created a prototype which had a different approach,
	prototyping this functionality as a modification to a TimeSensor
	https://savage.nps.edu/Savage/Tools/Animation/
	Time Sensor Ease In Ease Out Example
	Time Sensor Ease In Ease Out Prototype

So it appears we have to fix the specification, or else confirm that
the definitions found there are actually correct and properly usable.

Pages 5 and 6 of the attachment propose a revised EaseInEaseOut algorithm
that is simpler, linear throughout, and easier to use since the default
values of the easeInEaseOut array can be used without modification.

Comments and second checks are welcome.

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman


-------------- next part --------------
A non-text attachment was scrubbed...
Name: EaseI001.PDF
Type: application/pdf
Size: 122999 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20120314/b89fde12/attachment-0001.pdf>


More information about the X3D-Public mailing list