<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body>
<div dir="ltr">
<div dir="ltr">Interesting to see in the online issue discussion below that X3DOM includes quaternion methods.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">The SFRotation representation has some similarity to quaternions, but they are of course mathematically distinct.  Quaternions have long been a suggested alternative for X3D, with SFRotation remaining the primary representation since it is much
 more reviewable and editable (among other reasons). Nevertheless, for programmers, additional flexibility can be considered without conflict.  This may encourage X3D API usage with other 3D programming libraries.<span></span><span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Please consider and advise whether quaternion-based accessor (get and set) utility methods ought to be added to the X3D specifications for SFRotation data type.  Specifically they might become required in X3D Scene Access Interface (SAI), along
 with all of the future corresponding version 4.0 revisions to X3D programming-language bindings (ECMAScript/JavaScript, Java, C/C++/C#, Python).<span></span><span></span></div>
<div dir="ltr"><br>
</div>
<div dir="ltr">
<ul data-editing-info="{"orderedStyleType":1,"unorderedStyleType":1}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="list-style-type: disc;"><span><span style="text-align: start; text-decoration: none; display: inline !important; background-color: rgb(255, 255, 255);">X3D Scene Access Interface (SAI), version 4.0 draft</span><br>
</span></li><li style="list-style-type: disc;"><span><span style="text-align: start; text-decoration: none; display: inline !important; background-color: rgb(255, 255, 255);"><a rel="noreferrer noopener" href="https://web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-2v4.0-WD1/">https://web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-2v4.0-WD1</a><br>
</span></span></li></ul>
<div dir="ltr"><span><br>
</span></div>
<div dir="ltr"><span>If so, please list what utility methods seem most broadly valuable.  </span><span style="font-size: inherit;">Based on responses, Dick and I will work on crafting a Mantis issue and draft specification prose for further review.</span></div>
<div dir="ltr"><span><span></span></span></div>
<div dir="ltr"><span><br>
</span></div>
<div dir="ltr"><span>At that point, once reasonably well defined, am also willing to add convenience methods in Java X3DJSAIL and Python X3DPSAIL (x3d.py) libraries for testing.  Contributions of exemplar source code for those libraries will also be welcome,
 if anyone wants.</span></div>
<div dir="ltr"><span><br>
</span></div>
<div dir="ltr"><span>Further interesting is the possibility that we are not only supporting future X3D programmers, but potentially also supporting Metaverse requirements for 3D Web Interoperability.</span></div>
<div dir="ltr"><span><br>
</span></div>
<div dir="ltr"><span>For those wanting additional background, more information about X3D data types and SFRotation (plus further links) can be found at</span></div>
<div dir="ltr"><span><br>
</span></div>
<div dir="ltr">
<ul data-editing-info="{"orderedStyleType":1,"unorderedStyleType":1}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="list-style-type: disc;"><span><span></span>X3D Tooltips 4.0:  field types</span></li><li style="list-style-type: disc;"><span><a rel="noreferrer noopener" href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#type">https://www.web3d.org/x3d/tooltips/X3dTooltips.html#type</a></span></li><li style="list-style-type: disc;"><a rel="noreferrer noopener" href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#FieldTypesTable">https://www.web3d.org/x3d/tooltips/X3dTooltips.html#FieldTypesTable</a><br>
</li><li style="list-style-type: disc;"><a rel="noreferrer noopener" href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#SFRotation">https://www.web3d.org/x3d/tooltips/X3dTooltips.html#SFRotation</a><br>
</li></ul>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><span><span style="text-decoration: none; display: inline !important; background-color: rgb(255, 255, 255);">Thanks in advance for considering the possibilities and all feedback.</span></span></div>
</div>
<div id="ms-outlook-mobile-signature">
<div dir="ltr">
<p style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5"><br>
</span></p>
<p style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">all the best, Don</span></p>
<p style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">--<span> </span></span></p>
<p style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">Don Brutzman  Naval Postgraduate School, Code USW/Br       <span> </span><span dir="ltr" style="color: rgb(0, 120, 212);">brutzman@nps.edu</span></span></p>
<p style="margin:0in;font-size:11pt;font-family:Calibri, sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   <span> </span><span dir="ltr" style="color: rgb(0, 120, 212);">+1.831.656.2149</span></span></p>
<div style="margin:0px 0in;font-size:11pt;font-family:Calibri, sans-serif"><span style="font-size:10pt;font-family:"Courier New";line-height:1.5">X3D graphics, virtual worlds, Navy robotics
</span><span style="font-size:10pt;font-family:"Courier New";line-height:1.5"><span dir="ltr" style="color: rgb(0, 120, 212);"><a href="https://faculty.nps.edu/brutzman">https://faculty.nps.edu/brutzman</a></span></span></div>
</div>
</div>
<div id="mail-editor-reference-message-container" class="ms-outlook-mobile-reference-message">
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif"><b>From:</b> Andreas Plesch <notifications@github.com><br>
<b>Sent:</b> Wednesday, June 26, 2024 11:03 AM<br>
<b>To:</b> x3dom/x3dom <x3dom@noreply.github.com><br>
<b>Cc:</b> Subscribed <subscribed@noreply.github.com><br>
<b>Subject:</b> Re: [x3dom/x3dom] SFMatrix4f() documentation for setRotation and translation (Issue #1322)
<div dir="ltr"><br>
</div>
</font></div>
<p></p>
<div>
<p></p>
<p dir="auto">SFRotation field methods are also available but less well tested.</p>
<p dir="auto">SAI code may look like this:</p>
<pre class="notranslate"><code class="notranslate">SFRot90 = x3dom.fields.SFRotation(1, 0, 0, 1.57);
locR = SFRot90.multiVec(hitP);
trans = new x3dom.fields.SFVec3f(440000, 3670000, 0);
locT = locR.add(trans);
</code></pre>
<p style="font-size: small; color: rgb(102, 102, 102);">—<br>
Reply to this email directly, <a href="https://github.com/x3dom/x3dom/issues/1322#issuecomment-2192318975" originalsrc="https://github.com/x3dom/x3dom/issues/1322#issuecomment-2192318975" shash="Xp8+iWyQ9Bd7DrUGZEQLpH8vaukwwNt5V/SMOVyh7QkQuwvV66qsiEYxt2sL1Qaj9LzfxZPXoGBaVtJGBkLheRUmXMz9N2HJ9/kLUj1ynpGKgvFlen01Vf1iGw3O5JI77uNho1eYZSopVhcmnyQLspQe/bTsrNEXQKtz/S8QzWc=">
view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AB23BYDQOLK25VKQG3TBTJ3ZJL65PAVCNFSM6AAAAABJRIL4AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJSGMYTQOJXGU" originalsrc="https://github.com/notifications/unsubscribe-auth/AB23BYDQOLK25VKQG3TBTJ3ZJL65PAVCNFSM6AAAAABJRIL4AOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJSGMYTQOJXGU" shash="PrFXRfaf3XK/BxjAziSlqN/mN11UBTkTonBoRiVgRWvOa1e6KQsuMwsFEFV6dHuKFTHB4N6sQK/ezNSncEg0n++W7nV/cZ19r2NRxi+hSgLiz49GN2gSLnI9cQrikOinrLfM3oj8VCIJXA8iKA2xy3dnYCwVUjlB8f7SiftNJMI=">
unsubscribe</a>.<br>
You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AB23BYGS6BIVFIP6Y7ZQM3LZJL65PA5CNFSM6AAAAABJRIL4AOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTUCVQQ76.gif" height="1" width="1" alt=""><span style="font-size: 0px; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0px; height: 0px; max-width: 0px; max-height: 0px; color: transparent;">Message
 ID: <span><x3dom/x3dom/issues/1322/2192318975</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
</div>
</div>
</div>
</body>
</html>