<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 1/6/2019 7:23 PM, John Carlson
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:5c32c635.1c69fb81.e0644.3704@mx.google.com">
      <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;}
@font-face
        {font-family:Monaco;}
/* 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:494147807;
        mso-list-type:hybrid;
        mso-list-template-ids:-866510470 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:4;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@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>
      <div class="WordSection1">
        <p class="MsoNormal">Can this be written up and placed on
          popular website?</p>
      </div>
    </blockquote>
    <p>Dies web3d.org count as a popular website? Vince's write-up is in
      the mailing list archives at
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/private/x3d-public_web3d.org/2019-January/009793.html">http://web3d.org/mailman/private/x3d-public_web3d.org/2019-January/009793.html</a>.
      These do get cataloged by Google (and other search engines).</p>
    <p>Or are you looking for a more user-friendly description with
      graphics and examples? If you wish to write something up, there
      are several people who can help you get it posted on web3d.org</p>
    <p>Leonard Daly<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:5c32c635.1c69fb81.e0644.3704@mx.google.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks,</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">john</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Sent from <a
            href="https://go.microsoft.com/fwlink/?LinkId=550986"
            moz-do-not-send="true">Mail</a> for Windows 10</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:joedwil@earthlink.net"
              moz-do-not-send="true">Joseph D Williams</a><br>
            <b>Sent: </b>Sunday, January 6, 2019 7:20 PM<br>
            <b>To: </b><a href="mailto:awonnink@hotmail.com"
              moz-do-not-send="true">Albert Jan Wonnink</a>; <a
              href="mailto:vmarchetti@kshell.com" moz-do-not-send="true">vmarchetti@kshell.com</a>;
            <a href="mailto:x3d-public@web3d.org" moz-do-not-send="true">X3D-Public</a><br>
            <b>Subject: </b>Re: [x3d-public] Euler rotation</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Hi Albert and All, <o:p></o:p></p>
        <p class="MsoNormal">When you use euler (or <span
            style="font-size:12.0pt;color:black">Tait-Bryan) </span>angles
          for a while you will find that you get problems. <o:p></o:p></p>
        <p class="MsoNormal">Actually there is plenty of writing about
          the details maybe even in the x3d or hanim archives and widely
          on the web.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">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? <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l0 level1 lfo1"><Transform
            DEF="yaw-rotation" rotation="0 0 1 $yaw"><o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l0 level1 lfo1"><Transform
            DEF="pitch-rotation" rotation="0 1 0 $pitch"><o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l0 level1 lfo1"><Transform
            DEF="roll-rotation" rotation="1 0 0 $roll"><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Besides the fact that a variable is not
          allowed there <o:p></o:p></p>
        <p class="MsoNormal">(maybe use a prototype if you need a
          variable?) <o:p></o:p></p>
        <p class="MsoNormal">I don't think your naming of yaw and pitch
          and roll is reasonable for x3d. <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">For default transform rotation 0 0 1 0, sit
          on it and face +z and find +y is up and +x is left. <o:p></o:p></p>
        <p class="MsoNormal">then fly the thing using pitch and yaw and
          roll.<o:p></o:p></p>
        <p class="MsoNormal">The x3d axis-angle parameters are most
          likely pitch yaw roll then the scale, <o:p></o:p></p>
        <p class="MsoNormal">and I think the same order for quaternions,
          except where the 'scale' is placed and the special limits for
          values. <o:p></o:p></p>
        <p class="MsoNormal"> <o:p></o:p></p>
        <p class="MsoNormal">Why not try the following:<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">DEF Pitch OrientationInterpolator { <o:p></o:p></p>
        <p class="MsoNormal">key [ 0, 0.25 0.5, 0.75 1 ] <o:p></o:p></p>
        <p class="MsoNormal">keyValue [ 0 0 1 0, 1 0 0 1.5, 0 0 1 0, -1
          0 0 1.5, 0 0 1 0 ] }<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">DEF Yaw OrientationInterpolator { key [ 0,
          0.25 0.5, 0.75 1 ] <o:p></o:p></p>
        <p class="MsoNormal">keyValue [ 0 0 1 0, 0 1 0 1.5, 0 0 1 0, 0
          -1 0 1.5, 0 0 1 0 ] }<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">DEF Roll OrientationInterpolator { <o:p></o:p></p>
        <p class="MsoNormal">key [ 0, 0.25 0.5, 0.75 1 ] <o:p></o:p></p>
        <p class="MsoNormal">keyValue [ 0 0 1 0, 0 0 1 1.5, 0 0 1 0, 0 0
          1 1.5, 0 0 1 0 ] }<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks and Best,<o:p></o:p></p>
        <p class="MsoNormal">Joe<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border:none;border-top:solid #E1E1E1
          1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal"><b>From: </b><a
              href="mailto:awonnink@hotmail.com" moz-do-not-send="true">Albert
              Jan Wonnink</a><br>
            <b>Sent: </b>Sunday, January 6, 2019 2:25 PM<br>
            <b>To: </b><a href="mailto:vmarchetti@kshell.com"
              moz-do-not-send="true">vmarchetti@kshell.com</a>; <a
              href="mailto:x3d-public@web3d.org" moz-do-not-send="true">X3D-Public</a><br>
            <b>Subject: </b>Re: [x3d-public] Euler rotation<o:p></o:p></p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="font-size:12.0pt;color:black">Thanks
            Vince, for your reply. <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">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).<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">The current system
              still makes it relatively difficult to manually apply an
              angle of the most used fractions of PI, doesn't it?<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">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.<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"><o:p> </o:p></span></p>
        </div>
        <div>
          <p class="MsoNormal"><span
              style="font-size:12.0pt;color:black">Albert Jan Wonnink<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>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
          </div>
          <p class="MsoNormal"><img
              style="width:5.8541in;height:.0208in"
              id="Horizontal_x0020_Line_x0020_1"
              src="cid:image003.png@01D4A606.14B5CB60"
              alt="cid:image002.png@01D4A5E3.FD08F950"
              moz-do-not-send="true" width="562" height="2" border="0"><o:p></o:p></p>
          <div id="divRplyFwdMsg">
            <p class="MsoNormal"><b><span style="color:black">Van:</span></b><span
                style="color:black"> <a class="moz-txt-link-abbreviated" href="mailto:vmarchetti@kshell.com">vmarchetti@kshell.com</a>
                <a class="moz-txt-link-rfc2396E" href="mailto:vmarchetti@kshell.com"><vmarchetti@kshell.com></a><br>
                <b>Verzonden:</b> zondag 6 januari 2019 22:49<br>
                <b>Aan:</b> Albert Jan Wonnink; X3D-Public<br>
                <b>Onderwerp:</b> Re: [x3d-public] Euler rotation</span>
              <o:p></o:p></p>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
          </div>
          <div>
            <div>
              <p class="MsoNormal">There is no single node Euler angle
                alternative representation of a rotation transform
                defined in the current (v 3.3) X3D standard.<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">You can get an easier to edit
                representation of Euler angle rotation (specifically the
                Tait-Bryan angles, <a
                  href="https://en.wikipedia.org/wiki/Euler_angles#Tait–Bryan_angles"
                  moz-do-not-send="true">https://en.wikipedia.org/wiki/Euler_angles#Tait%E2%80%93Bryan_angles</a>,
                commonly used for vehicle oriented<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal">with respect to the horizon, by
                nesting 3 Transforms:<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><Transform DEF="yaw-rotation"
                rotation="0 0 1 $yaw"><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><Transform DEF="pitch-rotation"
                rotation="0 1 0 $pitch"><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><Transform DEF="roll-rotation"
                rotation="1 0 0 $roll"><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><!-- put vehicle model here --><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><Shape>...</Shape><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"></Transform><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"></Transform><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"></Transform><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">where for $yaw, $pitch, $roll you
                need to substitute the numerical value of the rotation
                angle in radians.<o:p></o:p></p>
            </div>
            <div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Vince Marchetti<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
                <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                  <div>
                    <p class="MsoNormal">On Jan 6, 2019, at 12:53 PM,
                      Albert Jan Wonnink <<a
                        href="mailto:awonnink@hotmail.com"
                        moz-do-not-send="true">awonnink@hotmail.com</a>>
                      wrote:<o:p></o:p></p>
                  </div>
                  <p class="MsoNormal"><o:p> </o:p></p>
                  <div>
                    <div>
                      <p class="MsoNormal"><span
                          style="font-size:12.0pt">Is there, or should
                          there be, an Euler alternative for the
                          transform 'rotation' property? This makes
                          direct x3d code editing much easier.<o:p></o:p></span></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><span
                          style="font-size:12.0pt"><o:p> </o:p></span></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><span
                          style="font-size:12.0pt">Regards,<o:p></o:p></span></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><span
                          style="font-size:12.0pt"><o:p> </o:p></span></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><span
                          style="font-size:12.0pt"><o:p> </o:p></span></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><span
                          style="font-size:12.0pt">Albert Jan Wonnink <o:p></o:p></span></p>
                    </div>
                    <p class="MsoNormal"><span
                        style="font-size:9.0pt;font-family:Monaco">_______________________________________________<br>
                        x3d-public mailing list<br>
                      </span><a href="mailto:x3d-public@web3d.org"
                        moz-do-not-send="true"><span
                          style="font-size:9.0pt;font-family:Monaco">x3d-public@web3d.org</span></a><span
                        style="font-size:9.0pt;font-family:Monaco"><br>
                      </span><a
                        href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"
                        moz-do-not-send="true"><span
                          style="font-size:9.0pt;font-family:Monaco">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</span></a><o:p></o:p></p>
                  </div>
                </blockquote>
              </div>
            </div>
          </div>
        </div>
        <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>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
    </blockquote>
    <p><br>
    </p>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        3D Systems & Cloud Consultant<br>
        LA ACM SIGGRAPH Past Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>