[x3d-public] Question about parametric primitives

Leonard Daly Leonard.Daly at realism.com
Thu Sep 14 21:32:11 PDT 2017


Christopher,

Answers embedded...

> Thank you Vince for your prompt and thoughtful reply.
>
> The TruncatedCone primitive (or, equivalently, TaperedCylinder) would 
> be straightforward to model based on existing structures, and could be 
> implemented using a TriangleSet, so that all browsers would have 
> little trouble rendering such a thing.
>
> InfinitePlane, on the other hand, is not so similar to existing 
> structures. Basing InfinitePlane on ObscenelyLargeRectangle would be 
> imperfect, as would basing it on a half-invisible cube map. Perhaps 
> only a very specialized rendering implementation would be appropriate 
> for such a primitive.

You can't use "ObscenelyLargeRectangle" because the vertices will be 
beyond the far clipping plan. This will cause the geometry to not be 
there. Also lighting calculations are based on vertices (and center 
point). If you have any gradation of lighting over the surface, it won't 
show. It would be better to tile the "virtual" plan out to the far 
clipping plane. There is no sense going much beyond that because it 
would never show, though going a bit beyond so there is always 
"something" there is useful.

> At this point I'd like to begin experimenting with existing browsers 
> that support X3D. Are there any written in python?

The list of X3D players (open and otherwise) is at 
http://www.web3d.org/x3d/content/examples/X3dResources.html#Applications

I don't know of any written in Python. X3DOM and Cobweb are written in 
JavaScript so that they can run in the browser. C/C++/C# is another 
frequent language. There are a couple written in Java.


Leonard Daly



>
> Regards,
> Christopher
>
> On Thu, Sep 14, 2017 at 10:10 AM, vmarchetti at kshell.com 
> <mailto:vmarchetti at kshell.com> <vmarchetti at kshell.com 
> <mailto:vmarchetti at kshell.com>> wrote:
>
>     Chris
>
>     Your work sounds interesting, and thanks for your interest in X3D.
>
>     There is no node in X3D that already represents a truncated cone,
>     and I cannot come up with a better combination than your idea of a
>     cone combined with a clipping plane. However, it may be useful for
>     your project to step back and exploit some of the advantages of
>     X3D. It is an open standard with free (available at no cost)
>     specification, and a number of open-source viewers available; for
>     example Xj3D and FreeWRL. This suggests another development route:
>
>     1. Develop your own specification for the truncated cone, perhaps
>     modeled on Cone [
>     http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Cone
>     <http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Cone>
>     ] but with additional fields to define the truncation.
>
>     2. Modify an open source browser that will trap your custom node
>     and render it with your new renderers within an X3D scene.
>
>     Of course, you now have a node feature that only you can use,
>     because only you have an X3D viewer for it. If your purpose is to
>     explore and develop new rendering techniques then X3D will have
>     served as your prototyping environment. However, if your goal is
>     to allow others to specifically use a TruncatedCone node, then you
>     may want to submit it to the Web3D Consortium as a proposed
>     extension. It would gain much likelier acceptance if it did not
>     depend on your specific rendering implementation, so a suggested
>     route would be for you (or perhaps someone else) to develop an
>     additional TruncatedCone implementation using X3D's prototyping
>     mechanism (
>     http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#PROTOinterfacedeclsemantics
>     <http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/concepts.html#PROTOinterfacedeclsemantics>
>     ), and based on existing X3D nodes such as TriangleSet constructed
>     using a script.
>
>     The same consideration and idea would hold for rendering an
>     InfinitePlane node.
>
>     Please continue to post your ideas and questions to the mailing
>     list; and we would also welcome your membership in the Web3D
>     Consortium where you would be able to participate in regular
>     teleconferences where proposed extensions to X3D are discussed.
>
>     With Regards
>
>     Vince Marchetti
>     Web3D Consortium
>
>     > On Sep 14, 2017, at 11:48 AM, Christopher Bruns
>     <cmbruns at rotatingpenguin.com <mailto:cmbruns at rotatingpenguin.com>>
>     wrote:
>     >
>     > I'd appreciate some advice about how to use the X3D format.
>     >
>     > I'm developing some renderers that use non-mesh display methods
>     for certain parametric primitives, including spheres, cylinders,
>     truncated cones, and infinite planes. And I'm considering using
>     X3D as my scene file format. I'm pleased to see that parametric
>     representations for spheres and cylinders, at least, are available
>     in X3D. I suspect that I could represent parametric truncated
>     cones using either 1) a cone primitive plus a clip plane, or 2) a
>     cylinder with a projective transformation. But I would prefer a
>     more direct semantic representation of a truncated cone. Is there
>     a way to explicitly represent a parametric truncated cone?
>     >
>     > A possibly more difficult problem is representing an infinite
>     plane as a scene object. I wonder if perhaps some sort of
>     degenerate NURBS surface might represent an infinite plane?
>     Alternatively I could represent a plane using a single vertex plus
>     a normal vector, along with some sort of annotation. Is there a
>     more direct way to represent an infinite plane in X3D?
>     >
>     > _______________________________________________
>     > x3d-public mailing list
>     > x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>     > http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>     <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
>
>
>
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org


-- 
*Leonard Daly*
3D Systems & Cloud Consultant
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/20170914/7d453df9/attachment-0001.html>


More information about the x3d-public mailing list