[x3d-public] bilinear and coincident Extrusion spines
Andreas Plesch
andreasplesch at gmail.com
Fri Jul 11 14:10:10 PDT 2025
Three.js has ExtrudeGeometry and it uses Frenet frames:
https://github.com/mrdoob/three.js/blob/master/src/geometries/ExtrudeGeometry.js
https://github.com/mrdoob/three.js/blob/42048f84e788e7277ed0d5b211ce6dcdc72e6b48/src/extras/core/Curve.js#L337
Wikipedia has
https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas#Ribbons_and_tubes
I believe the SCP is essentially the Frenet frame (y tangent to the
direction of motion, z normal as the derivative or change in y, and x just
the cross product) but perhaps the Three implementation has more robust
ways to compute curve tangents, and normals.
Andreas
On Fri, Jul 11, 2025 at 11:14 AM Holger Seelig <holger.seelig at yahoo.de>
wrote:
> The question is what can be done to prevent this.
>
> Data URL will work (first bas64, then URL encode):
>
> https://create3000.github.io/x_ite/playground/?url=data:text/plain;base64,PFgzRD4KICA8U2NlbmU%2BCiAgICAgICAgPFNoYXBlPgogICAgICAgICAgPEFwcGVhcmFuY2U%2BCiAgICAgICAgICAgIDxNYXRlcmlhbCBkaWZmdXNlQ29sb3I9JzAuMSAwIDAuOCcvPgogICAgICAgICAgPC9BcHBlYXJhbmNlPgogICAgICAgICAgPEV4dHJ1c2lvbiBiZWdpbkNhcD0nZmFsc2UnIGVuZENhcD0nZmFsc2UnIHNjYWxlPScxIDEgMS4yIDEuMiAxLjQgMS40JyBzb2xpZD0nZmFsc2UnIHNwaW5lPScwIDAgMCAwIDEgMCAwIDAgMC4wMScvPgogICAgICAgIDwvU2hhcGU%2BCiAgPC9TY2VuZT4KPC9YM0Q%2B
>
> Here is another edge case where the SPC axis changes to much:
>
>
> https://create3000.github.io/x_ite/playground/?url=https://create3000.github.io/Library/Tests/Components/Extrusion/wrong2.x3d
>
>
> https://andreasplesch.github.io/Library/Viewer/index.html?url=https://create3000.github.io/Library/Tests/Components/Extrusion/wrong2.x3d
>
> But there was an old VRML viewer, which can this (see image). I don’t know
> what these people have done, seems it was not documented:
>
> [image: PastedGraphic-1.png]
>
> —
> Holger Seelig
> holger.seelig at yahoo.de
>
>
> Am 11.07.2025 um 16:45 schrieb Andreas Plesch <andreasplesch at gmail.com>:
>
> url=data:text/plain;base64,
> <https://andreasplesch.github.io/Library/Viewer/index.html?url=data:text/plain;base64,PFgzRD4KICA8U2NlbmU+CiAgICAgICAgPFNoYXBlPgogICAgICAgICAgPEFwcGVhcmFuY2U+CiAgICAgICAgICAgIDxNYXRlcmlhbCBkaWZmdXNlQ29sb3I9JzAuMSAwIDAuOCcvPgogICAgICAgICAgPC9BcHBlYXJhbmNlPgogICAgICAgICAgPEV4dHJ1c2lvbiBiZWdpbkNhcD0nZmFsc2UnIGVuZENhcD0nZmFsc2UnIHNjYWxlPScxIDEgMS4yIDEuMiAxLjQgMS40JyBzb2xpZD0nZmFsc2UnIHNwaW5lPScwIDAgMCAwIDEgMCAwIDAgMC4wMScvPgogICAgICAgIDwvU2hhcGU+CiAgPC9TY2VuZT4KPC9YM0Q+>
>
>
>
--
Andreas Plesch
Waltham, MA 02453
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250711/e91e2f10/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-1.png
Type: image/png
Size: 29688 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250711/e91e2f10/attachment-0001.png>
More information about the x3d-public
mailing list