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