[x3d-public] Extrusions, take 3

doug sanden highaspirations at hotmail.com
Wed Jan 27 09:56:23 PST 2016


Leonard,
http://dug9.users.sourceforge.net/web3d/tests/sensors/x3dconnectorProto.x3d
Here's a scene with one possible x3dconnection proto
-Doug



________________________________
From: Leonard Daly <Leonard.Daly at realism.com>
Sent: January 27, 2016 9:09 AM
To: x3d-public at web3d.org; John Carlson; Doug Sanden
Subject: Re: [x3d-public] Extrusions, take 3

Doug & John,

Can you guys write up a description for this proposed node so that it can be considered for inclusion.


Leonard Daly




I've done node graphs before -carbon molecules in 2D, with spline bonds, and node positions adjusted dynamically by least squares- but not in x3d.
But someone must have done a node graph in x3d.
I think the use of 2-point cylinder extrusion for this is appropriate.
Doing it with a transform hierarchy on a regular cylinder sounds awkward. I would need a clever little script for that.
I think H-Anim and RigidBodyPhysics also have some non-transform-hierarchy ways of positioning/orienting things, but that's a lot of extra stuff to do something so basic.
Maybe there should be a Node just for 2 point orienting, positioning and stretching.
x3dconnector {
startpoint in SFVec3f
endpoint in SFVec3f
children inout MFNode
}
-Doug

________________________________
From: x3d-public <x3d-public-bounces at web3d.org><mailto:x3d-public-bounces at web3d.org> on behalf of John Carlson <yottzumm at gmail.com><mailto:yottzumm at gmail.com>
Sent: January 27, 2016 5:11 AM
To: Leonard Daly; X3D Graphics public mailing list
Subject: Re: [x3d-public] Extrusions, take 3

Let me guess, there’s some IP that’s preventing us from doing that?  Like the dreaded Geo-Vector?

John
On Jan 27, 2016, at 7:04 AM, John Carlson <yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote:

I guess what I am trying to say is, even though you can specify a cylinder with a central point, a height and a radius, it’s much more convenient to do it with 2 points and a radius.  If you need a height, you can subtract and take the normal, whereas getting the second point with a height is very problematic except in one direction.  Does anyone disagree?


On Jan 27, 2016, at 12:53 AM, John Carlson <<mailto:yottzumm at gmail.com>yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote:

So if one has to take a line segment and transform it to another line segment in space, what’s the typical algorithm to do that?  I probably used to know this.  I was trying to work it out again a while back.
Do the new declarative nodes in V4+ support this?  Or the old nodes in V3?  Or does one need a script?  Is there a node with a linear transform defined by 12 numbers (4 SFVec3f)?  Could there be?
2 PositionInterpolators?  Then how does that become a transform?

Thanks,

John

On Jan 27, 2016, at 12:33 AM, John Carlson <<mailto:yottzumm at gmail.com>yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote:

Better yet, define a script which takes two endpoints on a geometry, then transform the two endpoints (and thus the geometry) with the script.  Hm.  I might be able to do this myself.  Hmm.
Sound more possible with Cylinders defined by X3D now.  Took me long enough.

John
On Jan 27, 2016, at 12:26 AM, John Carlson <<mailto:yottzumm at gmail.com>yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote:

I just realized the code was online here:

<https://github.com/coderextreme/X3DJSONLD/blob/master/force.x3dhttps://github.com/coderextreme/X3DJSONLD/blob/master/force.x3d>https://github.com/coderextreme/X3DJSONLD/blob/master/force.x3dhttps://github.com/coderextreme/X3DJSONLD/blob/master/force.x3d

(click raw)

Here’s the challenge.  Define an IFS by two endpoints, and then move those endpoints around with minimal scripting (Declarative 3D).

John
On Jan 26, 2016, at 11:45 PM, John Carlson <<mailto:yottzumm at gmail.com>yottzumm at gmail.com<mailto:yottzumm at gmail.com>> wrote:


I am not "modeling" I am doing declarative 3d as much as possible and scripting the rest.  Thus I am creating protos for edges and nodes of a 3D graph.  I currently use ROUTES to link the edges  (cylinders/extrusions) to the nodes (spheres).   I am using position interpolators to animate the nodes, and routes to update the spline of the edges.  I do not understand how to use Cylinders as defined by X3D in this way so I use extrusions.  If you can suggest a way to implement a 3D graph without extrusions, I would be welcome to hear it.  I can provide source code if you like.  I have posted force.x3d here, or you can look at force.json in <https://github.com/coderextreme/X3DJSONLD/> https://github.com/coderextreme/X3DJSONLD/

On Jan 26, 2016 11:27 PM, "Leonard Daly" <<mailto:Leonard.Daly at realism.com>Leonard.Daly at realism.com<mailto:Leonard.Daly at realism.com>> wrote:
On 1/26/2016 5:21 PM, John Carlson wrote:

All I would really like to see is an easy way to define Cylinder with 2 endpoints and a radius.  If that is provided, I have no problem with deprecating Extrusion from the standard.
I do not think defining a Cylinder in this way would be onerous to a run-time, but I could be wrong.  If someone could provide an example of a Cylinder like this, it would be great!

John,

You using Extrusion to define a cylinder with known endpoints, as opposed to using a Transform {Shape {Cylinder}} to do that based on the center point and height then rotated & translated into place.

