<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hey John</p>
    <p>I am from the Medical Working Group and a practicing physician. 
      Use cases for healthcare should be created for both HAnim and X3D
      as it is a significant vertical market which we say these
      standards address.  <br>
    </p>
    <p>I am not exactly sure what you mean by a prototype for each
      surgery.</p>
    <p>Thanks,</p>
    <p>Mike<br>
    </p>
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 10/24/16 1:34 AM, <a class="moz-txt-link-abbreviated" href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>
      wrote:<br>
    </div>
    <blockquote cite="mid:580dc79b.9624c80a.9ff9e.df01@mx.google.com"
      type="cite">
      <meta http-equiv="Context-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <div class="WordSection1">
        <p class="MsoNormal">The only thing that I can think of that
          isn’t more animation based (abstract biological processes) and
          is more human based is surgeries or injuries.  Should there be
          a place in the X3D or H-Anim examples for surgeries?  A
          prototype for each surgery perhaps?   How do doctors deal with
          unusual circumstances?  Can someone forward this to the
          Medical Working Group (I don’t have their address handy).  Can
          we digitally sign the examples so we know they haven’t been
          corrupted?</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">John</p>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">Sent from <a moz-do-not-send="true"
            href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a>
          for Windows 10</p>
        <p class="MsoNormal"> </p>
        <div>
          <p class="MsoNormal"><b>From: </b><a moz-do-not-send="true"
              href="mailto:Leonard.Daly@realism.com">Leonard Daly</a><br>
            <b>Sent: </b>Sunday, October 23, 2016 11:43 PM<br>
            <b>To: </b><a moz-do-not-send="true"
              href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>; <a
              moz-do-not-send="true" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>;
            <a moz-do-not-send="true" href="mailto:h-anim@web3d.org">Human
              Animation working group</a><br>
            <b>Subject: </b>Re: [x3d-public] Purpose of X3Dng --
            Animation (of humanoid models)</p>
        </div>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal">On 10/23/2016 8:30 PM, <a
            moz-do-not-send="true" href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>
          wrote:</p>
        <blockquote>
          <p class="MsoNormal">Leonard,</p>
          <p class="MsoNormal"> </p>
          <p class="MsoNormal">I think you wanted to say for your last
            sentence: “If X3Dng joint animation and skin deformation was
            taken, perhaps wholesale, from H-Anim, what would be left in
            H-Anim?”</p>
          <p class="MsoNormal"> </p>
          <p class="MsoNormal">But you can probably word-craft better
            than I can.  Have another go at it if you like.</p>
        </blockquote>
        <p class="MsoNormal"><span><br>
            John,<br>
            <br>
            Thanks for pointing this out. I am not too particular to get
            the discussion going. What you said is correct, but I did
            want to give the opportunity to include other material that
            might better fit the mission of H-Anim. I do not know what
            that might be, nor do I wish to presume anything about that
            mission. I did intend it to be an open-ended question,
            though I could have improved the wording.<br>
            <br>
            <br>
            Leonard Daly<br>
            <br>
            <br>
            <br>
            <br>
            <br>
            <br>
          </span></p>
        <blockquote>
          <p class="MsoNormal"> </p>
          <p class="MsoNormal">John</p>
          <p class="MsoNormal"> </p>
          <p class="MsoNormal">Sent from <a moz-do-not-send="true"
              href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a>
            for Windows 10</p>
          <p class="MsoNormal"> </p>
          <div>
            <p class="MsoNormal"><b>From: </b><a moz-do-not-send="true"
                href="mailto:Leonard.Daly@realism.com">Leonard Daly</a><br>
              <b>Sent: </b>Sunday, October 23, 2016 11:22 PM<br>
              <b>To: </b><a moz-do-not-send="true"
                href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>;
              <a moz-do-not-send="true" href="mailto:h-anim@web3d.org">Human
                Animation working group</a><br>
              <b>Subject: </b>Re: [x3d-public] Purpose of X3Dng --
              Animation (of humanoid models)</p>
          </div>
          <p class="MsoNormal"> </p>
          <p class="MsoNormal">I want to point out that my posting on
            X3Dng Animation [<a moz-do-not-send="true"
              href="http://realism.com/blog/purpose-x3d-animation">http://realism.com/blog/purpose-x3d-animation</a>]
            (BTW, ng == next generation) is not necessarily for
            characters - human, humanoid, or animal. It is a means of
            animation that is in standard use in the animation industry.
            It is frequently applied to characters, but that is not the
            only possible target of the animation. <br>
            <br>
            This method of animation is not "fool-proof" - there are
            some edge cases that cause problems -- for example a
            rotation of pi radians on a joint that can twist causes the
            skin to "candy-wrap". See <a moz-do-not-send="true"
href="http://www.cs.cmu.edu/%7Eyaser/Lecture-9-Skinning%20and%20Body%20Representations.pdf">http://www.cs.cmu.edu/~yaser/Lecture-9-Skinning%20and%20Body%20Representations.pdf</a>,
            pages 27-34 for a visual and technical description of the
            issue. The charts also provide a lot of the mathematical
            framework that Don discusses below including motion capture.<br>
            <br>
            So I'll ask my question again, if X3Dng includes joint
            animation with skin deformation at a profile that is
            generally used (e.g., Immersive or less); what should the
            H-Anim specification cover? I am not trying to imply that
            H-Anim should not exist, but a big chunk of the document
            does discuss joint animation with skin deformation. If that
            capability were part of the X3D specification, would it need
            to be repeated in H-Anim? (If so, why?). If it was removed,
            what would be the appropriate material to include in the
            document?<br>
            <br>
            <br>
            Leonard Daly<br>
            <br>
            <br>
            <br>
          </p>
          <blockquote>
            <p class="MsoNormal">[cc: h-anim] <br>
              <br>
              Summary: a lot of capability is steadily adding up with
              H-Anim, and beginning to overlap with Medical and CAD. <br>
              <br>
              Great observations below, Joe and Michalis!  8)  Thank
              you.  Here are some reactions. <br>
              <br>
              We have had a lot of work to achieve progress towards X3D
              version 4.  (Don't know what the subject-line "X3Dng"
              refers to.)  Recent progress is confirming that the work
              on X3D Object Model has been fundamentally important as a
              way to ensure that the entire X3D scene graph is
              consistent and coherent across every file encoding and
              every programming language binding.  So we are really
              building for scalable, repeatable success. <br>
              <br>
              Observation: SFRotation axis-angle representation is
              mathematically equivalent to quaternions, so there is no
              conversion issue there.  Matrix rotations are also
              almost-fully equivalent with only a few edge-case
              anomalies like the possibility of exceptions when
              computing inverses.  So mapping to different forms of
              rotations is not particularly difficult when using X3D
              SFRotation, it just takes close attention to detail. (One
              virtue of programming, even when challenging, is that You
              Only Have To Get It Right Once.) <br>
              <br>
              Personally, am hoping to get back to work on the
              BVH-mocap-to-X3D-interpolators converter code before the
              end of the year.  Goal is to have this open source Java
              running and producing X3D animations, just like Suwon
              University's C++ code did for their H-Anim Music Video
              competition.  That should establish a baseline of 2
              mocap-related implementations that can help us continue to
              improve. <br>
              <br>
                  <a moz-do-not-send="true"
