[x3d-public] Euler rotation
GPU Group
gpugroup at gmail.com
Mon Jan 7 05:53:17 PST 2019
For example I submitted a geoConvert node concept to specs comment. That
was for routing between different geo coordinate systems. I suppose there
could be an Euler or RotationConverter node idea, that triggers an event on
load, and the user could give euler angles in degrees and route axis angles
to a transform rotation field.
-Doug
On Mon, Jan 7, 2019 at 6:45 AM GPU Group <gpugroup at gmail.com> wrote:
> And this is a tough crowd AJ - they rake you over the coals here. No
> instant applause allowed. I've submitted a few ideas through the specs
> comments and very little saw its way into specs v4. Personally I love the
> euler idea - in large part because I think it would welcome more users from
> different backgrounds and skill levels, trying to get started in x3d.
> I suspect to get things adopted, its better to become a full member, and
> sit on various 'boards' where we can nurse our pet ideas through to final
> specs. I would do that process but I always seem to have my year booked.
> Maybe some day.
> -Doug Sanden
>
> On Mon, Jan 7, 2019 at 4:39 AM Albert Jan Wonnink <awonnink at hotmail.com>
> wrote:
>
>> Hi Joseph,
>>
>> Thank you for your reply. Just to be sure: the context I meant to discuss
>> is about having a convenient attribute in the declarative syntax, say
>> 'euler', to set the initial orientation of the transform, so anyone can use
>> either 'rotation' or 'euler'.
>>
>> <transform euler="20 40 10" >
>>
>> So I interpreted Vince's $yaw, $pitch and $roll to be just placeholders,
>> for manual substitution.
>>
>> You are right using this with either radians or degrees would be equally
>> simple.
>>
>> Regards,
>>
>> Albert Jan
>>
>>
>>
>>
>>
>> *From: *Joseph D Williams <joedwil at earthlink.net>
>> *Sent: *Sunday, January 6, 2019 7:20 PM
>> *To: *Albert Jan Wonnink <awonnink at hotmail.com>; vmarchetti at kshell.com;
>> X3D-Public <x3d-public at web3d.org>
>> *Subject: *Re: [x3d-public] Euler rotation
>>
>>
>>
>> Hi Albert and All,
>>
>> When you use euler (or Tait-Bryan) angles for a while you will find that
>> you get problems.
>>
>> Actually there is plenty of writing about the details maybe even in the
>> x3d or hanim archives and widely on the web.
>>
>>
>>
>> In addition, when you create or edit the things much then you will find
>> it is actually a lot easier to use quats or axis-angle radians. In general,
>> for degrees, maybe your editing system may offer as a learning tool if
>> radian is really an elementary block to learning, but really, never in the
>> user code due to misleading simplicity and what ‘cha finally gonna tell ‘em
>> when the gimbals lock?
>>
>>
>>
>> - <Transform DEF="yaw-rotation" rotation="0 0 1 $yaw">
>> - <Transform DEF="pitch-rotation" rotation="0 1 0 $pitch">
>> - <Transform DEF="roll-rotation" rotation="1 0 0 $roll">
>>
>>
>>
>> Besides the fact that a variable is not allowed there
>>
>> (maybe use a prototype if you need a variable?)
>>
>> I don't think your naming of yaw and pitch and roll is reasonable for
>> x3d.
>>
>>
>>
>> For default transform rotation 0 0 1 0, sit on it and face +z and find +y
>> is up and +x is left.
>>
>> then fly the thing using pitch and yaw and roll.
>>
>> The x3d axis-angle parameters are most likely pitch yaw roll then the
>> scale,
>>
>> and I think the same order for quaternions, except where the 'scale' is
>> placed and the special limits for values.
>>
>>
>>
>> Why not try the following:
>>
>>
>>
>> DEF Pitch OrientationInterpolator {
>>
>> key [ 0, 0.25 0.5, 0.75 1 ]
>>
>> keyValue [ 0 0 1 0, 1 0 0 1.5, 0 0 1 0, -1 0 0 1.5, 0 0 1 0 ] }
>>
>>
>>
>> DEF Yaw OrientationInterpolator { key [ 0, 0.25 0.5, 0.75 1 ]
>>
>> keyValue [ 0 0 1 0, 0 1 0 1.5, 0 0 1 0, 0 -1 0 1.5, 0 0 1 0 ] }
>>
>>
>>
>> DEF Roll OrientationInterpolator {
>>
>> key [ 0, 0.25 0.5, 0.75 1 ]
>>
>> keyValue [ 0 0 1 0, 0 0 1 1.5, 0 0 1 0, 0 0 1 1.5, 0 0 1 0 ] }
>>
>>
>>
>> Thanks and Best,
>>
>> Joe
>>
>>
>>
>> *From: *Albert Jan Wonnink <awonnink at hotmail.com>
>> *Sent: *Sunday, January 6, 2019 2:25 PM
>> *To: *vmarchetti at kshell.com; X3D-Public <x3d-public at web3d.org>
>> *Subject: *Re: [x3d-public] Euler rotation
>>
>>
>>
>> Thanks Vince, for your reply.
>>
>>
>>
>> As long as the angles and X3D code is generated by code one can of
>> course easily calculate the individual parameters for a quaternion. But
>> during the testing of our experimental Unity based browser, and preparing
>> scenes for that, I found it very easy to extend the transform specification
>> with a degree-based Euler attribute (Tait-Bryan would also have worked).
>>
>>
>>
>> The current system still makes it relatively difficult to manually apply
>> an angle of the most used fractions of PI, doesn't it?
>>
>>
>>
>> I guess this issue must have been discussed in one of the early days of
>> the X3D specification. But it seems to me a lost chance to make it more
>> convenient.
>>
>>
>>
>> Regards
>>
>>
>>
>>
>>
>> Albert Jan Wonnink
>>
>>
>>
>>
>>
>> [image: cid:image002.png at 01D4A5E3.FD08F950]
>>
>> *Van:* vmarchetti at kshell.com <vmarchetti at kshell.com>
>> *Verzonden:* zondag 6 januari 2019 22:49
>> *Aan:* Albert Jan Wonnink; X3D-Public
>> *Onderwerp:* Re: [x3d-public] Euler rotation
>>
>>
>>
>> There is no single node Euler angle alternative representation of a
>> rotation transform defined in the current (v 3.3) X3D standard.
>>
>>
>>
>> You can get an easier to edit representation of Euler angle rotation
>> (specifically the Tait-Bryan angles,
>> https://en.wikipedia.org/wiki/Euler_angles#Tait%E2%80%93Bryan_angles
>> <https://en.wikipedia.org/wiki/Euler_angles#Tait–Bryan_angles>, commonly
>> used for vehicle oriented
>>
>> with respect to the horizon, by nesting 3 Transforms:
>>
>>
>>
>> <Transform DEF="yaw-rotation" rotation="0 0 1 $yaw">
>>
>> <Transform DEF="pitch-rotation" rotation="0 1 0 $pitch">
>>
>> <Transform DEF="roll-rotation" rotation="1 0 0 $roll">
>>
>> <!-- put vehicle model here -->
>>
>> <Shape>...</Shape>
>>
>> </Transform>
>>
>> </Transform>
>>
>> </Transform>
>>
>>
>>
>> where for $yaw, $pitch, $roll you need to substitute the numerical value
>> of the rotation angle in radians.
>>
>>
>>
>>
>>
>> Vince Marchetti
>>
>>
>>
>> On Jan 6, 2019, at 12:53 PM, Albert Jan Wonnink <awonnink at hotmail.com>
>> wrote:
>>
>>
>>
>> Is there, or should there be, an Euler alternative for the transform
>> 'rotation' property? This makes direct x3d code editing much easier.
>>
>>
>>
>> Regards,
>>
>>
>>
>>
>>
>> Albert Jan Wonnink
>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> x3d-public mailing list
>> 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/20190107/a42fb6b0/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 9B68D1D68F1247D1A07F4C368D0D7215.png
Type: image/png
Size: 156 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190107/a42fb6b0/attachment-0001.png>
More information about the x3d-public
mailing list