<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;">Hi John,</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Thanks, John looks like a fine check of content. Function difference is in the actual model animations, which is the complete (i think) loa4 joint set but not yet complete Site set. Otherwise the list of exceptions below looks right, since me having added some items for experimentation. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Thanks again,</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Joe</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">  </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: John Carlson <yottzumm@gmail.com><br>Sent: Apr 1, 2024 4:06 PM<br>To: Joe D Williams <joedwil@earthlink.net><br>Cc: <x3d-public@web3d.org>, <h-anim@web3d.org><br>Subject: Re: [x3d-public] Jinloa4 scaled with loa4 animation</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="ltr">
<div dir="ltr">I don't see any functional differences between Joe's version and my products (the JSON conversion of the hierarchy was different due to the header).
<div> </div>
<div>Here is the difference (note that I've added a number to the #... identifiers.</div>
<div> </div>
<div>John</div>
<div> </div>
<div>John</div>
<div>
<div>389c389</div>
<div><                                     |                   l_eyelid                                                                   #Bnn</div>
<div>---</div>
<div>>                                     |                   l_eyelid                                                                   #Bnn_388</div>
<div>391c391</div>
<div><                                     |                       (l_eyelid_tip  x y z)                                                   #Sxx</div>
<div>---</div>
<div>>                                     |                       (l_eyelid_tip x y z)                                                   #Sxx_390</div>
<div>395c395</div>
<div><                                     |                       (r_eyelid_tip  x y z)                                                   #Sxx</div>
<div>---</div>
<div>>                                     |                       (r_eyelid_tip x y z)                                                   #Sxx_394</div>
<div>399c399</div>
<div><                                     |                     (l_eyeball_tip  x y z)                                                    #Sxx</div>
<div>---</div>
<div>>                                     |                     (l_eyeball_tip x y z)                                                    #Sxx_398</div>
<div>403c403</div>
<div><                                     |                     (r_eyeball_tip  x y z)                                                    #Sxx</div>
<div>---</div>
<div>>                                     |                     (r_eyeball_tip x y z)                                                    #Sxx_402</div>
<div>407c407</div>
<div><                                     |                     (l_eyebrow_tip  x y z)                                                    #Sxx</div>
<div>---</div>
<div>>                                     |                     (l_eyebrow_tip x y z)                                                    #Sxx_406</div>
<div>411,413c411,413</div>
<div><                                     |                     (r_eyebrow_tip  x y z)                                                    #Sxx</div>
<div><                                     |                 tongue_joint x y z                                                          #Jexp1</div>
<div><                                     |                   tongue                                                                     #Bexp1</div>
<div>---</div>
<div>>                                     |                     (r_eyebrow_tip x y z)                                                    #Sxx_410</div>
<div>>                                     |                 tongue_joint x y z                                                          #Jexp1_411</div>
<div>>                                     |                   tongue                                                                     #Bexp1_412</div>
<div>415c415</div>
<div><                                     |                     (tongue_tip  x y z)                                                       #Sxx</div>
<div>---</div>
<div>>                                     |                     (tongue_tip x y z)                                                       #Sxx_414</div>
<div>657a658</div>
<div>></div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Mon, Apr 1, 2024 at 5:16 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div style="color: #000000; font-family: arial,sans-serif; font-size: 12pt;">
<p style="margin: 0.1rem 0px; line-height: 1;">Thanks jinloa4, attached are two items: </p>
<p style="margin: 0.1rem 0px; line-height: 1;">(1) Latest version of Jin4loa4 with Sites (in work) added, or at least a rough first cut. The plan is to position the sites in the correct position in the hierarchy and show animations. </p>
<p style="margin: 0.1rem 0px; line-height: 1;">(2) my list of joint segment site hierarchy, for v2, with some dimensions missing, not to mention identifiers and location for coming in v3.</p>
<p style="margin: 0.1rem 0px; line-height: 1;">The example Site coordinates will be defined relative to Jinloa4 surfaces. </p>
<p style="margin: 0.1rem 0px; line-height: 1;">  </p>
<p style="margin: 0.1rem 0px; line-height: 1;">Again, I am working to develop this example as an operating Level 1 loa4 (Segment geometry) as a companion to current Part 1 Annex A user code example. Jin is sized at about 1.5 where the existing v2 humanoid is about 1.86. </p>
<p style="margin: 0.1rem 0px; line-height: 1;">  </p>
<p style="margin: 0.1rem 0px; line-height: 1;"> Thanks and Best, </p>
<p style="margin: 0.1rem 0px; line-height: 1;">Joe</p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;">John > For those who didn't read the credits in the code, Meyong did the jinloa4 original, and John did the routine for the re-scaling. This is not as simple as it may seem, but it is the basic stuff a browser has to do when loading a Humanoid that is drawn other than 1:1 but still wants to play default space with spec Humanoids.</p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;">This could lead to a relatively simple way to specify a skeleton by filling in a form giving dimensions for joint centers and site locations. Thanks for your work on this, John.</p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1;">  </p>
</div>
<div style="border-left: 1px solid #aaaaaa; box-sizing: border-box; padding: 10px 0px 10px 15px; margin: 0px;">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>><br>Sent: Mar 25, 2024 8:02 PM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noopener">joedwil@earthlink.net</a>><br>Subject: Re: [x3d-public] Jinloa4 scaled with loa4 animation</p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<div dir="auto">“Education by whatever means” — Ted</div>
<div dir="auto"> </div>
<div dir="auto">The new word to learn is “neurodiversity.”  An older term was “out of the box thinking.”</div>
<div dir="auto"> </div>
<div dir="auto">Have you seen the Xanadu implementation in OpenGL?  Look up Ted on YouTube? 15 years ago?</div>
<div dir="auto"> </div>
<div dir="auto">I’m with Ted, not everything is a document.  I reserve the right to change my mind.  Each day, each opening of our eyes might be a new beginning.</div>
<div dir="auto"> </div>
<div dir="auto">“The only way out is to realize you haven’t been in.” — John Carlson</div>
<div dir="auto"> </div>
<div dir="auto">I believe I coined the term “self-enveloping universe.”  But the ideas have been around for years.  Now imagine it at a massive scale.   That’s the multiverse.  I just can’t write the math for it, so physicists won’t accept it.  Decorated fractal permutations? Hmm!</div>
<div dir="auto"> </div>
<div dir="auto">John </div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Mon, Mar 25, 2024 at 9:27 PM Joe D Williams via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">Hi All,  <br>With the ideas of Ted Nelson in mind,we want to provide a connected history of our works and dreams for the future.  <br><br><a href="https://www.youtube.com/watch?v=A3mptA5sZTM" target="_blank" rel="noopener noreferrer">https://www.youtube.com/watch?v=A3mptA5sZTM</a><br>Ted Nelson -- Vannevar Bush Symposium 1995<br><br>Yes, truly a madman. <br><br>Recently we decided to improve the trail by making the jinloa4 model into a truly 'Standard' example of a nice Level 1 Humanoid. The only deviation from 'Standard' is that it was drawn approx. 44:1. meaning the skeleton and geometry was drawn other than 1:1 in meters to match the specified default Humanoid size. As a result, in order to fit the model into 'Standard' Humanoid space, it needs at least a scale operation.  <br><br>Original jinloa4 example:<br><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4Index.html" target="_blank" rel="noopener noreferrer">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4Index.html</a><br><br>For the original, the Humanoid node scale parameter is used and that works fine to make it the right size because the browser can handle the scale, but as you might predict, 'Standard' animations, those defined for a "Standard' Humanoid, may have problems. <br><br>This is important because the Fundamental and Most Important Goal of X3D HAnim is to allow 'Standard' Humanoid models to leverage 'Standard' Humanoid animations. That is, if the model is built using 'Standard' HAnim hierarchy, default pose, and reasonable limb length relationships, then 'Standard' animations should work. Animations are the most labor intensive part of this, so it makes deep sense to try and reuse animations.   <br><br>So, looking at jinloa4, as mentioned the original jinloa4 skeleton is dimensioned about 44 to1. This is fairly easy, just do what he browser would have to do and scale the joint center locations to 1:1. Next, the geometry is drawn in a location then Transformed to the joint center. Again, this is fairly straightforward work the browser does when loading so we just scaled the geometry to 1:1 then moved the points to the correct location, just like the browser would have to do. We end up with the jinloa4rescaled file that is attached.<br><br>Notice that when you load and run the the model it starts off doing a "Kick" animation. Select other animations to see other motions. Pitch, Yaw, and Roll joints and Walk and Run and Jump and Kick.        <br>Now look at the user code, down past the skeleton and geometry and please notice the "Stop" animation code. To my knowledge this is the only complete set of loa4 Interpolators, Routes from Timer to Interpolator, and Routes from Interpolator to Joint.  <br><br>(Right now, the Stop animation is actually hooked up to the "Default" button,so"Default" is really a Test action.)<br><br>Go ahead and edit the code, for example change the Interpolator values for this Joint: <br>  Stop_vl5_RotationInterpolator'     where vl5 is the first from the bottom vertebrae. <br>From:    <br>  key='0 0.5 1' keyValue='0 0 1 0, 0 0 1 0, 0 0 1 0'/>   <br>To:  <br>  key='0 0.5 1' keyValue='0 0 1 0, 1 0 0 1, 0 0 1 0'/>   <br>Now reload the scene and press "Default" and Jin will do a gentle bow.  <br><br>One lesson is this you can really see how to animate "standard" models. If you sit on the Joint, facing +z, then the four interpolator key values x y z scale (0 0 1 0 is default) make it simple because x-axis is Pitch, y-axis is Yaw, and z-axis is Roll. We use right-hand rule, so with thumb aimed positive direction along an axis a positive key value rotates the axis CCW. <br>So in the above example, the middle keyvalue gives 1 radian of rotation or the x-axis, giving jin that forward rotation at the waist.  <br>Give that same value to a shoulder joint. <br><br>Anyway, I hope we can do more with this one. Mainly work out the other animations which were  originally set up for a V1 loa3 (joekick skeleton).  <br><br>Thanks to All for All the Fun with HAnim,<br>Joe<br>.   <br><br>: <br><br><br><br>. <br><br><br><br>, <br><br>_______________________________________________<br>x3d-public mailing list<br><a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a><br><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" rel="noopener noreferrer">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</div>
</div>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
</blockquote>
</div>
</div>

<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>