[x3d-public] Extrusions, take 3

Leonard Daly Leonard.Daly at realism.com
Wed Jan 27 08:05:41 PST 2016


John,

Line transformation is easy. Linearly transform the end points and 
construct the new straight line between them.

[x,y,z](t) = t * [x2-x1, y2-y1, z2-z1] + [x1,y1,z1]

for t element of [0,1]


But I don't think that is exactly what you want either. You are 
constructing an editor or display of a dynamic environment and need a 
means for connecting (or showing connections) between nodes in the 
environment. The nodes may change and/or move around. It seems like you 
want an object with an attached "tail". It might be very instructive to 
see how 3D modelers generate something like an octopus.

You can use CoordinateInterpolator to interpolate over any number of 
SFVec3fs.


Leonard Daly





> 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 <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 <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
>>>
>>> (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 <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/
>>>>
>>>> On Jan 26, 2016 11:27 PM, "Leonard Daly" <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
> 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/1bea317b/attachment-0001.html>


More information about the x3d-public mailing list