ITRF/model frame definition

Dear Cesium,

I am confused on the definition of the frames behind the display of a gltf model.

I display a model with the following quaternion in the czml orientation entry = [0,0,0,1]. I would expect the frame to align with the ITRF, that is x-axis points to prime meridian, z-axis points to the north pole and y-axis completes the frame. Yet, the pointing is different. It is in fact the z-axis pointing to the prime meridian and y-axis pointing north.

I tried with my own axes model, created in FreeCAD and with the Cesium_Air airplane.

The colors red, green and blue correspond to x-axis, y-axis and z-axis. Well at least in the FreeCAD editor, but also when displaying the models for example in https://www.gltfeditor.com/

Is there anything obvious I am doing wrong ? Or the ITRF in Cesium has a different convention on axes…

1 Like

I think my issue was discussed a long time ago: Update CHANGES for model orientation change by lilleyse · Pull Request #6738 · CesiumGS/cesium · GitHub

It seems that cesium applies an arbitrary rotation of 90 deg to gltf 2.0 models to correct for a convention regarding which axes faces forward.

This is surprising as there is no notion of forward in the frame transformations I am exposed to in my astrodynamics field. Its just matrices and quaternions (and quaternion conventions…).

I guess the only way to get around this is apply an arbitrary 90 deg rotation to compensate.

1 Like