[x3d-public] Seed for a project

John Carlson yottzumm at gmail.com
Mon Aug 14 07:53:28 PDT 2023


Understood,  I’ll need a way to turn bones into a hierarchy.  I need
something to convert bones and joint x,y,z into a hierarchy. I think my
mocap format allows for that? I’m guessing I need to add a relative flag.
I was already thinking of adding relative coordinates.

Fun stuff!   Time to work on creating a template from centers again.

John
On Mon, Aug 14, 2023 at 1:04 AM Joe D Williams <joedwil at earthlink.net>
wrote:

> John. If you don't have a hierarchy then you have to move everything
> yourself. The hierarchy allows a tree of joints to be moved by simply
> rotating the parent. Children can then conrroll their children
> independently of the parent. Without a hierarchy there is anarchy.
>
> Joe
>
>
>
> -----Original Message-----
> From: John Carlson <yottzumm at gmail.com>
> Sent: Aug 13, 2023 6:23 AM
> To: Joe D Williams <joedwil at earthlink.net>
> Cc: GPU Group <gpugroup at gmail.com>, X3D Graphics public mailing list <
> x3d-public at web3d.org>
> Subject: Re: [x3d-public] Seed for a project
>
>
> I am thinking SAI could be a good way to do this.
>
> On Sun, Aug 13, 2023 at 8:14 AM John Carlson <yottzumm at gmail.com> wrote:
>
>> Good question about BVH!  I am proposing a new mocap format that doesn’t
>> need a hierarchy, and can do streaming, graph or grid data.
>>
>> S:structure of data, G for grid, H for tree, D for D for DAG, C for cycles
>> V: name or id of structure
>> F: from joint name and/or id
>> T:to joint name and/or id
>> O: out name
>> B:out data (beginning)
>> I: in name
>> E:in data  (ending)
>> .
>> .
>> .
>> etc.
>>
>> The animation is done like:
>> J:Joint id or name
>> C:Joint class or type (may change)
>> A:Joint alias or DEF (optional)
>> X:X location, unit (unit may be defaulted, no unit for scaling)
>> Y:Y location, unit (ditto)
>> Z:Z location, unit (ditto)
>> T:frame or time, unit (ditto)
>> .
>> .
>> .
>> etc.
>>
>> -V: remove structure
>>  -J: remove joint
>> -F: from joint name and/or id
>> -T: to joint name and/or id
>>
>> To remove joint, bones or routes.
>>
>> Later, I will provide 4 data points per joint over time, for impact
>> simulator I/O grid
>>
>> J: Joint, as above
>> U:up data
>> D:down data
>> R:right data
>> L:left data
>>
>> Plus ways to remove data by adding a - in front or behind the label and a
>> leading or a trailing + to add data
>>
>> This needs to be generalized. Think how to do hypergraphs. More verbose
>> would be an option,  IDK, i don’t want to reinvent a document format.
>>
>> Obviously inspired by Katy’s format!
>>
>> Contributions welcome.
>>
>> John
>>
>>
>>
>> On Sun, Aug 13, 2023 at 6:24 AM Joe D Williams <joedwil at earthlink.net>
>> wrote:
>>
>>> Why concern about BVH?
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: John Carlson <yottzumm at gmail.com>
>>> Sent: Aug 12, 2023 7:48 PM
>>> To: GPU Group <gpugroup at gmail.com>
>>> Cc: X3D Graphics public mailing list <x3d-public at web3d.org>
>>> Subject: Re: [x3d-public] Seed for a project
>>>
>>>
>>> I guess the best way to do the translations and rotations in BVH is from
>>> the root to the extremities?  Get segments close to root, then work down
>>> the tree.
>>>
>>> What about multiple parents in the DAG?  How is this resolved?  As
>>> separate children?
>>>
>>> I’m pretty sure BVH is a tree?  Anyone know?
>>>
>>> John
>>>
>>> On Sat, Aug 12, 2023 at 12:00 PM GPU Group <gpugroup at gmail.com> wrote:
>>>
>>>> > 1) provide a way to convert X3D nodes and ROUTEs to BVH with
>>>> animation.  This will require converting routes/segments over time to
>>>> translations and rotations. Help is requested.
>>>> One fuzzy idea: use the nodes and routes to animate, and capture the
>>>> animation at a choke point in the web3d browser. A good choke point is
>>>> where the browser applies BVH animations to the HAnim. In freewrl there are
>>>> a few spots where it calls update_jointMatrixFromMotion() and in theory
>>>> there could be another call there update_MotionFromJointMatrix() which goes
>>>> the other way, converting a joint matrix into a bvh motion for recording to
>>>> a file, with frame timestamp.
>>>>
>>>>
>>>>
>>>> On Sat, Aug 12, 2023 at 10:14 AM John Carlson <yottzumm at gmail.com>
>>>> wrote:
>>>>
>>>>
>>>>> Here's the seed for a Java (possibly X3D-Edit) project. A graph/grid
>>>>> editor.
>>>>>
>>>>> https://github.com/coderextreme/impact.dir/tree/master/impactVL
>>>>>
>>>>> I was thinking of adding:
>>>>>
>>>>>  JSON/XML/VRML/BVH/MediaPipeHolistic/JavaSerialized/OpenUSD  I/O,
>>>>> beyond native.
>>>>>
>>>>> There seems to be a slight issue with input right now, at least with
>>>>> the sort* input files in Impact.java
>>>>>
>>>>> Make a copy of a file externally before modifying in the tool, there's
>>>>> no way to save to another file currently in Impact.java.
>>>>>
>>>>> The goals are:
>>>>>
>>>>> 1) provide a way to convert X3D nodes and ROUTEs to BVH with
>>>>> animation.  This will require converting routes/segments over time to
>>>>> translations and rotations. Help is requested.
>>>>>
>>>>> 2) provide a way to visualize ROUTEs with Java (anyone else have
>>>>> something?)
>>>>>
>>>>> 3)  provide different naming convention for different I/O
>>>>>
>>>>> 4) take input from MediaPipe Holistic (Python) and convert to BVH.
>>>>>
>>>>> 5) provide a way to debug X3D events in Java.
>>>>>
>>>>> There are already 2 different visualizations. I hope to add more.  One
>>>>> (Cell4x4) is based on Jed Donnelly's graphics (see images folder) scanned
>>>>> from his Impact project (hence the name). I would like to use this with
>>>>> permission, but I haven't heard from him.  The Java is mine, based on his
>>>>> original idea (not his or other's code).
>>>>>
>>>>> Note that I haven't tested the Cell.java program much recently.
>>>>> Impact.java is what Jed called the "Flow" or "Floweth" language, but his
>>>>> idea was to create a textual language.  But a challenge is making the 2
>>>>> visualizations to work together.  The textual language will be implemented
>>>>> in X3D/BVH. I don't have a reason to create a new language, nor do I want
>>>>> to.
>>>>>
>>>>> Note that I already have the idea for "Inlines" or expanding nodes
>>>>> into another window.  I'm not sure how well it's implemented.  I'm not sure
>>>>> about I/O of nested nodes right now.
>>>>>
>>>>> This seems like a lot of fun, and maybe even useful, as opposed to X3D
>>>>> JSON.
>>>>>
>>>>> Ant and Makefiles provided.  Not gradle. Too many garbage files to
>>>>> worry about iwith gradle--I'm not sure why they have all of them. If
>>>>> someone wants to provide maven or gradle, that would be cool. Ant is okay
>>>>> in Git for Windows.  If I have to fall back to Makefiles, I can use Cygwin.
>>>>>
>>>>> Any problems, file an issue with
>>>>> https://github.com/coderextreme/impact.dir/issues.  There's one
>>>>> waiting for you to close, Jed.
>>>>>
>>>>> John
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>>> 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/20230814/13c8246a/attachment-0001.html>


More information about the x3d-public mailing list