[x3d-public] Extrusions, take 3

John Carlson yottzumm at gmail.com
Tue Jan 26 18:25:51 PST 2016


Defining the cases where divide by 0 happens may be difficult, and it may just be easier to test for 0 in the import/export code and notify the user that they need to change their extrusion, and perhaps why.  Defining why may be difficult.  Is there an exception handler defined in the standard? An exception handler which fires a route would be interesting.

John
> On Jan 26, 2016, at 11:46 AM, Vincent Marchetti <vmarchetti at ameritech.net> wrote:
> 
> I'll try a tl;dr version of an answer. I'm not an author of the standard but I've worked on developing software to do these kinds of geometric computation, and my view of this is the following:
> 
> The Extrusion node is an attempt to provide an implementation of a useful geometric construction with a reasonable demand for geometric data needed to define the construction. The SCP (spine aligned cross section plane) and how it moves and twists along the spine curve is ultimately based on the tangent, binormal, and torsion vectors for that spine curve, but those vectors, defined in differential geometry, are approximated by calculations on piecewise linear segments of the spine curve. You have correctly identified 3 cases where those approximations to the tangent, binormal, and torsion vectors break down, and not just break down because of ambiguity but breakdown  as in 'divide by zero'.
> 
> I suspect that the questions you asked cannot be answered, but maybe the group can work on answering a different question, which could be one of the following
> 
> 1- For the specific problem of a shape which is not one of the simplest case of a linear extrusion, is there a way to use the current implementations of the Extrusion node to model that shape?
> 
> 2- Are there general guidelines to offer to content authors to avoid these problems with the Extrusion definition? Some guidelines may be:
>  2.1 Don't use repeated coincident points in the definition of the spine curve
>  2.2 Don't have bends of more than 90 degrees in the definition of the spine curve; if your shape requires this then break it up into two separate extrusions
>  2.3 Always start the extrusion  at the origin and the initial direction of the spine curve  along the +z axis; then move and rotate the extrusion to the desired location by enclosing it
>      in a Transform node.
> 
> 3- (And this is the very hard question) Is there a better way to define Extrusion  and is it cost-effective to rewrite that part of the standard?
> 
> 
> 
>> On Jan 26, 2016, at 10:15 AM, Alekseyev, Vsevolod (NIH/NIAID) [E] <VAlekseyev at niaid.nih.gov> 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
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> 
> Vincent Marchetti
> vmarchetti at ameritech.net
> 
> 
> 
> 
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org




More information about the x3d-public mailing list