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