[x3d-public] Fwd: draft prose for HAnim Level of Articulation LOA-5
John Carlson
yottzumm at gmail.com
Tue Apr 14 15:22:41 PDT 2026
Referred to x3d-public for answers.
Question on EXPORT within a file and multiple EXPORTs for one DEF
---------- Forwarded message ---------
From: John Carlson <yottzumm at gmail.com>
Date: Mon, Apr 13, 2026 at 8:08 PM
Subject: Re: draft prose for HAnim Level of Articulation LOA-5
One thing I don’t know is if the same HAnimHumanoid localDEF can be
EXPORTed multiple times with renamed AS values, but it seems like an anti
pattern, but useful if your customers have some kind of naming requirement,
or you have legacy clients.
I’m also wondering if EXPORTs can be chained within the same file. Can you
EXPORT, and create an effective USEable value or alias in the local scene
at the same time?
Such things are in the specification, I’m guessing.
John
On Mon, Apr 13, 2026 at 7:10 PM Don Brutzman <don.brutzman at gmail.com> wrote:
> Fine questions to wonder about. Please look at the example.
>
> - HAnim spec requires a consistent set of DEF labels that each match
> each name field, consistent for any HAnimHumanoid
> - Multiple HAnimHumanoid models can exist in the same X3D scene (as
> current example shows with DEF=hanim_* and DEF=hanimMesh*
> - Each can be EXPORTed and IMPORTed as is, without changes, or
> - Each EXPORT and IMPORT also has the option to rename if desired.
>
> A ton of bookkeeping to keep track of... this is why we are trying to
> simplify the task and let browsers automate child connections when
> unambiguous.
>
> We will continue building examples of detailed capability, hopefully with
> simpler and simpler execution each time.
>
> all the best, Don
> --
> X3D Graphics, Maritime Robotics, Distributed Simulation
> Relative Motion Consulting https://RelativeMotion.info
>
>
> On Mon, Apr 13, 2026 at 4:18 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> Can we also make the assumption that only the HAnimHumanoid needs to be
>> DEFed?
>>
>> wondering!
>>
>> John
>> On Mon, Apr 13, 2026 at 4:10 PM Don Brutzman <don.brutzman at gmail.com>
>> wrote:
>>
>>> Next short step in progress:
>>>
>>> I have added a series of EXPORT statements to one of the LOA5 skeletons,
>>> as follows:
>>>
>>> - Humanoid Animation X3D Examples Archive, Bones, All Bones LOA 5
>>> Skeletons
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5SkeletonsIndex.html>
>>> -
>>> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5SkeletonsIndex.html
>>>
>>> see line 3286 of documentation
>>>
>>> -
>>> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3286
>>>
>>> 3286
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3286>
>>> <!-- right-hand side -->
>>> 3287
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3287>
>>> <EXPORT localDEF='hanimMesh_AllBonesSkeleton
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#hanimMesh_AllBonesSkeleton>
>>> ' AS='AllBonesSkeletonMesh'/>
>>> 3288
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3288>
>>> <!-- left-hand side -->
>>> 3289
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3289>
>>> <EXPORT localDEF='hanim_AllBonesSkeleton
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#hanim_AllBonesSkeleton>
>>> ' AS='AllBonesSkeleton'/>
>>> 3290
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3290>
>>> <!-- TODO propose that, similar to removing requirement for
>>> definition of USE nodes for HAnimHumanoid children, similarly propose
>>> eliminating requirement for EXPORT statements corresponding to child
>>> HAnimJoint HAnimSegment HAnimSite nodes -->
>>> 3291
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3291>
>>> <EXPORT localDEF='hanim_c1
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#hanim_c1>
>>> ' AS='AllBonesSkeletonMesh_hanim_c1'/>
>>> 3292
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3292>
>>> <EXPORT localDEF='hanim_c1disc
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#hanim_c1disc>
>>> ' AS='AllBonesSkeletonMesh_hanim_c1disc'/>
>>> 3293
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3293>
>>> <EXPORT localDEF='hanim_c2
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#hanim_c2>
>>> ' AS='AllBonesSkeletonMesh_hanim_c2'/>
>>> 3294
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3294>
>>> <EXPORT localDEF='hanim_c2disc
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#hanim_c2disc>
>>> ' AS='AllBonesSkeletonMesh_hanim_c2disc'/>
>>> 3295
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#3295>
>>> <EXPORT localDEF='hanim_c3
>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/AllBonesLOA5Skeletons.html#hanim_c3>
>>> ' AS='AllBonesSkeletonMesh_hanim_c3'/>
>>> etc.
>>>
>>> This sets the stage for animation.
>>>
>>> Discussion point: I think we can make the case that if an HAnimHumanoid
>>> node is EXPORTed from a scene, the browser can also IMPORT/EXPORT every
>>> joint segment and site automatically. This dramatically simplifies
>>> humanoid Inline/IMPORT of other skeletons, and is quite similar to our
>>> simplification of not requiring USE nodes for every joint segment and site.
>>>
>>> all the best, Don
>>> --
>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>> Relative Motion Consulting https://RelativeMotion.info
>>>
>>>
>>> On Sun, Mar 29, 2026 at 9:07 PM Don Brutzman <don.brutzman at gmail.com>
>>> wrote:
>>>
>>>> Have made progress on LOA-5 spec, as hoped, building on last week's
>>>> review discussion on the HAnim Bones example archives. Some refinements
>>>> were made tonight to align composite models to match the following LOA-5
>>>> proposal.
>>>>
>>>> - Humanoid Animation X3D Examples Archive, Bones
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/index.html>
>>>> -
>>>> https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/index.html
>>>>
>>>>
>>>> Thanks Joe for an in-depth review session this evening, very
>>>> productive. I think the ideas for LOA-5 are now ready for group review and
>>>> discussion on our Monday weekly call.
>>>>
>>>>
>>>> - HAnim Architecture draft version 2.1, clause 4 Concepts
>>>> -
>>>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html
>>>>
>>>>
>>>> - 4.11.6.6 LOA‑5 hierarchy
>>>> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#Hierarchy5>
>>>> -
>>>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#Hierarchy5
>>>>
>>>> 4.11.6.6 LOA‑5 hierarchy
>>>>
>>>> UNDER REVIEW. Following group discussion, next step is to copy the
>>>> LOA-4 hierarchy diagram and include additional bones and cartilage to
>>>> create an LOA-5 hierarchy diagram. Note that we are defining regular names
>>>> for these bones, but do not need to define additional joints since such
>>>> animation varies in subtle and physiologically complex ways.
>>>>
>>>> LOA-5 defines the names of additional bones and cartilage sections,
>>>> providing further detail for the segments defined in LOA-4. The rationale
>>>> for these additions are provided in 4.2.7 Medical design considerations
>>>> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#MedicalDesign>
>>>> .
>>>>
>>>> The LOA‑5 hierarchy forming the basic set of Joint objects is
>>>> specified in Figure 4.16
>>>> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#f-BasicSetJointHierarchy4> with
>>>> the segment names listed after the joints to which they are attached. Component
>>>> bones and cartilage that are considered part of a segment are listed in
>>>> parenthesis.
>>>>
>>>> EXAMPLE r_knee : r_calf (r_tibia, r_fibula)
>>>>
>>>>
>>>> humanoid_root : sacrum
>>>> sacroiliac : pelvis (l_hip_bone, r_hip_bone, pubic_symphysis, coccyx)
>>>> | l_hip : l_thigh (l_patella)
>>>> | | l_knee : l_calf (l_tibia, l_fibula)
>>>> | | l_talocrural : l_talus
>>>> | | l_talocalcaneonavicular : l_navicular
>>>> | | | l_cuneonavicular_1 : l_cuneiform_1
>>>> | | | | l_tarsometatarsal_1 : l_metatarsal_1
>>>> | | | | l_metatarsophalangeal_1 : l_tarsal_proximal_phalanx_1
>>>> | | | | l_tarsal_interphalangeal_1 : l_tarsal_distal_phalanx_1
>>>> | | | l_cuneonavicular_2 : l_cuneiform_2
>>>> | | | | l_tarsometatarsal_2 : l_metatarsal_2
>>>> | | | | l_metatarsophalangeal_2 : l_tarsal_proximal_phalanx_2
>>>> | | | | l_tarsal_proximal_interphalangeal_2 : l_tarsal_middle_phalanx_2
>>>> | | | | l_tarsal_distal_interphalangeal_2 : l_tarsal_distal_phalanx_2
>>>> | | | l_cuneonavicular_3 : l_cuneiform_3
>>>> | | | l_tarsometatarsal_3 : l_metatarsal_3
>>>> | | | l_metatarsophalangeal_3 : l_tarsal_proximal_phalanx_3
>>>> | | | l_tarsal_proximal_interphalangeal_3 : l_tarsal_middle_phalanx_3
>>>> | | | l_tarsal_distal_interphalangeal_3 : l_tarsal_distal_phalanx_3
>>>> | | l_calcaneocuboid : l_calcaneus
>>>> | | l_transversetarsal : l_cuboid
>>>> | | l_tarsometatarsal_4 : l_metatarsal_4
>>>> | | | l_metatarsophalangeal_4 : l_tarsal_proximal_phalanx_4
>>>> | | | l_tarsal_proximal_interphalangeal_4 : l_tarsal_middle_phalanx_4
>>>> | | | l_tarsal_distal_interphalangeal_4 : l_tarsal_distal_phalanx_4
>>>> | | l_tarsometatarsal_5 : l_metatarsal_5
>>>> | | l_metatarsophalangeal_5 : l_tarsal_proximal_phalanx_5
>>>> | | l_tarsal_proximal_interphalangeal_5 : l_tarsal_middle_phalanx_5
>>>> | | l_tarsal_distal_interphalangeal_5 : l_tarsal_distal_phalanx_5
>>>> | r_hip : r_thigh (r_patella)
>>>> | r_knee : r_calf (r_tibia, r_fibula)
>>>> | r_talocrural : r_talus
>>>> | r_talocalcaneonavicular : r_navicular
>>>> | | r_cuneonavicular_1 : r_cuneiform_1
>>>> | | | r_tarsometatarsal_1 : r_metatarsal_1
>>>> | | | r_metatarsophalangeal_1 : r_tarsal_proximal_phalanx_1
>>>> | | | r_tarsal_interphalangeal_1 : r_tarsal_distal_phalanx_1
>>>> | | r_cuneonavicular_2 : r_cuneiform_2
>>>> | | | r_tarsometatarsal_2 : r_metatarsal_2
>>>> | | | r_metatarsophalangeal_2 : r_tarsal_proximal_phalanx_2
>>>> | | | r_tarsal_proximal_interphalangeal_2 : r_tarsal_middle_phalanx_2
>>>> | | | r_tarsal_distal_interphalangeal_2 : r_tarsal_distal_phalanx_2
>>>> | | r_cuneonavicular_3 : r_cuneiform_3
>>>> | | r_tarsometatarsal_3 : r_metatarsal_3
>>>> | | r_metatarsophalangeal_3 : r_tarsal_proximal_phalanx_3
>>>> | | r_tarsal_proximal_interphalangeal_3 : r_tarsal_middle_phalanx_3
>>>> | | r_tarsal_distal_interphalangeal_3 : r_tarsal_distal_phalanx_3
>>>> | r_calcaneocuboid : r_calcaneus
>>>> | r_transversetarsal : r_cuboid
>>>> | r_tarsometatarsal_4 : r_metatarsal_4
>>>> | | r_metatarsophalangeal_4 : r_tarsal_proximal_phalanx_4
>>>> | | r_tarsal_proximal_interphalangeal_4 : r_tarsal_middle_phalanx_4
>>>> | | r_tarsal_distal_interphalangeal_4 : r_tarsal_distal_phalanx_4
>>>> | r_tarsometatarsal_5 : r_metatarsal_5
>>>> | r_metatarsophalangeal_5 : r_tarsal_proximal_phalanx_5
>>>> | r_tarsal_proximal_interphalangeal_5 : r_tarsal_middle_phalanx_5
>>>> | r_tarsal_distal_interphalangeal_5 : r_tarsal_distal_phalanx_5
>>>> vl5 : l5 (l5disc)
>>>> vl4 : l4 (l4disc)
>>>> vl3 : l3 (l3disc)
>>>> vl2 : l2 (l2disc)
>>>> vl1 : l1 (l1disc)
>>>> vt12 : t12 (t12disc, l_rib12, r_rib12)
>>>> vt11 : t11 (t11disc, l_rib11, r_rib11)
>>>> vt10 : t10 (t10disc, l_rib10, r_rib10)
>>>> vt9 : t9 (t9disc, l_rib9, r_rib9)
>>>> vt8 : t8 (t8disc, l_rib8, r_rib8)
>>>> vt7 : t7 (t7disc, l_rib7, r_rib7)
>>>> vt6 : t6 (t6disc, l_rib6, r_rib6)
>>>> vt5 : t5 (t5disc, l_rib5, r_rib5)
>>>> vt4 : t4 (t4disc, l_rib4, r_rib4)
>>>> vt3 : t3 (t3disc, l_rib3, r_rib3)
>>>> vt2 : t2 (t2disc, l_rib2, r_rib2)
>>>> vt1 : t1 (t1disc, l_rib1, r_rib1)
>>>> vc7 : c7 (c7disc, sternum, plus 10 pieces of cartilage on either side of sternum)
>>>> | vc6 : c6 (c6disc)
>>>> | vc5 : c5 (c5disc)
>>>> | vc4 : c4 (c4disc)
>>>> | vc3 : c3 (c3disc)
>>>> | vc2 : c2 (c2disc)
>>>> | vc1 : c1 (c1disc)
>>>> | skullbase : skull (8 cranial bones, 14 facial bones, 16 upper teeth)
>>>> | l_eyelid_joint : l_eyelid
>>>> | r_eyelid_joint : r_eyelid
>>>> | l_eyeball_joint : l_eyeball
>>>> | r_eyeball_joint : r_eyeball
>>>> | l_eyebrow_joint : l_eyebrow
>>>> | r_eyebrow_joint : r_eyebrow
>>>> | temporomandibular : jaw (mandible, 16 lower teeth)
>>>> l_sternoclavicular : l_clavicle
>>>> | l_acromioclavicular : l_scapula
>>>> | l_shoulder : l_upperarm
>>>> | l_elbow : l_forearm (l_radius, l_ulna)
>>>> | l_radiocarpal : l_carpal (4 additional carpal bones)
>>>> | l_midcarpal_1 : l_trapezium
>>>> | | l_carpometacarpal_1 : l_metacarpal_1
>>>> | | l_metacarpophalangeal_1 : l_carpal_proximal_phalanx_1
>>>> | | l_carpal_interphalangeal_1 : l_carpal_distal_phalanx_1
>>>> | l_midcarpal_2 : l_trapezoid
>>>> | | l_carpometacarpal_2 : l_metacarpal_2
>>>> | | l_metacarpophalangeal_2 : l_carpal_proximal_phalanx_2
>>>> | | l_carpal_proximal_interphalangeal_2 : l_carpal_middle_phalanx_2
>>>> | | l_carpal_distal_interphalangeal_2 : l_carpal_distal_phalanx_2
>>>> | l_midcarpal_3 : l_capitate
>>>> | | l_carpometacarpal_3 : l_metacarpal_3
>>>> | | l_metacarpophalangeal_3 : l_carpal_proximal_phalanx_3
>>>> | | l_carpal_proximal_interphalangeal_3 : l_carpal_middle_phalanx_3
>>>> | | l_carpal_distal_interphalangeal_3 : l_carpal_distal_phalanx_3
>>>> | l_midcarpal_4_5 : l_hamate
>>>> | l_carpometacarpal_4 : l_metacarpal_4
>>>> | | l_metacarpophalangeal_4 : l_carpal_proximal_phalanx_4
>>>> | | l_carpal_proximal_interphalangeal_4 : l_carpal_middle_phalanx_4
>>>> | | l_carpal_distal_interphalangeal_4 : l_carpal_distal_phalanx_4
>>>> | l_carpometacarpal_5 : l_metacarpal_5
>>>> | l_metacarpophalangeal_5 : l_carpal_proximal_phalanx_5
>>>> | l_carpal_proximal_interphalangeal_5 : l_carpal_middle_phalanx_5
>>>> | l_carpal_distal_interphalangeal_5 : l_carpal_distal_phalanx_5
>>>> r_sternoclavicular : r_clavicle
>>>> r_acromioclavicular : r_scapula
>>>> r_shoulder : r_upperarm
>>>> r_elbow : r_forearm (r_radius, r_ulna)
>>>> r_radiocarpal : r_carpal (4 additional carpal bones)
>>>> r_midcarpal_1 : r_trapezium
>>>> | r_carpometacarpal_1 : r_metacarpal_1
>>>> | r_metacarpophalangeal_1 : r_carpal_proximal_phalanx_1
>>>> | r_carpal_interphalangeal_1 : r_carpal_distal_phalanx_1
>>>> r_midcarpal_2 : r_trapezoid
>>>> | r_carpometacarpal_2 : r_metacarpal_2
>>>> | r_metacarpophalangeal_2 : r_carpal_proximal_phalanx_2
>>>> | r_carpal_proximal_interphalangeal_2 : r_carpal_middle_phalanx_2
>>>> | r_carpal_distal_interphalangeal_2 : r_carpal_distal_phalanx_2
>>>> r_midcarpal_3 : r_capitate
>>>> | r_carpometacarpal_3 : r_metacarpal_3
>>>> | r_metacarpophalangeal_3 : r_carpal_proximal_phalanx_3
>>>> | r_carpal_proximal_interphalangeal_3 : r_carpal_middle_phalanx_3
>>>> | r_carpal_distal_interphalangeal_3 : r_carpal_distal_phalanx_3
>>>> r_midcarpal_4_5 : r_hamate
>>>> r_carpometacarpal_4 : r_metacarpal_4
>>>> | r_metacarpophalangeal_4 : r_carpal_proximal_phalanx_4
>>>> | r_carpal_proximal_interphalangeal_4 : r_carpal_middle_phalanx_4
>>>> | r_carpal_distal_interphalangeal_4 : r_carpal_distal_phalanx_4
>>>> r_carpometacarpal_5 : r_metacarpal_5
>>>> r_metacarpophalangeal_5 : r_carpal_proximal_phalanx_5
>>>> r_carpal_proximal_interphalangeal_5 : r_carpal_middle_phalanx_5
>>>> r_carpal_distal_interphalangeal_5 : r_carpal_distal_phalanx_5
>>>>
>>>> Figure 4.16 — Basic set of Joint:Segment hierarchy for LOA‑5
>>>>
>>>> TODO. Define all bones not specifically listed above, e.g. teeth, skull
>>>> and carpal bones, etc.
>>>>
>>>>
>>>> Also moved the rationale section up, with a little editing to reflect
>>>> progress this week:
>>>>
>>>>
>>>> - *4.2.7 Medical design considerations*
>>>> -
>>>> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#MedicalDesign
>>>>
>>>> 4.2.7 Medical design considerations
>>>>
>>>> TODO. List considerations influencing HAnim design regarding potential
>>>> use in medical applications and records.
>>>>
>>>> Describing this rationale supports the potential addition of LOA‑5
>>>> hierarchy
>>>> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#Hierarchy5>
>>>> .
>>>>
>>>> Editors note, under consideration: adding additional bones that
>>>> typically are not animated.
>>>>
>>>> The X3D Example Archives: Humanoid Animation, Bones
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones> now
>>>> contains a comprehensive collection of human bone and tooth models, also
>>>> including some cartilage models.
>>>>
>>>> Most of the models provide geometry meshes for individual bones. Some
>>>> model definitions with names matching LOA-4 segments uses Inline to compose
>>>> multiple individual bones.
>>>>
>>>> - Example: r_forearm
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/r_forearmIndex.html>
>>>> includes r_radius
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/r_radiusIndex.html>
>>>> and r_ulna
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/r_ulnaIndex.html>
>>>> bones.
>>>> - Example: jaw
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/jawIndex.html>
>>>> includes mandible
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/mandibleIndex.html> (lower
>>>> jaw or jawbone) and also includes all of the lower teeth.
>>>> - Example: skull
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/skullIndex.html> includes
>>>> occipital bone, two temporal bones, two parietal bones, the sphenoid,
>>>> ethmoid and frontal bones. The bones of the facial skeleton (14) are the
>>>> vomer, two inferior nasal conchae, two nasal bones, two maxilla, two
>>>> palatine bones, two zygomatic bones, and two lacrimal bones. This composite
>>>> model also includes all of the upper teeth.
>>>>
>>>> Idea: LOA-5 might add and insert other unlisted bones and fused bones,
>>>> teeth, cartilage, etc. that might not be used for regular animation but do
>>>> have medical or anatomical interest. The archives include most of the
>>>> relevant example bone models already.
>>>>
>>>> - These bone models are already named appropriately to match naming
>>>> conventions for segments in each LOA hierarchy.
>>>> - Bones making up the skullbase:skull pair are likely the most
>>>> elaborate example.
>>>> - *REALIZATION AND PROPOSAL:* there is direct value in defining
>>>> bone and cartilage components in a segment, but we do not necessarily need
>>>> to name the seams between each bone and piece of cartilage. This approach
>>>> avoids a lot of potential confusion.
>>>> - A new LOA-5 hierarchy diagram of joint:segment pairs can include
>>>> each added bone in LOA-5. The Joint and Segment objects are
>>>> certainly appropriate for modeling such relationships. Given that the
>>>> Segment names for LOA-5 are already well defined, this means that
>>>> we need to carefully consider what the corresponding Joint names
>>>> might be.
>>>> - We can strive to follow medical terminology when choosing joint
>>>> names for the seams or cartilaginous connections between each segment to
>>>> its parent.
>>>> - A few curious cases exist where a bone has multiple peers, such
>>>> as carpal bones in the wrist (see l_hand
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/l_handIndex.html>)
>>>> or various small bones contained within the skull
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/skullIndex.html> segment.
>>>> Nevertheless, incrementally extending the existing LOA-4
>>>> joint:segment pairs to include additional existing bones is
>>>> straightforward.
>>>> - The end result of all parent-child pairings must always be a
>>>> directed acyclic graph (DAG), so no joint:segment pair can have two
>>>> parents. Some special cases will likely require careful design choices, for
>>>> example cartilage connections between left and right sides of the upper rib
>>>> cage in the chest
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/chestIndex.html> can
>>>> use the sternum
>>>> <https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/sternumIndex.html> as
>>>> a common parent.
>>>>
>>>> It is possible to think of modeling the medical diagnosis, treatment,
>>>> and healing of a bone-related injury as a form of long-term humanoid
>>>> animation.
>>>>
>>>> - Casts, splints, slings, bandages and braces are likely best
>>>> modeled as part of coveroid, similar to other apparel.
>>>> - Potential initial use case: broken arm, with cast/sling/brace as
>>>> different coveroids while healing progresses.
>>>> - Adding a section on Medical design considerations
>>>> <https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19774/ISO-IEC19774-1/ISO-IEC19774-1v2.1/ISO-IEC19774-1v2.1-WD/Architecture/concepts.html#MedicalDesign> can
>>>> describe what capabilities are available and might be possible.
>>>> - Prosthetics will require careful handling, e.g. are they modeled
>>>> as coveroid segments or skeleton segments?
>>>> - Judicious but sufficient inclusion of normative and informative
>>>> references, e.g. ISO standard(s), SNOMED, Fundamental Model of Anatomy
>>>> (FMA), Wikipedia, etc.
>>>>
>>>> Given these many close correspondences, appears to be clear that LOA-5
>>>> modeling is "in scope" for the next version of the HAnim Architecture
>>>> specification.
>>>>
>>>>
>>>> All review, reactions, questions and concerns are welcome. Thanks for
>>>> your time considering the possibilities.
>>>>
>>>> all the best, Don
>>>> --
>>>> X3D Graphics, Maritime Robotics, Distributed Simulation
>>>> Relative Motion Consulting https://RelativeMotion.info
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20260414/d6dd22a8/attachment-0001.html>
More information about the x3d-public
mailing list