<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>