I have a bunch of satellites rendered as billboards. When a user picks one, I want to position the camera “above” it looking through the satellite toward my Earth ellipsoid so the satellite billboard is visually centered on the Earth.
I can get the satellite’s position with billboard.getPosition(). I presume I want to make the camera’s ‘target’ be the center of the ellipsoid with Cartesian3.ZERO, and that ‘up’ might be as simple as Cartesian3(0.0, 0.0, 1.0). I’ve tried setting ‘eye’ to the position of the billboard, but it’s not locating the camera anywhere near where I hoped it would be.
I think I’m being dumb/naive or not understanding the proper coordinate systems. The billboard collection has a TEME rotation like:
satBillboards.modelMatrix = Cesium.Matrix4.fromRotationTranslation( Cesium.Transforms.computeTemeToPseudoFixedMatrix(now), Cesium.Cartesian3.ZERO);