[x3d-public] SFRotation default value spec. inconsistency
Holger Seelig
holger.seelig at yahoo.de
Fri Feb 14 07:22:02 PST 2025
All quaternions must be normalized to be a legal rotation, so the length of the quaternion must always be one.
Holger
--
Holger Seelig
Leipzig, Germany
holger.seelig at yahoo.de
https://create3000.github.io/x_ite/
> Am 14.02.2025 um 15:38 schrieb Joe D Williams via x3d-public <x3d-public at web3d.org>:
>
> > So, sensibly, a zero rotation around any axis corresponds to the "zero unit Quaternion" (0, 0, 0, 1 XYZW),
>
> Right. Not sure but 0 0 0 0 for unit quaternion might not be legal. I think the values must compute to1 to be legal?
> Thanks,
> Joe
>
>
> -----Original Message-----
> From: Andreas Plesch <andreasplesch at gmail.com>
> Sent: Feb 10, 2025 12:37 PM
> To: Joe D Williams <joedwil at earthlink.net>
> Cc: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>
> Subject: Re: [x3d-public] SFRotation default value spec. inconsistency
>
>
> 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 <mailto:joedwil at earthlink.net>> wrote:
>> not zerp, zero
>> -----Original Message-----
>> From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>
>> Sent: Feb 10, 2025 9:50 AM
>> To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>, X3D Graphics public mailing list <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>
>> Cc: Joe D Williams <joedwil at earthlink.net <mailto:joedwil at earthlink.net>>, Andreas Plesch <andreasplesch at gmail.com <mailto: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 <mailto:x3d-public at web3d.org>>
>> Sent: Feb 10, 2025 8:44 AM
>> To: X3D Graphics public mailing list <x3d-public at web3d.org <mailto:x3d-public at web3d.org>>
>> Cc: Andreas Plesch <andreasplesch at gmail.com <mailto: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 <mailto: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
>
> _______________________________________________
> 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/20250214/e5320e4b/attachment-0001.html>
More information about the x3d-public
mailing list