<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:177819442;
        mso-list-type:hybrid;
        mso-list-template-ids:62309324 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:12.0pt;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";
        color:black;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'><span style='font-size:12.0pt;color:black'> to get 'global' consensus … </span></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Suggestions followed by a couple of demonstrations of open implementations that prove it fits in and works and is acceptable to other implementations. Sure, some basic ‘convenience’ stuff looks like it might be easier and might even work good in an authoring interface application but not good in the user code. This angle one seems easy to me because as you can see, it is not quite reliable enough to completely document general interpolator-driven animations.  Besides, if you want to introduce a new parameter that would override an existing parameter and add new data type, then be prepared with the great demos and use cases along with words to update the standard. </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>No raking or coaling intended, just comments from the gallery.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>All Best, </p><p class=MsoNormal>Joe</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:awonnink@hotmail.com">Albert Jan Wonnink</a><br><b>Sent: </b>Tuesday, January 8, 2019 1:23 PM<br><b>To: </b><a href="mailto:x3d-public-request@web3d.org">x3d-public-request@web3d.org</a>; <a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>; <a href="mailto:gpugroup@gmail.com">gpugroup@gmail.com</a><br><b>Subject: </b>Re: [x3d-public] x3d-public Digest, Vol 118, Issue 16</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:12.0pt;color:black'>Hi Doug,<o:p></o:p></span></p><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>thank you for your answer. I am admiring the work that is being done by the current working groups and it seems almost like an impossible job to get 'global' consensus about thus many parts of a specification.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>In the mean time the rate of development increases exponentially, so it will probably be more and more difficult to keep specifications like x3d up with new devices and possibilities for which these are needed.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>It is an interesting era.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>Regards<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'>Albert Jan<o:p></o:p></span></p></div><div><div><p class=MsoNormal><span style='font-size:12.0pt;color:black'><o:p> </o:p></span></p></div><p class=MsoNormal><img border=0 width=555 height=2 style='width:5.7833in;height:.0166in' id="Horizontal_x0020_Line_x0020_1" src="cid:image002.png@01D4A8DF.6FF38270"><o:p></o:p></p><div id=divRplyFwdMsg><p class=MsoNormal><b><span style='color:black'>Van:</span></b><span style='color:black'> x3d-public <x3d-public-bounces@web3d.org> namens x3d-public-request@web3d.org <x3d-public-request@web3d.org><br><b>Verzonden:</b> maandag 7 januari 2019 14:46<br><b>Aan:</b> x3d-public@web3d.org<br><b>Onderwerp:</b> x3d-public Digest, Vol 118, Issue 16</span> <o:p></o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div></div></div><p class=MsoNormal>Send x3d-public mailing list submissions to<br>        x3d-public@web3d.org<br><br>To subscribe or unsubscribe via the World Wide Web, visit<br>        <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>or, via email, send a message with subject or body 'help' to<br>        x3d-public-request@web3d.org<br><br>You can reach the person managing the list at<br>        x3d-public-owner@web3d.org<br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of x3d-public digest..."<br><br><br>Today's Topics:<br><br>   1. Re: Euler rotation (GPU Group)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Mon, 7 Jan 2019 06:45:14 -0700<br>From: GPU Group <gpugroup@gmail.com><br>To: X3D-Public <x3d-public@web3d.org><br>Subject: Re: [x3d-public] Euler rotation<br>Message-ID:<br>        <CAM2ogRdpwmnOVDxsWXzq-ihszCUWKcs26BWfvCa6skBJtThyNQ@mail.gmail.com><br>Content-Type: text/plain; charset="utf-8"<br><br>And this is a tough crowd AJ - they rake you over the coals here. No<br>instant applause allowed. I've submitted a few ideas through the specs<br>comments and very little saw its way into specs v4. Personally I love the<br>euler idea - in large part because I think it would welcome more users from<br>different backgrounds and skill levels, trying to get started in x3d.<br>I suspect to get things adopted, its better to become a full member, and<br>sit on various 'boards' where we can nurse our pet ideas through to final<br>specs. I would do that process but I always seem to have my year booked.<br>Maybe some day.<br>-Doug Sanden<br><br>On Mon, Jan 7, 2019 at 4:39 AM Albert Jan Wonnink <awonnink@hotmail.com><br>wrote:<br><br>> Hi Joseph,<br>><br>> Thank you for your reply. Just to be sure: the context I meant to discuss<br>> is about having a convenient attribute in the declarative syntax, say<br>> 'euler', to set the initial orientation of the transform, so anyone can use<br>> either 'rotation' or 'euler'.<br>><br>> <transform euler="20 40 10" ><br>><br>> So I interpreted Vince's $yaw, $pitch and $roll to be just placeholders,<br>> for manual substitution.<br>><br>> You are right using this with either radians or degrees would be equally<br>> simple.<br>><br>> Regards,<br>><br>> Albert Jan<br>><br>><br>><br>><br>><br>> *From: *Joseph D Williams <joedwil@earthlink.net><br>> *Sent: *Sunday, January 6, 2019 7:20 PM<br>> *To: *Albert Jan Wonnink <awonnink@hotmail.com>; vmarchetti@kshell.com;<br>> X3D-Public <x3d-public@web3d.org><br>> *Subject: *Re: [x3d-public] Euler rotation<br>><br>><br>><br>> Hi Albert and All,<br>><br>> When you use euler (or Tait-Bryan) angles for a while you will find that<br>> you get problems.<br>><br>> Actually there is plenty of writing about the details maybe even in the<br>> x3d or hanim archives and widely on the web.<br>><br>><br>><br>> In addition, when you create or edit the things much then you will find it<br>> is actually a lot easier to use quats or axis-angle radians. In general,<br>> for degrees, maybe your editing system may offer as a learning tool if<br>> radian is really an elementary block to learning, but really, never in the<br>> user code due to misleading simplicity and what ?cha finally gonna tell ?em<br>> when the gimbals lock?<br>><br>><br>><br>>    - <Transform DEF="yaw-rotation" rotation="0 0 1 $yaw"><br>>    - <Transform DEF="pitch-rotation" rotation="0 1 0 $pitch"><br>>    - <Transform DEF="roll-rotation" rotation="1 0 0 $roll"><br>><br>><br>><br>> Besides the fact that a variable is not allowed there<br>><br>> (maybe use a prototype if you need a variable?)<br>><br>> I don't think your naming of yaw and pitch and roll is reasonable for x3d.<br>><br>><br>><br>> For default transform rotation 0 0 1 0, sit on it and face +z and find +y<br>> is up and +x is left.<br>><br>> then fly the thing using pitch and yaw and roll.<br>><br>> The x3d axis-angle parameters are most likely pitch yaw roll then the<br>> scale,<br>><br>> and I think the same order for quaternions, except where the 'scale' is<br>> placed and the special limits for values.<br>><br>><br>><br>> Why not try the following:<br>><br>><br>><br>> DEF Pitch OrientationInterpolator {<br>><br>> key [ 0, 0.25 0.5, 0.75 1 ]<br>><br>> keyValue [ 0 0 1 0, 1 0 0 1.5, 0 0 1 0, -1 0 0 1.5, 0 0 1 0 ] }<br>><br>><br>><br>> DEF Yaw OrientationInterpolator { key [ 0, 0.25 0.5, 0.75 1 ]<br>><br>> keyValue [ 0 0 1 0, 0 1 0 1.5, 0 0 1 0, 0 -1 0 1.5, 0 0 1 0 ] }<br>><br>><br>><br>> DEF Roll OrientationInterpolator {<br>><br>> key [ 0, 0.25 0.5, 0.75 1 ]<br>><br>> keyValue [ 0 0 1 0, 0 0 1 1.5, 0 0 1 0, 0 0 1 1.5, 0 0 1 0 ] }<br>><br>><br>><br>> Thanks and Best,<br>><br>> Joe<br>><br>><br>><br>> *From: *Albert Jan Wonnink <awonnink@hotmail.com><br>> *Sent: *Sunday, January 6, 2019 2:25 PM<br>> *To: *vmarchetti@kshell.com; X3D-Public <x3d-public@web3d.org><br>> *Subject: *Re: [x3d-public] Euler rotation<br>><br>><br>><br>> Thanks Vince, for your reply.<br>><br>><br>><br>> As long as the angles and X3D code is  generated by code one can of course<br>> easily calculate the individual parameters for a quaternion. But during the<br>> testing of our experimental Unity based browser, and preparing scenes for<br>> that, I found it very easy to extend the transform specification with a<br>> degree-based Euler attribute (Tait-Bryan would also have worked).<br>><br>><br>><br>> The current system still makes it relatively difficult to manually apply<br>> an angle of the most used fractions of PI, doesn't it?<br>><br>><br>><br>> I guess this issue must have been discussed in one of the early days of<br>> the X3D specification. But it seems to me a lost chance to make it more<br>> convenient.<br>><br>><br>><br>> Regards<br>><br>><br>><br>><br>><br>> Albert Jan Wonnink<br>><br>><br>><br>><br>><br>> [image: cid:image002.png@01D4A5E3.FD08F950]<br>><br>> *Van:* vmarchetti@kshell.com <vmarchetti@kshell.com><br>> *Verzonden:* zondag 6 januari 2019 22:49<br>> *Aan:* Albert Jan Wonnink; X3D-Public<br>> *Onderwerp:* Re: [x3d-public] Euler rotation<br>><br>><br>><br>> There is no single node Euler angle alternative representation of a<br>> rotation transform defined in the current (v 3.3) X3D standard.<br>><br>><br>><br>> You can get an easier to edit representation of Euler angle rotation<br>> (specifically the Tait-Bryan angles,<br>> <a href="https://en.wikipedia.org/wiki/Euler_angles#Tait%E2%80%93Bryan_angles">https://en.wikipedia.org/wiki/Euler_angles#Tait%E2%80%93Bryan_angles</a><br>> <<a href="https://en.wikipedia.org/wiki/Euler_angles#Tait?Bryan_angles">https://en.wikipedia.org/wiki/Euler_angles#Tait?Bryan_angles</a>>, commonly<br>> used for vehicle oriented<br>><br>> with respect to the horizon, by nesting 3 Transforms:<br>><br>><br>><br>> <Transform DEF="yaw-rotation" rotation="0 0 1 $yaw"><br>><br>> <Transform DEF="pitch-rotation" rotation="0 1 0 $pitch"><br>><br>> <Transform DEF="roll-rotation" rotation="1 0 0 $roll"><br>><br>> <!-- put vehicle model here --><br>><br>> <Shape>...</Shape><br>><br>> </Transform><br>><br>> </Transform><br>><br>> </Transform><br>><br>><br>><br>> where for $yaw, $pitch, $roll you need to substitute the numerical value<br>> of the rotation angle in radians.<br>><br>><br>><br>><br>><br>> Vince Marchetti<br>><br>><br>><br>> On Jan 6, 2019, at 12:53 PM, Albert Jan Wonnink <awonnink@hotmail.com><br>> wrote:<br>><br>><br>><br>> Is there, or should there be, an Euler alternative for the transform<br>> 'rotation' property? This makes direct x3d code editing much easier.<br>><br>><br>><br>> Regards,<br>><br>><br>><br>><br>><br>> Albert Jan Wonnink<br>><br>> _______________________________________________<br>> x3d-public mailing list<br>> x3d-public@web3d.org<br>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>><br>><br>><br>><br>><br>><br>> _______________________________________________<br>> x3d-public mailing list<br>> x3d-public@web3d.org<br>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>><br>-------------- next part --------------<br>An HTML attachment was scrubbed...<br>URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190107/f75bf3fe/attachment.html">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190107/f75bf3fe/attachment.html</a>><br>-------------- next part --------------<br>A non-text attachment was scrubbed...<br>Name: 9B68D1D68F1247D1A07F4C368D0D7215.png<br>Type: image/png<br>Size: 156 bytes<br>Desc: not available<br>URL: <<a href="http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190107/f75bf3fe/attachment.png">http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190107/f75bf3fe/attachment.png</a>><br><br>------------------------------<br><br>Subject: Digest Footer<br><br>_______________________________________________<br>x3d-public mailing list<br>x3d-public@web3d.org<br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br><br><br>------------------------------<br><br>End of x3d-public Digest, Vol 118, Issue 16<br>*******************************************<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>