<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)"><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;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        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;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.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:1168715934;
        mso-list-type:hybrid;
        mso-list-template-ids:812387592 1953286958 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        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:;
        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:;
        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:;
        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:;
        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:;
        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><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Wondering if you are reporting issues to Blender, John.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We found when writing the BVH import for X3D-edit that not all BVH files are formatted exactly the same, it was never standardized.<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'>X3D-Edit 4.0 Authoring Tool for Extensible 3D (X3D) Graphics<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>https://savage.nps.edu/X3D-Edit<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>X3D-Edit is a free, open-source Extensible 3D (X3D) Graphics authoring tool for simple high-quality authoring, editing, import/export, validation and viewing of X3D scenes.<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Suggested installation: install Apache NetBeans first, then install the X3D-Edit plugin.  Most reliable, you also will get notifications of updates automatically.<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you have a working BVH example that X3D-Edit has trouble handling and importing, then I’ll be happy to add corrections for that to our TODO list.  Thanks for all efforts.<o:p></o:p></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman<o:p></o:p></span></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> x3d-public <x3d-public-bounces@web3d.org> <b>On Behalf Of </b>Joe D Williams<br><b>Sent:</b> Saturday, October 14, 2023 12:27 PM<br><b>To:</b> John Carlson <yottzumm@gmail.com>; GPU Group <gpugroup@gmail.com><br><b>Cc:</b> x3d-public@web3d.org<br><b>Subject:</b> Re: [x3d-public] Units for BVH vs HAnimMotion.values<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><p><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>> I’ve not had success with Blender Bvh import.</span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Success with blender would mean you have a blender skeleton that is animated by the bvh euler angle rotation data.<o:p></o:p></span></p><p style='margin:0.1rem 0'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Don't even bother with Blender, maybe, because x3d does a documented conversion and the order of success is the same. The skeleton animated using the motion node directly may or may not actually convert to use interpolators. Or, the angle data is fully converted as shown to x3d syntax interpolator-driven animations used to control the skeleton. Just because the x3d player can use the bvh motion file doesn't mean it has to expose any x3d syntax. <o:p></o:p></span></p><p style='margin:0.1rem 0'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p></div><p class=MsoNormal>> is sufficient to imply Motion data is in degrees? Thee is no spec for bvh. Per part 2, if you have a file that looks like the descriptions, has the sample set of keywords and data structures, then give it a go. We also show how actually convert the file to x3d syntax if it is worth examining in detail. <o:p></o:p></p><p> <o:p></o:p></p><p style='margin:0.1rem 0'>Joe<o:p></o:p></p><p style='margin:0.1rem 0'> <o:p></o:p></p><p style='margin:0.1rem 0'> <o:p></o:p></p><div style='border:none;border-left:solid #AAAAAA 1.0pt;padding:0in 0in 0in 11.0pt;box-sizing: border-box'><p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>><br>Sent: Oct 14, 2023 8:00 AM<br>To: GPU Group <<a href="mailto:gpugroup@gmail.com">gpugroup@gmail.com</a>><br>Cc: Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>>, <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br>Subject: Re: [x3d-public] Units for BVH vs HAnimMotion.values<o:p></o:p></p><p style='margin:0.1rem 0'> <o:p></o:p></p><div><p class=MsoNormal>I’ve not had success with Blender Bvh import.<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>John<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Sat, Oct 14, 2023 at 6:54 AM GPU Group <<a href="mailto:gpugroup@gmail.com">gpugroup@gmail.com</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal>The Blender > Export/Import > mocap bvh code may have some hints.  <o:p></o:p></p><div><p class=MsoNormal>Hypothesis: on import it converts from mocap to interpolators, on export goes the other way.<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Q. do you think that HAnim 5.2.4 Angle Conversion Procedure is sufficient to imply Motion data is in degrees? It doesn't mention the Motion node explicitly (Hypothesis written in an early era).. If so we could make the Motion.values degrees by default, as Joe suggested and 5.2.4 'indirectly implies'? <o:p></o:p></p></div><div><p class=MsoNormal>-Doug<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div><div><div><p class=MsoNormal>On Sat, Oct 14, 2023 at 2:47 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<o:p></o:p></p></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal>Here's the Euler Angle to Axis-Angle in HAnim Pt section 5.2.4 <o:p></o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal><a href="https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/AnimationUsingInterpolators.html#AngleConversionProcedure" target="_blank">https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/AnimationUsingInterpolators.html#AngleConversionProcedure</a><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Hmm!  I'm guessing that Blender has a routine for this! Sure enough!  Trying it now.<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Not with HAnimMotion, I don't know how to do that yet.  Suggestions?<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>John<o:p></o:p></p></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Sat, Oct 14, 2023 at 12:21 AM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>> Um, then why is angle even listed here?<o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>  <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>That is easy, take another look. <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Euler angles are not listed anywhere! <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Convert to axis-angle like showed in Part 2 and forget xyz angles/<o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'>Joe<o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p></div><div style='border:none;border-left:solid #AAAAAA 1.0pt;padding:0in 0in 0in 11.0pt;box-sizing: border-box'><p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Oct 13, 2023 6:15 PM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>><br>Cc: <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: Re: [x3d-public] Units for BVH vs HAnimMotion.values<o:p></o:p></p><p style='margin:0.1rem 0px'> <o:p></o:p></p><div><div><div><p class=MsoNormal>Um, then why is angle even listed here? <o:p></o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Confusing as heck!<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal><a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/concepts.html#t-Standardunits" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/concepts.html#t-Standardunits</a><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>John<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Fri, Oct 13, 2023 at 7:19 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>> otherwise specified in a UNIT statement </span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'><a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/concepts.html#Standardunitscoordinates" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/concepts.html#Standardunitscoordinates</a></span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>"However, the world coordinate units may be modified by specifying a different length unit using the UNIT statement."</span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>There is Not Now nor will there Ever be a UNIT statement that allows degrees for rotation and orientation. </span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>Never, will angles appear in any x3d animation interpolator. </span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>To apply an import using angle units, it is converted to x3d before use, then discarded or possibly stored somewhere away from working area for reference.  </span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>Thanks and Best,</span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:13.5pt;font-family:"Times New Roman",serif;color:black'>Joe</span><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'><o:p></o:p></span></p><p style='margin:0.1rem 0px'><span style='font-size:12.0pt;font-family:"Arial",sans-serif;color:black'> <o:p></o:p></span></p></div><div style='border:none;border-left:solid #AAAAAA 1.0pt;padding:0in 0in 0in 11.0pt;box-sizing: border-box'><p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Oct 13, 2023 11:44 AM<br>To: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: [x3d-public] Units for BVH vs HAnimMotion.values<o:p></o:p></p><p style='margin:0.1rem 0px'> <o:p></o:p></p><p class=MsoNormal>Apparently BVH uses degrees for rotations.  Units for HAnimMotion should use radians unless otherwise specified in a UNIT statement, AFAIK. <o:p></o:p></p><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Comments?<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Thanks!<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>John <o:p></o:p></p></div></div><p style='margin:0.1rem 0px'> <o:p></o:p></p></blockquote></div></div><p style='margin:0.1rem 0px'> <o:p></o:p></p></blockquote></div></blockquote></div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>_______________________________________________<o:p></o:p></p></blockquote></div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal><br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></p></blockquote></div></blockquote></div></div></div><p style='margin:0.1rem 0'> <o:p></o:p></p></div></body></html>