[x3d-public] Nurbs for x3dom

Joseph D Williams joedwil at earthlink.net
Thu Sep 6 12:41:46 PDT 2018


➢  I was thinking 'OK, but where's that other stuff?'.
➢ 

I must say is we can’t learn about the most important NURBS features and capabilities by reading the x3d NURBS standard at the link in the previous message, then please ask about the specific vocabulary or concept x3d is missing or somehow wrong or misleading. 

➢ Q. is x3d missing a type of smooth-surface component?

To present a ‘smooth-surface’ please recall that the apparent ‘smoothness’ of an object is determined by many author choices. One is the density, or how close together the vertices of the geometry are with respect to the viewing distance. so it may be possible to make a continuous surface with a vertex at every pixel and that would be the smoothest thing you could see. Thus, the prudent author uses only the number of triangles needed to work with rendering parameters and lighting to have it as smooth as it needs to appear in the scene. 

There are two ways to define geometry, Absolutely, where you explicitly define a specific coordinate for each vertex of the geometry, and, Parametrically, where you supply parameters to an equation then a routine of the application produces the vertex coordinates used for rendering the geometry. 

X3DGeometryNode
 . ordinary geometries
 .. types 1D and 2D and 3D parametric grids
 . X3DComposedGeometryNode
 .. more types of animatable 3D geometry 
 . X3DParametricGeometryNode
 .. animatable types of computed lines and surfaces 
X3DNurbsControlCurveNode 
 . ContourPolyline2D and NurbsCurve2D
 .. enablers 

So, in ordinary geometry, it is the author's responsibility to define the geometry to achieve the desired smoothness, while for this NURBS parametric geometry, and I quote form the standard: 
"... the implementation shall render the NURBS such that the approximation produces a rendered image in which the edges of the tessellation can not be perceived.” 

This means that in addition to computing the geometry according to your supplied set of control points, weights, and knots, the number of points (samples) is determined by the application so it is supposed to look smooth. For 2D, maybe think of SVG. 
 
So, if author wished to maintain smoothest appearance according to the user’s view, for what I am calling absolute geometry, you might use x3d tools to store different resolution copies of the geometry. Or, with computed geometry, you might not worry because the application may actually change the sampling parameter according to viewing distance.  

Again, the objective is complete documentation for generation of active parametric objects in a realtime x3d scene. VRML and x3d have always tried to specify support for NURBS and much effort has gone into development and proof of the current v3 specification. As always, really, probably the best and easiest way to learn NURBS is using an x3d browser that does x3d NURBS. I think I would recommend free stuff, probably the free stuff from bitmanagement. 

➢ thinking 'OK, but where's that other stuff?'.

Don’t know. What stuff? NURBS is not useful for everything geometric. For example, I don’t now how to use NURBS for hanim deformable skin because in x3d hanim, I need to know the joint-skin bindings at authortime and they can’t be dynamic without added smarts.  

Thanks and Best, 
Joe

From: GPU Group
Sent: Thursday, September 6, 2018 5:38 AM
To: X3D Graphics public mailing list
Subject: Re: [x3d-public] Nurbs for x3dom

Q. is x3d missing a type of smooth-surface component? I have a text book on my shelf  "Curves and Surfaces for CAGD" (Computer Aided Geometric Design) Gerald Farin, 3rd Edition. In there are some ways to drag layers of control points that 'influence' points on the surface. Any one surface point is a function of a number of control points. So if you move one control point, you don't get a rough bump because its influence is scattered / diffused a bit.
Flipping through I see 'de Castleau Algorithm' and 'B-Spline' and I see color plates with smooth car hoods. When working on the Nurbs Component, I was thinking 'OK, but where's that other stuff?'.
=Doug

On Wed, Sep 5, 2018 at 12:22 PM Joseph D Williams <joedwil at earthlink.net> wrote:
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/nurbs.html#t-supportlevels
 
Or maybe the existing support levels somehow line up.
 
Thanks, 
Joe
 
 
_______________________________________________
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/20180906/f825dd27/attachment.html>


More information about the x3d-public mailing list