1
$\begingroup$

I am trying to make the rotation of the satellite around the Earth. I'm obtaining the satellite's position in the orbit from TLE elements and getting the XYZ of it. So moving along the trajectory (orbit) is done by just adding keyframes to the location of the Satellite.

The problem is with the self-rotation (spin) of the satellite. The satellite's orientation should be: (-Z) axis pointed to the Earth's centre. But I have it like in the picture (Small black dots are added for an orbit visualisation).

enter image description here

I like to have it like on the next picture enter image description here The X-axis should point in the direction of movement along the orbit, Z - like a normal vector to the Earth's surface. I guess it should be some local coordinate system... maybe.

But I am avoiding any constraints (to the Earth) because there will be a self-rotation (spin) around the Z axis and even a precession of the Z axis.

How can I produce such orientation?
PS.
If you provide also python code it will help a lot. The whole blender project is here: link

$\endgroup$

1 Answer 1

1
$\begingroup$

A satellite object can be clamped to an bezier circle. The orientation of the satellite could just follow an empty object (damped track, select an empty), which can be animated (Location set key with "I"). There is no need for a python script, because the movement is not so complex.

enter image description here

$\endgroup$
6
  • 1
    $\begingroup$ Thanks for the answer. For now, I did it by making a satellite a parent of the empty cube which has constraints on the Earth's centre. In this case, the initial orientation of the satellite is the same as in an empty cube (-Z to the centre of the earth) and I can rotate the satellite. I will try a trick with a bezier curve. How should I create a bezier curve with predicted XYZ of satellite trajectory? $\endgroup$
    – Viktor
    Commented Sep 25, 2022 at 18:33
  • $\begingroup$ @Viktor let the empty cube follow the new bezier curve as a satellite trajectory. $\endgroup$
    – Brain
    Commented Sep 26, 2022 at 6:49
  • $\begingroup$ that is not an option. I need to place the satellite exactly at calculated XYZ. I have an array of positions XYZ. However, this is solved. I cannot create a precession of the rotation axis... $\endgroup$
    – Viktor
    Commented Sep 26, 2022 at 20:06
  • $\begingroup$ @Viktor you can use this trick: apply your TLE coordinates (with the -Z) to an empty for the orientation and then use this empty as a "Damped Track" for the satellite. It could be, that your data is not suitable for blender and needs conversion by means of some mathematical algorithm. Blender is not a real simulation software. You goal is to visualize something that looks "good enough", not absolutely realistic. Else I recommend processing.org which can be used for such simulations. $\endgroup$
    – Brain
    Commented Sep 28, 2022 at 6:22
  • $\begingroup$ Thanks [@Brain] I solve tracking similar to your description. My goal is to get reflected sunlight from satellite to observer. So for now Blender is the only software that can give me this result. Unfortunately, I am stuck with the precession of the rotation axis. But I think it can be posted as new question $\endgroup$
    – Viktor
    Commented Sep 28, 2022 at 14:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .