я делаю 3D моделирование солнечной системы
для каждой планеты у меня есть экземпляр класса Celestial Body. Я использую следующий код для вращения и вращения Солнца, планет и их лун.
world = Matrix.CreateTranslation(0,0,0) * Matrix.CreateRotationY(rotation) * Matrix.CreateTranslation(position) * Matrix.CreateRotationY(revolution);
- вращение - моя плавающая переменная для вращения планеты вокруг собственной оси
- Revolution - моя плавающая переменная для вращения планеты на орбите
- позиция для моей переменной vector3, чтобы вывести тело на орбиту или по радиусу от центра, например
postion = new Vector3(70,0,0)
Теперь он действительно отлично работает.
Но проблема в том, что мне нужно найти \ получить положение моей планеты, куда оно было переведено после умножения матрицы буквально в координатах x, y, x.
Как? получить текущие координаты X, Y, Z моей планеты.
другой вариант для меня - использовать некую математическую формулу, которая рассчитывает для меня 2D-круг.