href="https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/tools/X3dEdit3.3/X3D/src/org/web3d/x3d/hanim/bvh/">https://svn.code.sf.net/p/x3d/code/www.web3d.org/x3d/tools/X3dEdit3.3/X3D/src/org/web3d/x3d/hanim/bvh/</a>
              <br>
                  BvhSkeletonParameters.java <br>
                  Hierarchy.java <br>
                  Joint.java <br>
                  Motion.java <br>
              <br>
              All of the recent review activity and interest during the
              H-Anim specifications review is certainly a wonderful
              development.  When all of the other H-Anim specification
              comments are assembled from participating ISO national
              standards bodies, we can plan on an Specification Editors
              Meeting to consider issues and best plans for
              resolutions.  Meanwhile, as time permits, the H-Anim and
              X3D Working Groups can continue looking at the baseline
              mantis issues list to prepare potential solutions. <br>
              <br>
              I also agree that the path to success lies through
              implementation and evaluation.  As we keep building
              examples, and implementing conversions, and adding tool
              support, am expecting the differences between different
              approaches will appear simpler, clearer, more adaptable,
              and easier to support.  Similarly, it makes no sense to
              change what we have in H-Anim until we have direct
              evidence of problems or how to accomplish potential
              improvements. <br>
              <br>
              Current H-Anim example models: <br>
              <br>
                  <a moz-do-not-send="true"
                href="http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation">http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation</a>
              <br>
              <br>
              Regarding importance of H-Anim tutorials: another point
              well taken.  Here is one with 97 slides (second half
              includes slides + annotation notes).  Questions,
              corrections and suggestions for improvement welcome. <br>
              <br>
                  <a moz-do-not-send="true"
href="http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf">http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf</a>
              <br>
              <br>
              Does it make sense to add adaptation/conversion of Blender
              character animations into H-Anim models as a goal? 
              Blender does have excellent general support for X3D
              export/import (on its top-level File menu).  If so, we
              could add it to: <br>
              <br>
                  web3D.org > PARTICIPATE > Projects Wish List <br>
                  <a moz-do-not-send="true"
                href="http://www.web3d.org/projects/wish-list">http://www.web3d.org/projects/wish-list</a>
              <br>
              <br>
              Perhaps someone wants to look at Cobweb source and help
              out with adding support for H-Anim nodes.  Not so hard,
              the pattern is somewhat similar to CAD nodes, already
              implemented in X3DOM; yet another open-source example
              implementation is available as X3D prototypes (no Script
              needed) at: <br>
              <br>
                  X3D Example Archives: Basic, Humanoid Animation, HAnim
              Prototypes <br>
                  <a moz-do-not-send="true"
href="http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimPrototypesIndex.html">http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/HAnimPrototypesIndex.html</a>
              <br>
              <br>
                  Cobweb Supported Components <br>
                  <a moz-do-not-send="true"
                href="http://titania.create3000.de/cobweb/#c426">http://titania.create3000.de/cobweb/#c426</a>
              <br>
              <br>
              Looking further ahead.  There is one more clarion priority
              for H-Anim progress: modeling human joints, bones, skin
              and motions at a resolution suitable for medical
              applications and electronic health records.  Alignment of
              DICOM-standard medical imagery as X3D volume presentations
              is another emerging major asset.  Common interest with CAD
              group in metadata annotations, 3D printed parts (splints,
              prostheses, devices) and 3D scanning is also truly
              compelling.  The CAD and medical workshops at the Web3D
              2016 Conference in Anaheim a few months back showed that
              much is possible.  Early-exemplar case study: <br>
              <br>
                  3D Printed Heart for Printed Preoperative Planning <br>
                  Two views of a printed heart from MRI data <br>
                  <a moz-do-not-send="true"
                href="http://www.web3d.org/example/3d-printed-heart">http://www.web3d.org/example/3d-printed-heart</a>
              <br>
              <br>
              Assembled and aligned together, with working tools +
              repeatable workflows + validation of correctness, the X3D
              family of technologies holds tremendous promise to broadly
              improve medical understanding and communication. <br>
              <br>
              All of this technical scrutiny is super valuable.  Having
              a constructive community is so valuable - we avoid
              blunders and steadily build shared understanding. <br>
              <br>
              Onward we go, step by step! Looking forward to continuing
              progress together. <br>
              <br>
              <br>
              On 10/21/2016 5:06 PM, Joe D Williams wrote: <br>
              <br>
              <br>
            </p>
            <blockquote>
              <blockquote>
                <p class="MsoNormal">It would be fantastic if e.g.
                  Blender armature animation was exported <br>
                  to X3D. It is already possible, as H-Anim supports the
                  necessary <br>
                  features --- what is miss is the actual code on the
                  side of Blender <br>
                  (Python) exporter to X3D. </p>
              </blockquote>
              <p class="MsoNormal"><br>
                Good idea, perhaps if the Blender animation data exists
                so it can be made to work in interpolators. <br>
                Sometimes the export of animation intended for rendering
                to film or video is just a list of completely rendered
                frames rather than an actual realtime animation style. <br>
                <br>
                If the data exists to export keyframe keys and
                keyvalues, then the rotations and translations should be
                easy to get. In an 'old style' armature they were not
                interested in joint rotation but depended upon bone
                orientation. That is OK because the purpose was to pose
                the artatmure for the next frame, not to worry about
                interpolation since they knew the target frame
                intervals. That is OK, bone orientation and joint
                rotation is the same. <br>
                <br>
                Another detail is that the joint animation data may be
                in unit quaternions, which is actually most likely since
                it is the preferred form in collada and glTF.  Or, the
                data may use euler-type angles (x-y-z) that need to be
                converted to x3d axis-angle which can be
                straightforward. <br>
                <br>
                That is what Part 2 of new HAnim is about, how to import
                mocap and other types of animation data. First you
                consider the capture skeleton, then you model it to a
                model of an HAnim 'standard' playback skeleton, convert
                the keyvalues as required, create the positon and
                orientation interpolators, then run the thing.
                Everyone's comments on this Part 2 is also appreciated.
                <br>
                <br>
                I don't think we want to also cover the idea of no
                interps, just itty through the mocap keyvalues for video
                or film fixed frame interval rendering and capture.
                X3D's target is realtime or anytime and everytime. Of
                course you also make video or film using X3D. Same for
                'general' coverage of this anmation technology. Of
                course you can do anything you want. You don't need
                study HAnim very long until you learn that yes, you can
                define your own joint hierarchy, use any names you wish,
                and attach any kind of geometry and sensors you wish. If
                you want to do different shaped skin, then fine.
                Finally, if you understand the skelton setup, you can
                just fly them joints around to achieve most any
                animations possible with your model. You can easily
                adjust animations with a keyboard, a text editor, and an
                X3D player. <br>
                <br>
                Whatever you do, there are the same rules. Similar
                skeletons with similar initial pose can exchange
                skeletal animations. That is the most important point of
                this entire effort. Exchange skins when skeleton joint
                hierarchy, skin vertex count, order of appearance in the
                user code, and feature point relationships are the same.
                Sure we could tell that story in a series of tutorials
                but this is a spec. Maybe not this example, but the spec
                does not always need to spell out the history or details
                that would be obvious to an expert in the field, just
                the bare implementation requirements. <br>
                <br>
                Again, capabilities in this spec can describe any
                skeleton but I think we want to target something
                concrete. Something that can have a set of reference
                inputs and a set of reference outputs. Finally, we want
                a 'standard' set of example animations that work with
                each of the 'standard' LOA definitions. <br>
                <br>
                For this spec effort, the most important thing is that
                Implementors get it right. If the implementation can
                deliver a 'standard' humanoid that uses 'standard'
                animations, then we have something. If the implemetation
                gets it right, then the users can get most anything out
                of it they want. So that is why the HAnim spec targets
                the 'standard' animatable humanoid. <br>
                <br>
                When we discuss general X3D animation facilities, of
                which there are many, then that is the job of a set of
                tutorials. Please recall that the spec is addressing
                Implementors, and technicallly-oriented users, not the
                general user. Usually the spec will fail when it wanders
                into general tutorials aimed at general users. <br>
                <br>
                Still, the idea of bringing something like the HAnim
                DIsplacer up into the same bag of tools as other styles
                and types of interpolators would be a fine idea. I think
                that might be what Leonard was mentioning when he said
                there are other more basic tools than joint-actuated
                mesh deformation. It is easy to recognize the Displacer
                as a basic mesh animation tool that would be encountered
                in early animation lessons. <br>
                <br>
                Thanks and Best, <br>
                Joe <br>
                <br>
                <br>
                ----- Original Message ----- From: "Michalis Kamburelis"
                <a moz-do-not-send="true"
                  href="mailto:michalis.kambi@gmail.com"><michalis.kambi@gmail.com></a>
                <br>
                To: "Leonard Daly" <a moz-do-not-send="true"
                  href="mailto:Leonard.Daly@realism.com"><Leonard.Daly@realism.com></a>
                <br>
                Cc: "Joe D Williams" <a moz-do-not-send="true"
                  href="mailto:joedwil@earthlink.net"><joedwil@earthlink.net></a>;
                "X3D Public" <a moz-do-not-send="true"
                  href="mailto:x3d-public@web3d.org"><x3d-public@web3d.org></a>
                <br>
                Sent: Thursday, October 20, 2016 10:34 PM <br>
                Subject: Re: [x3d-public] Purpose of X3Dng -- Animation
                <br>
                <br>
                <br>
                <br>
                <br>
              </p>
              <blockquote>
                <p class="MsoNormal">2016-10-21 6:23 GMT+02:00 Leonard
                  Daly <a moz-do-not-send="true"
                    href="mailto:Leonard.Daly@realism.com"><Leonard.Daly@realism.com></a>:
                  <br>
                  <br>
                  <br>
                </p>
                <blockquote>
                  <p class="MsoNormal">In all your writings you appear
                    to be making the assumption that joint-based <br>
                    animation with deformable skin is H-Anim. That is
                    not true. </p>
                </blockquote>
                <p class="MsoNormal"><br>
                  Hi, <br>
                  <br>
                  From my point of view, I see H-Anim as "the way to do
                  animation using <br>
                  skeletons, bones and (optional) skins in X3D". I can
                  easily do <br>
                  skeletal animation of anything (humans, pipes,
                  animals) with H-Anim. I <br>
                  actually implemented it in view3dscene, and really
                  there's nothing <br>
                  limiting this system to "humanoids". You just
                  transform the bones, and <br>
                  optionally deform a mesh following the per-vertex
                  weights. <br>
                  <br>
                  Maybe we could solve the issues raised here by simply
                  changing the <br>
                  wording (and some node names), to de-emphasize the
                  "humanoid" part in <br>
                  the H-Anim specifications. (The X3D component <br>
                  <a moz-do-not-send="true"
href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html</a>
                  <br>
                  and the H-Anim spec on <br>
                  <a moz-do-not-send="true"
                    href="http://h-anim.org/Specifications/H-Anim200x/ISO_IEC_FCD_19774/">http://h-anim.org/Specifications/H-Anim200x/ISO_IEC_FCD_19774/</a>
                  ). <br>
                  <br>
                  Such change would more accurately reflect H-Anim's
                  capabilities (in my view). <br>
                  <br>
                  How about we would simply rename H-Anim component in
                  X3D to "Skeletal <br>
                  Animation"? Some additional renames would be nice,
                  like removing the <br>
                  "HAnim*" prefix from nodes, and the main
                  "HAnimHumanoid" node could be <br>
                  something simpler like just a "Skeleton" (with the
                  primary field being <br>
                  "skeleton"). <br>
                  <br>
                  The fact that the H-Anim standard defines also a
                  standard "Structure <br>
                  of a humanoid" is just "an extra" for me. I mean, it
                  is valuable!, but <br>
                  it can also be simply ignored if you don't model a
                  humanoid (or don't <br>
                  care about standardizing your names, to transfer the
                  animations <br>
                  between other humanoids). <br>
                  <br>
                  Also, adding such "Skeletal Animation" component to
                  the "Immersive" <br>
                  (or even earlier) profile would be a nice touch. It is
                  a major <br>
                  animation method. Putting it inside a component other
                  than "Full" is a <br>
                  way of encouraging implementations of it. Especially
                  since it seems we <br>
                  do have a lot of implementations of it. <br>
                  <br>
                  It would be fantastic if e.g. Blender armature
                  animation was exported <br>
                  to X3D. It is already possible, as H-Anim supports the
                  necessary <br>
                  features --- what is miss is the actual code on the
                  side of Blender <br>
                  (Python) exporter to X3D. <br>
                  <br>
                  I hope that this opinion helps:) <br>
                  <br>
                  Best regards, <br>
                  Michalis </p>
              </blockquote>
              <p class="MsoNormal"><br>
                _______________________________________________ <br>
                x3d-public mailing list <br>
                <a moz-do-not-send="true"
                  href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
                <br>
                <a moz-do-not-send="true"
                  href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
              </p>
            </blockquote>
            <p class="MsoNormal"><br>
              <br>
              all the best, Don </p>
          </blockquote>
          <p class="MsoNormal"> </p>
          <p> </p>
          <p class="MsoNormal">-- <br>
            <b><span>Leonard Daly</span></b><span><br>
              3D Systems & Cloud Consultant<br>
              LA ACM SIGGRAPH Chair<br>
              President, Daly Realism - <i>Creating the Future</i> </span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span><br>
              <br>
              <br>
            </span></p>
          <pre>_______________________________________________</pre>
          <pre>x3d-public mailing list</pre>
          <pre><a moz-do-not-send="true" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a></pre>
          <pre><a moz-do-not-send="true" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></pre>
        </blockquote>
        <p class="MsoNormal"><span> </span></p>
        <p> </p>
        <p class="MsoNormal"><span>-- <br>
          </span><b><span>Leonard Daly</span></b><span><br>
            3D Systems & Cloud Consultant<br>
            LA ACM SIGGRAPH Chair<br>
            President, Daly Realism - <i>Creating the Future</i> </span><span></span></p>
        <p class="MsoNormal"> </p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <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>
    <br>
  </body>
</html>