[x3d-public] bilinear and coincident Extrusion spines

Holger Seelig holger.seelig at yahoo.de
Fri Jul 11 07:00:43 PDT 2025


I think it can be worth to specify the one point case. 

Castle also handles this the same way as X_ITE does.

Both tests work well in Castle:

https://create3000.github.io/x_ite/playground/?url=https://create3000.github.io/Library/Tests/Components/Extrusion/Rotations.x3d

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 12:46 schrieb Andreas Plesch <andreasplesch at gmail.com>:
> 
> 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 <mailto: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 <mailto:holger.seelig at yahoo.de>
>> 
>> 
>>> Am 11.07.2025 um 07:11 schrieb Andreas Plesch via x3d-public <x3d-public at web3d.org <mailto: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 <mailto: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/7154e181/attachment.html>


More information about the x3d-public mailing list