I gather you are doing your modeling by hand in a text or xml editor (like X3D-Edit). There is almost no commercial modeling-by-hand. I do not know of any professional or amateur modeler creating commercial quality models working that way. I think you will find a tool like Blender solves a lot of your modeling issues.


Leonard Daly





John


On Jan 26, 2016, at 8:13 PM, John Carlson <yottzumm at gmail.com><mailto:yottzumm at gmail.com> wrote:

Uh, I asked for an IndexedFaceSet.  Thanks, though.

John


On Jan 26, 2016, at 8:11 PM, doug sanden <highaspirations at hotmail.com><mailto:highaspirations at hotmail.com> wrote:


http://dug9.users.sourceforge.net/web3d/tests/41.x3d

snake animation animating extrusion spine

From: x3d-public [x3d-public-bounces at web3d.org<mailto:x3d-public-bounces at web3d.org>] on behalf of John Carlson [yottzumm at gmail.com<mailto:yottzumm at gmail.com>]
Sent: January 26, 2016 6:04 PM
To: Leonard Daly
Cc: x3d-public at web3d.org<mailto:x3d-public at web3d.org>
Subject: Re: [x3d-public] Extrusions, take 3

Maybe just show an example of an IndexedFaceSet which is an extrusion of a circle with 3 spline points, with the “bend” animated from 90 to 180 degrees.

It’s okay to use Blender or Maya, I’d just like to see what the results look like.

John
On Jan 26, 2016, at 8:01 PM, John Carlson <yottzumm at gmail.com<mailto:yottzumm at gmail.com><mailto:yottzumm at gmail.com><mailto:yottzumm at gmail.com>> wrote:

So how do you propose to animate IndexedFaceSets in a declarative or VRMLscript or JavaScript manner if they are Extrusions?  Can we see an example?  If the developer has to do it, can we help them?

John
On Jan 26, 2016, at 6:58 PM, Leonard Daly <Leonard.Daly at realism.com<mailto:Leonard.Daly at realism.com><mailto:Leonard.Daly at realism.com><mailto:Leonard.Daly at realism.com>> wrote:

On 1/26/2016 3:21 PM, John Carlson wrote:
Leonard, I think you forget that Extrusion splines etc. can be animated.  If Maya can export an Extrusion animation to X3D V4.0 and your new elements can handle animation of it, I think we are fine.

In Maya and Blender, extrusions are converted to IndexedFaceSets. These can be animated through the usual mechanisms in those applications. The results are typically stored in a FBX file. Unfortunately, the FBX format is not open and not too conducive to importing in a browser. Autodesk provides a C++ and Python API for accessing the file.

Extrusions are just a convenience node for creating a constrained IndexedFaceSet. I am working on exactly how X3D fits in the process chain from modeling tools to display. The goal is that X3D is an declarative archivable format that has a browser-based run time. The goal is to not reduce the display capability of X3D in that chain; however, not all of the functionality of X3D V3.3 is necessary to remain in the node definitions to make that happen.

Animation of the spline and cross-sections of an extrusion is much easier for the developer, but puts a much greater load on the run-time as it needs to re-triangulate the result on each animation.


Leonard Daly






John
On Jan 26, 2016, at 1:47 PM, Leonard Daly <<mailto:Leonard.Daly at realism.com><mailto:Leonard.Daly at realism.com>Leonard.Daly at realism.com<mailto:Leonard.Daly at realism.com><mailto:Leonard.Daly at realism.com><mailto:Leonard.Daly at realism.com>> wrote:

I would like to ask the question very differently. My question is not to ignore the importance of getting the definition correct for X3D <= V3.3.


Most (>95%) 3D modeling is done with a tool. In non-CAD environment, the tools is almost certainly Maya or Blender. Both of those tools have extrusions built in to their interface. I imagine CAD tools are similar. With so many tools providing graphical extrusion editors, and some of the tools being open-source (at least Blender);

Do we need an extrusion node in V4 to support content developed for V4+?


Leonard Daly



On 1/26/2016 7:15 AM, Alekseyev, Vsevolod (NIH/NIAID) [E] wrote:
Hi X3D community,

I've tried and failed twice to explain the problems with the definition of the Extrusion node. So here's a tl;dr version:

Dear authors of the X3D standard, please take a careful look at the standard and answer me:

1) When the spine goes (0,0,0)-(0,-1,0), what is the CSP?
Note: all answers but one will render one of the reference models in the Savage archive invalid.

2) When the spine goes (0,0,0)-(0,1,0)-(0,0,0), what is the CSP?

3) When the spine goes (0,0,0)-(1,1,0)-(1,1,0)-(1,1,0)-(2,0,0), what is the CSP for the three middle points?



_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org



--
Leonard Daly
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
LA ACM SIGGRAPH Chair
President, Daly Realism - Creating the Future
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org




_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org



--
Leonard Daly
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
LA ACM SIGGRAPH Chair
President, Daly Realism - Creating the Future
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org><mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org


_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org



--
Leonard Daly
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
LA ACM SIGGRAPH Chair
President, Daly Realism - Creating the Future








_______________________________________________
x3d-public mailing list
x3d-public at web3d.org<mailto:x3d-public at web3d.org>
http://web3d.org/mailman/listinfo/x3d-public_web3d.org



--
Leonard Daly
3D Systems & Cloud Consultant
X3D Co-Chair on Sabbatical
LA ACM SIGGRAPH Chair
President, Daly Realism - Creating the Future
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20160127/05c3ab58/attachment-0001.html>


More information about the x3d-public mailing list