[x3d-public] Tessellation…convert to IFS?

John Carlson yottzumm at gmail.com
Sat Apr 22 18:53:41 PDT 2023


Indeed if anyone is willing to provide/find parameterized IFS-based PROTOs
for non-coordinate shapes, that would be most welcome!

But then we have to address textures?

Hmm!

Let’s discuss trying to create a standard HAnim model within an existing
browser, not rewrite a browser.  I understand I may need to extend JSON to
STL code.

John

On Sat, Apr 22, 2023 at 8:35 PM John Carlson <yottzumm at gmail.com> wrote:

> 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  coordinate-based shape
> set, whether indexed or not (X3D JSON to STL code does this with
> triangle/face base?). 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/ee2a3fd9/attachment-0001.html>


More information about the x3d-public mailing list