<html 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;
        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;}
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:726487835;
        mso-list-type:hybrid;
        mso-list-template-ids:-298445476 -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;
        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></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><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'>Next week we will look at<o:p></o:p></li></ul><p class=MsoNormal>* HAnim Specification LOA 3 Invisible (the original information)<o:p></o:p></p><p class=MsoNormal>* HAnim Specification LOA 3 Illustrated (which includes tool-added joint and segment geometry)<o:p></o:p></p><p class=MsoNormal>* HAnim Specification LOA 3 Motion (which tries to connect that model)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Yes, Please. The objective is to update these to from V1 LOA3 to V2 LOA4 by changing the same joints with old names to their new names and adding new joints to the appropriate hierarchies. The only unknowns are xyz for the new Joints but we have some basic info. <o:p></o:p></p><p class=MsoNormal>Likewise for the sites  where we change old names to new and add new Sites. The only unknowns are xyz for the new Sites. <o:p></o:p></p><p class=MsoNormal>From that, we have everything else, except add new Sites to Joe Kick skin.<o:p></o:p></p><p class=MsoNormal>Then, we have everything we need, except … <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,<o:p></o:p></p><p class=MsoNormal>Joe<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><o:p> </o:p></b></p><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Thursday, June 11, 2020 2:26 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:h-anim@web3d.org">Humanoid Animation (H-Anim) Working Group</a><br><b>Cc: </b><a href="mailto:sandyressler@gmail.com">Sandy Ressler</a>; <a href="mailto:sressler@acm.org">Sandy Ressler</a><br><b>Subject: </b>Re: [x3d-public] X3D HANIM Examples</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>HAnim examples effort.  Attendees: John Carlson, Joe Williams, Don Brutzman.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sandy: copied you because we are trying to confirm authorship, please advise.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 6/8/2020 3:36 PM, Joseph D Williams wrote:</p><p class=MsoNormal>> You need to tell the problem and give a solution.</p><p class=MsoNormal>> </p><p class=MsoNormal>> -anon</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>amen bruddah</p><p class=MsoNormal>  </p><p class=MsoNormal>> Introduction</p><p class=MsoNormal>><o:p> </o:p></p><p class=MsoNormal>> The x3d hanim V2 LOA4 'standard skeleton is (will be) represented by</p><p class=MsoNormal>> </p><p class=MsoNormal>> an adopted set of Joint center locations listed in V2 Part 1 Annex A.</p><p class=MsoNormal>> </p><p class=MsoNormal>> The x3d hanim V2 LOA4 'standard' skin is (will be) represented by</p><p class=MsoNormal>> </p><p class=MsoNormal>> an adopted set of Site locations, also listed in V2 Part 1 Annex A.</p><p class=MsoNormal>> </p><p class=MsoNormal>> Example V2 xml user code to produce this 'standard' hanim Humanoid</p><p class=MsoNormal>> </p><p class=MsoNormal>> is (will be) provided to support the hierarchy definitions and given dimensions.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>to your three points:  yes yes yes</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>interesting perspective: you think we will make faster progress starting at higher LOA and then simplifying, rather than building up.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Looking Stuff Up</p><p class=MsoNormal>> </p><p class=MsoNormal>> First, please look at x3d hanim V2 Part 1</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/HAnimArchitecture.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> (escape the frames)</p><p class=MsoNormal>> </p><p class=MsoNormal>> Example 'standard' x3d hanim V2 Humanoid in Concepts</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-LOA4Joints</p><p class=MsoNormal>> </p><p class=MsoNormal>> LOA4 hierarchy diagram in Concepts</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#BasicSetJointHierarchy4</p><p class=MsoNormal>> </p><p class=MsoNormal>> 'standard' Humanoid V2 LOA4 Joint center locations in Annex A</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/BodyDimensionsAndLOAs.html#LOA4DefaultJointCenters</p><p class=MsoNormal>> </p><p class=MsoNormal>> 'standard' Humanoid v2 LOA4 Site Locations in Annex A</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/BodyDimensionsAndLOAs.html#LOA4DefaultSiteTranslations</p><p class=MsoNormal>> </p><p class=MsoNormal>> Visual reference for Humanoid V2 LOA4 Site locations in Annex B</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/FeaturePoints.html#FeaturePointsOnTheHumanBody</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>so far so great...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> By far the best reference for 'standard' x3d hanim V1 LOA3 Joints and Sites.</p><p class=MsoNormal>> </p><p class=MsoNormal>> Derived from x3d hanim V1 vrml user code.</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3IllustratedIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Very useful for development as replacement for V2 Part 1 Annex A user code examples, just add new V2 Joint centers.</p><p class=MsoNormal>> </p><p class=MsoNormal>> By far the best reference for 'standard' x3d hanim V1 skin, derived mostly from V1 Site locations.</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/JoeSkinTexcoordDisplacerKickIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Very useful for development as addition to v2 Part 1 Annex A user code examples, just add nes V2 Site locations.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Agreed, but... you have actually found an omission in our copying of examples.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We are _not_ updating the Basic/HumanoidAnimation examples, rather we are doing a complete upgrade at</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[1] HumanoidAnimation X3D Examples Archive</p><p class=MsoNormal>     https://www.web3d.org/x3d/content/examples/HumanoidAnimation (note no "Basic" any more!)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So first we copied over</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>* HAnim Specification LOA 3 Illustrated</p><p class=MsoNormal>* HAnimSpecificationLOA3Invisible</p><p class=MsoNormal>* HAnimSpecificationLOA3Motion</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>to https://www.web3d.org/x3d/content/examples/HumanoidAnimation/#Specifications</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We then looked for JoeSkinTexcoordDisplacerKick.x3d which has been copied, first as original "Legacy" version (X3D3 HAnim1) and then with a shorter name (X3D4 HAnim2) to</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[2] X3D Example Archives: Humanoid Animation, Legacy, Joe Skin Texcoord Displacer Kick</p><p class=MsoNormal>     https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Legacy/JoeSkinTexcoordDisplacerKickIndex.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[3] X3D Example Archives: Humanoid Animation, Characters, Joe Kick</p><p class=MsoNormal>     https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeKickIndex.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Note that X_ITE works for HAnim1 X3D3 version (with component "H-Anim"), does not yet fully support HAnim2 X3D4 version (with component "HAnim").</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Complete Skeleton (40x 'standard' x3d hanim Humanoid)</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/Medical/BonesAllSkeletonIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Detailed skin (Also 40x Complete Skeleton)</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/Medical/BodySkinIndexedFaceSetNISTIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Note: It was tried to bind this skin to the Complete skeleton back in 2000 or so but failed due to too many points.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Agreed this is a totally useful anatomical example that can provide helpful values.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Might need some unit conversions, it has <Transform DEF='LeftHandSkeletonParts' scale='0.029 0.029 0.029'></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hmmm.  This skeleton is reduced to 3% of original, so data is 33 times bigger than a human.  Doctor Manhattan maybe?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We can definitely use these values.  Probably we should think of conversion routines to adjust values in the JavaScript, Java and Python library packages...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>TODO question: who produced this model originally?  Joe thinks it was Sandy Ressler at NIST, can we get explicit confirmation somehow?  Am keen to provide appropriate open-source license if actual author/owner can be determined.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We will defer moving over Medical models until we get all of the HumanoidAnimation models fully conforming.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This model is magnificent.  We will need to adapt it.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Joe notes that there are a huge number of vertices in these "bones" and that if they could be reduced satisfactorily, that would be very helpful.  What a super project for someone..</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>p.s. Joe ran this through Chisel, but the work was pretty darn difficult and wasn't able to do it.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Maybe look at x3d hanim V1</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V1.0/HAnim/HAnim.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Here is an example of an isolated left foot, as represented in x3d hanim V2 LOA4.</p><p class=MsoNormal>> </p><p class=MsoNormal>> Left Foot</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-FootJoints</p><p class=MsoNormal>> </p><p class=MsoNormal>> Here is x3d v2 left foot user code (also 2D)</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootLeftIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Cannonical xml</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootLeftCanonical.xml</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>These have been copied, with some cleanup complete.  Not yet done... available at</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>* https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>... but still problems with X_ITE rendering.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Do the Work</p><p class=MsoNormal>> </p><p class=MsoNormal>> The First task is to convert this to an actual 3D model using x3d hanim V1 joint centers where appropriate</p><p class=MsoNormal>> </p><p class=MsoNormal>> and adding x3d hanim V2 Joint centers for the new Joints.</p><p class=MsoNormal>> </p><p class=MsoNormal>> Next, right foot</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelFootRightIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Next, left hand</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandLeftIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Next, right hand</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimModelHandRightIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Next, upgrade out best V1 LOA3 to V2 LOA4</p><p class=MsoNormal>> </p><p class=MsoNormal>> https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimSpecificationLOA3MotionIndex.html</p><p class=MsoNormal>> </p><p class=MsoNormal>> Thanks,</p><p class=MsoNormal>> </p><p class=MsoNormal>> Joe</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Again noting, _not_ "Basic" but the new examples:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>* HumanoidAnimation X3D Examples Archive</p><p class=MsoNormal>   https://www.web3d.org/x3d/content/examples/HumanoidAnimation</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We then revisited all the combinations and permutations of how to figure out and fix all of these examples, then transform them in ways that are further helpful.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Am hoping we</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>a. keep improving diagnostics,</p><p class=MsoNormal>b. keep improving online examples,</p><p class=MsoNormal>c. add fixer-upper features to our tools,</p><p class=MsoNormal>d. lather, rinse, repeat.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Next week we will look at</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>* HAnim Specification LOA 3 Invisible (the original information)</p><p class=MsoNormal>* HAnim Specification LOA 3 Illustrated (which includes tool-added joint and segment geometry)</p><p class=MsoNormal>* HAnim Specification LOA 3 Motion (which tries to connect that model)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Having fun with HAnim!   8)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>