[x3d-public] computed orientation_changed output

Holger Seelig holger.seelig at yahoo.de
Fri Aug 30 13:13:33 PDT 2024


It looks like the NurbsOrientationInterpolator can do just that, align the orientation along a path.

https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/nurbs.html#NurbsOrientationInterpolator

Best regards,
Holger

--
Holger Seelig
Leipzig, Germany

holger.seelig at yahoo.de
https://create3000.github.io/x_ite/

> Am 27.08.2024 um 03:57 schrieb Andreas Plesch via x3d-public <x3d-public at web3d.org>:
> 
> Thanks for the input. To clarify, I was thinking of aligning the
> orientation of a rigid object (such as a ship) with its changing
> direction of travel.
> 
> Regards, -Andreas
> 
> On Mon, Aug 26, 2024 at 4:08 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
>> 
>> Andreas, I read through this, and I suggest a LineSegmentInterpolator that animates a line segment.  One can also interpolate between curves, surfaces and Text strings/fonts through interpolation (morphing or displacement).
>> 
>> In general, perhaps these are called transitions.
>> 
>> Perhaps one could use two interpolators, one for the previous positions and one for the new positions.  I don’t know how two interpolators can adjust the same object though.
>> 
>> On Mon, Aug 26, 2024 at 2:19 PM Andreas Plesch via x3d-public <x3d-public at web3d.org> wrote:
>>> 
>>> An idea for enhancement:
>>> 
>>> I had a need for a PositionInterpolator to animate an object (say a
>>> ship). While moving the object around it should align its orientation
>>> with the direction of travel (bow pointing forward) which is often the
>>> case. Rather than precomputing key values for an
>>> OrientationInterpolator to go along with the interpolated positions, I
>>> decided to derive the orientations from the change in positions
>>> dynamically. Perhaps not surprisingly, this required a script. Is
>>> there an existing alternative ? Perhaps via physics ?
>>> 
>>> The script takes a new position, calculates the direction of travel as
>>> the difference between the new position, and the last position (which
>>> it remembers), and uses a default SAI function to compute the rotation
>>> from the default (0,0,-1) orientation to the new direction. This
>>> sounds pretty straightforward but becomes more complicated for a
>>> GeoPositionInterpolator.
>>> 
>>> Since aligning orientation with direction of travel is a frequent use
>>> case - including for animated Viewpoints - , the enhancement would be
>>> for nodes such as position interpolators, chasers and dampers, etc. to
>>> provide this orientation directly, perhaps as an additional
>>> orientation_changed event.
>>> 
>>> An alternative may be use of a TransformSensor which could
>>> additionally provide this information, say as a direction_changed
>>> event.
>>> 
>>> This may be outside the scope of standard X3D since it may be seen as
>>> a use case for a Script node but is so generally useful that it may
>>> warrant enhancement of existing nodes.
>>> 
>>> Thanks for reading and any thoughts or criticism,
>>> 
>>> Andreas
>>> 
>>> --
>>> Andreas Plesch
>>> Waltham, MA 02453
>>> 
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> 
> 
> 
> -- 
> Andreas Plesch
> Waltham, MA 02453
> 
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org <mailto:x3d-public at web3d.org>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240830/cd1ba9a0/attachment.html>


More information about the x3d-public mailing list