[x3d-public] bilinear and coincident Extrusion spines

Andreas Plesch andreasplesch at gmail.com
Fri Jul 11 03:46:51 PDT 2025


https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/geometry3D.html#NumberOfDistinctSpinePoints

says at least 2 non-coincident points are required. The question was if it
would make sense to define also the one point case. The Rotations example
may suggest that it does.

Andreas

On Fri, Jul 11, 2025, 5:35 AM Holger Seelig <holger.seelig at yahoo.de> wrote:

> The specification of Extrusion has a section „Coincident spine points“
> which describes the case when there are coincident spine points and
> different orientation or scale values:
>
> 13.3.5.4.4 Coincident spine points
>
>
> https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/geometry3D.html#CoincidentSpinePoints
>
> And this is a test for this case for coincident spine points and only
> orientations, as Andreas already mentioned:
>
>
> https://create3000.github.io/x_ite/playground/?url=https://create3000.github.io/Library/Tests/Components/Extrusion/Rotations.x3d
>
> Same with coincident spine points and only scales:
>
>
> https://create3000.github.io/x_ite/playground/?url=https://create3000.github.io/Library/Tests/Components/Extrusion/Scales.x3d
>
> Best regards,
> Holger
>
>> Holger Seelig
> holger.seelig at yahoo.de
>
>
> Am 11.07.2025 um 07:11 schrieb Andreas Plesch via x3d-public <
> x3d-public at web3d.org>:
>
> Extrusions are useful but have many edge cases.
>
> Looking into how to improve a bit x3dom's implementation I came across:
>
>
> https://www.web3d.org/x3d/content/examples/ConformanceNist/Geometry/Extrusion/test_YZextrusionIndex.html
>
> The beginning of the spine here has a weird 180 degree flip in direction,
> from -1 to -2 back to 0 on the y axis.
>
> I am wondering if adding this flip was unintentional since it is not
> mentioned in the description?
>
> Removing the colinearity of these first spine points to isolate the effect
> of flipping direction results in:
>
>
> https://andreasplesch.github.io/Library/Viewer/index.html?url=data:text/plain;base64,PFgzRD4KICA8U2NlbmU+CiAgICAgIDxTaGFwZT4KICAgICAgICA8QXBwZWFyYW5jZT4KICAgICAgICAgIDxNYXRlcmlhbC8+CiAgICAgICAgPC9BcHBlYXJhbmNlPgogICAgICAgIDxFeHRydXNpb24gYmVnaW5DYXA9J2ZhbHNlJyBjcm9zc1NlY3Rpb249JzEgMCAwLjc1IDAuNjYgMC41IDAuODcgMC4yNSAwLjk3IDAgMSAtMC4yNSAwLjk3IC0wLjUgMC44NyAtMC43NSAwLjY2IC0xIDAgLTAuNzUgLTAuNjYgLTAuNSAtMC44NyAtMC4yNSAtMC45NyAwLjI1IC0wLjk3IDAuNSAtMC44NyAwLjc1IC0wLjY2IDEgMCcgZW5kQ2FwPSdmYWxzZScgc29saWQ9J2ZhbHNlJyBzcGluZT0nMCAwIC0xLCAwIDAuMDEgLTIsIDAgMCAwJy8+CiAgICAgIDwvU2hhcGU+CiAgICAgIDwvU2NlbmU+CjwvWDNEPg==
>
> x_ite interpretes this differently. Extreme spine direction reversals are
> probably out of spec. scope so I think the Nist Conformance example may
> have a typo.
>
> Another, not well defined but potentially useful edge case is a spine with
> only coincident points:
>
>
> https://create3000.github.io/x_ite/playground/?url=https://raw.githubusercontent.com/create3000/Library/8f64c4caf4fcc9fc9e429d213caef2feba008efb/Tests/Components/Geometry3D/Extrusion/Rotations.x3d
>
> The extrusions are solely based on changes in orientations.
>
> Since there is no way to define a unique SCP, these extrusions are
> undefined. It may be worth defining this edge case explicitly by declaring
> the SCP axes to align with the local coordinate system. But I think this
> would require a spec. amendment. Would it be worth considering ?
>
> Andreas
> --
> Andreas Plesch
> Waltham, MA 02453
> _______________________________________________
> 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/20250711/48faf38e/attachment.html>


More information about the x3d-public mailing list