[x3d-public] Tessellation…convert to IFS?

John Carlson yottzumm at gmail.com
Sat Apr 22 18:35:19 PDT 2023


Understood, Joe!  My issue is what do we do with sphere coordinates when
transforms are multiplied out and deleted?   It would seem natural to
replace non-coordinate shapes with some kind of shape set, whether indexed
or not (X3D JSON to STL code does this). Especially something where
triangles must share edges.  So yes, in the case of Sphere, Box and other
non-coordinate shapes, the user code should change.

I think the solution may be to retain lowest level transforms in the scene
in order to maintain shapes like spheres, cones, cylinders, etc.  in user
code.   Then, do we need to apply the transforms to geometry?

Joe,  it seems like you’re leaning towards changing the shape user code to
sets?  This is getting  more and more like X3D JSON to STL, we just need to
support different output formats and additional shapes.  Should we
translate to glTF instead of STL?

Doug, this is primarily to produce a standardized human model.

John

On Sat, Apr 22, 2023 at 7:03 PM Joseph D Williams <joedwil at earthlink.net>
wrote:

>
>
>
>
> Also note there are several ways to represent a shape in x3d. If the name
> includes Indexed then the user code includes the coordinates for the points
> and the sets of coordindex numbers that tell the browser how to make the
> triangles.
>
> Some styles of shapes do not require the user to supply coordIndex, then
> the points are default auto-indexed into triangles by a standardized
>  formula depending on name and included user code for points.
>
>
>
> So, when you say shape Sphere then the browser encodes that depending on
> its internal spec sphere.
>
> You can see the result in a browser that can just show the points or
> triangles of the shape sphere otherwise it will appear as a solid but the
> details of the actual coordinates of points and tessellation (indexing) of
> those points will not appear in the user code because what does the user
> care about what the browser uses to create your Sphere? .
>
>
>
> So, for the default shape Box, probably uses two triangles per side.
>
> I think there is x3d Shape user code to present a box in both indexed and
> auto-indexed form.
>
>
>
> Here is classic-style user code with lots of defaults for one side of a
> box.
>
>
>
> DEF boxfront Shape {
>
>   appearance Appearance {
>
>     material Material { }
>
>     texture ImageTexture {
>
>       url [ "textures/boxfront.jpg" ]
>
>     }
>
>   }
>
>   geometry IndexedFaceSet {
>
>     coordIndex [ 0 1 2 3 -1 ]
>
>     coord Coordinate {
>
>       point [ -1 -1 1, 1 -1 1, 1 1 1, -1 1 1 ]
>
>     }
>
>     texCoordIndex [ 0 1 2 3 -1 ]
>
>     texCoord TextureCoordinate {
>
>       point [ 0 0 1 0 1 1 0 1 ]
>
>     }
>
>   }
>
> }
>
>
>
> Joe
>
>
>
>
>
> *From: *GPU Group <gpugroup at gmail.com>
> *Sent: *Saturday, April 22, 2023 2:33 PM
> *To: *John Carlson <yottzumm at gmail.com>
> *Cc: *X3D Graphics public mailing list <x3d-public at web3d.org>
> *Subject: *Re: [x3d-public] Tessellation…convert to IFS?
>
>
>
> Depends what you're doing. Assuming you're starting with a point cloud, if
> you're tessellating something almost flat, and with irregular points, then
> you can use something like Delaunay algorithm to optimize the edges between
> points to give triangles that are more equi-angular.
>
> If you are on a 3D dimensional surface, but know its close to being convex
> -- like a sphere or cube -- then you can move the planar math around a
> spherical center, and crop points in the distance / on the other side of
> center when triangulating.
>
> Or you can remove and add points from a pre-triangulated sphere (I just
> made this up). Looking orthogonally at an existing triangle on your sphere,
> add a point from your point cloud, to the appropriate triangle, based on
> its yaw and pitch, or latitude, longitude, while ignoring its
> radius/height. When you have all your points added, then start removing the
> sphere's points. After each step of adding (or removing sphere points at
> the end), do Delaunay recursive triangle swaps on the local plane.
>
> Or ask ChatGPT - it might know.
>
> -Doug
>
>
>
> On Sat, Apr 22, 2023 at 3:05 PM John Carlson <yottzumm at gmail.com> wrote:
>
> When one is tessellating a shape, like Box, is it typical to convert to
> IFS?
>
>
>
> Thanks!
>
>
>
> John
>
> _______________________________________________
> 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/20230422/4d7e8a8b/attachment.html>


More information about the x3d-public mailing list