[x3d-public] SFRotation default value spec. inconsistency

Andreas Plesch andreasplesch at gmail.com
Mon Feb 10 12:37:10 PST 2025


https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#_node_rotation
has indeed (0, 0, 0, 1 XYZW) as a default value.

This is difficult to interpret as a rotation around an axis since the
corresponding axis would be at first glance (0 0 0).

x3dom converts quaternion (0, 0, 0, 1 XYZW) to (axis),angle (0,0,0),0 as
does https://www.andre-gaschler.com/rotationconverter/ .

On the other hand both SFRotation (0 0 1 0) and SFRotation (0 1 0 0) are
also represented by quaternion (0, 0, 0, 1 XYZW).

So, sensibly, a zero rotation around any axis corresponds to the "zero unit
Quaternion" (0, 0, 0, 1 XYZW), making it a useful default value for
quaternions. But that does not help with choosing a default axis for the
SFRotation value.

This will rarely matter. A use case may be when a SFRotation is initialized
to the X3D default in a Proto but then only the angle is modified by a
Proto script with the assumption that the axis is (0 0 1).

-Andreas

On Mon, Feb 10, 2025 at 12:57 PM Joe D Williams <joedwil at earthlink.net>
wrote:

> not zerp,  zero
>
> -----Original Message-----
> From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org
> >
> Sent: Feb 10, 2025 9:50 AM
> To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>,
> X3D Graphics public mailing list <x3d-public at web3d.org>
> Cc: Joe D Williams <joedwil at earthlink.net>, Andreas Plesch <
> andreasplesch at gmail.com>
> Subject: Re: [x3d-public] SFRotation default value spec. inconsistency
>
>
>
> I think the 0 0 1 0 should be used everywhere for default axis-angle.
>
> I thinkI see 'zerp' unit quaternions (as in gltf as 0 0 0 1  XYZW)
>
> Thanks,
>
> Joe
>
>
>
> -----Original Message-----
> From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org
> >
> Sent: Feb 10, 2025 8:44 AM
> To: X3D Graphics public mailing list <x3d-public at web3d.org>
> Cc: Andreas Plesch <andreasplesch at gmail.com>
> Subject: Re: [x3d-public] SFRotation default value spec. inconsistency
>
>
> The JS SAI spec. at
> https://www.web3d.org/documents/specifications/19777-1/V3.3/Part1/functions.html#FieldServices
>
> does not list functions for SFColorRGBA, only SFColor. There may be an
> earlier report. -Andreas
>
> On Mon, Feb 10, 2025 at 11:31 AM Andreas Plesch <andreasplesch at gmail.com>
> wrote:
>
>>
>> https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/fieldTypes.html#SFRotationAndMFRotation
>>
>> specifies that (0 0 1 0) is the value of an uninitialized SFRotation
>> given as (x y z a).
>>
>> However, the JS SAI spec. in table 7.18 in
>> https://www.web3d.org/documents/specifications/19777-1/V3.3/Part1/functions.html#SFRotationInstanceCreationFunction
>>
>> effectively makes (0 1 0 0) the default value if no parameters are
>> provided.
>>
>> The inconsistency does not have much of an impact since both are 0
>> rotations but I believe (0 1 0 0) - a 0 rotation around y - may have been
>> intended as the default.
>>
>> -Andreas
>>
>> --
>> Andreas Plesch
>> Waltham, MA 02453
>>
>
>
> --
> Andreas Plesch
> Waltham, MA 02453
>
>
>
>
>


-- 
Andreas Plesch
Waltham, MA 02453
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250210/5abd17a8/attachment.html>


More information about the x3d-public mailing list