[x3d-public] Human anatomy model conversion challenge: adapt basic X3D medical models to Humanoid Animation (HAnim) standard

John Carlson yottzumm at gmail.com
Sun Oct 19 15:59:55 PDT 2025


For example, here’s a joint mapping used on the HAnimUtilityKit project:

https://github.com/coderextreme/HAnimUtilityKit/blob/main/joemap.py

And here’s how I use it:

<https://github.com/coderextreme/HAnimUtilityKit/blob/main/runwalkingman.py>
https://github.com/coderextreme/HAnimUtilityKit/blob/main/runjoe.py

Here’s the specific routine I use, which could be extended to include
HAnimSegments:

https://github.com/coderextreme/HAnimUtilityKit/blob/b5dfe9ef8d3555f90d0fd4cf29f996825b260ac9/HAnimUtility.py#L129

If someone wants to leverage/modify X3DPSAIL, you may use this as a guide.
Maybe as part of the effort, XPath will be included in X3DPSAIL.   That
would be potent!

[ note that the joint map was generated by AI, I mainly did cleanup to
create two lists of joints, otherwise, I am sharing my Intellectual
Property to the python and bash scripts with the Web3D Consortium as
royalty-free for any use.  Note that X3D encoded files are probably under a
different license and not included in this note. ]

I am willing to do full skeleton to HAnim, like we did for FACS, realizing
that X3DPSAIL, with the understanding that with X3DPSAIL currently, scene
traversal is much more difficult than with ElementTree.  Hint:  provide a
way to go from ElementTree to X3DPSAIL scenegraph!

John

On Sun, Oct 19, 2025 at 4:54 PM John Carlson <yottzumm at gmail.com> wrote:

> I am interested in such an effort, but perhaps more a more detailed design
> could be proposed on how many rigged creations we want.   For example,
> taking just the skin and the skeleton and computing skinCoordWeights and
> skinCoordIndexes are currently beyond my skill level.   But I might be able
> to leverage existing models and copy over weights, somehow.  I know
> existing tools and practitioners can take a significant time to do this,
> even with tools (12 hours)?
>
> So my thought is to choose a lesser goal, and try to build a skeleton from
> smaller pieces,  such that HAnimJoints and HAnimSegments could replace
> possible Transforms plus Inlines.  But then the question becomes, how do we
> split up the skin into segment geometries?
>
> For reference, this is the only skin I found:
>
>
> https://www.web3d.org/x3d/content/examples/Basic/Medical/BodySkinIndexedFaceSetNISTIndex.html
>
>
> So perhaps there’s two goals: 1) breaking up a skin into segment
> geometries and 2) devising some kind of automated rigging, if not using an
> existing tool.
>
> Beyond that, once you have a list of HAnim nodes, most of the adhoc naming
> can mostly managed with AI/LLM, and I can provide examples of such for
> Joints and animations.
>
> Does 3 subprojects seem appropriate?   I am most talented at the third.
>
> John
>
> On Sun, Oct 19, 2025 at 1:48 PM Don Brutzman via x3d-public <
> x3d-public at web3d.org> wrote:
>
>> We have a bunch of high-quality skin and bone models, originally produced
>> by NIST and available in open-source X3D at
>>
>>    - X3D Example Archives: Basic, Medical
>>    - The X3D MedicalInterchange profile is designed for Exchange of
>>    polygonal geometry, volumetric data and accompanying documentation between
>>    medical imaging systems. Potential implementation includes
>>    industry-specific applications that use X3D as an interchange format, but
>>    link to proprietary databases and hardware.
>>    - https://www.web3d.org/x3d/content/examples/Basic/Medical
>>
>> The structure of these models is pretty simple, but the naming and
>> organization is all informal and ad hoc, reflecting the state of our
>> emerging practices 12 years ago.
>>
>> An excellent opportunity beckons:  add HAnim structures to make these
>> compatible with much work that continues in the HAnim Working Group.  This
>> task is essentially the appropriate insertion of HAnimJoint, HAnimSegment
>> and HAnimHumanoid nodes to organize the skeleton models.
>>
>>    -
>>    https://www.web3d.org/x3d/content/examples/Basic/Medical/images/BonesAllSkeletonFrontView.png
>>    -
>>    https://www.web3d.org/x3d/content/examples/Basic/Medical/BodySkinIndexedFaceSetNIST.png
>>
>> Several tools exist to help with such an endeavor, no doubt several
>> experts will want to help advise too.  Improvements to diagnostics and best
>> practices will probably emerge during such an effort.
>>
>> If anyone is interested in this excellent challenge, let's continue the
>> discussion on x3d-public and work to collaboratively provide useful
>> human-skeleton assets for the HAnim working group.  Results, if correct and
>> valid, will get added to the HAnim model archives and (no doubt) see a lot
>> of future usage.
>>
>>    - HumanoidAnimation (HAnim) X3D Examples Archive
>>    - The HumanoidAnimation (HAnim) X3D Examples Archive includes a
>>    growing number of humanoid models using joints, segments, skin, and
>>    animation behaviors.
>>    - https://www.web3d.org/x3d/content/examples/HumanoidAnimation
>>
>> Thanks for considering the possibilities.  Have fun with X3D and
>> HAnim!  🧍🩻
>>
>> all the best, Don
>> --
>> X3D Graphics, Maritime Robotics, Distributed Simulation
>> Relative Motion Consulting  https://RelativeMotion.info
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20251019/d36b27b8/attachment.html>


More information about the x3d-public mailing list