Я работаю над измерением проектируемой площади куба, обращенного к солнцу, для курсовой работы моего космического корабля. Куб имеет размеры 1x1x1 и постоянно вращается за счет своей орбиты. Используя программу под названием «STK», были получены данные для сдвига угла в соответствии с эталоном. Так что теперь у меня есть смещение ориентации куба каждые 30 минут, но теперь мне нужно вычислить, какая часть проецируемой области будет подвергаться воздействию солнца (могу предположить, что солнечный свет исходит из одного направления).
Мне нужно уметь перевести смещение координат в ориентации куба на то, какая часть проецируемой области будет смотреть на солнце в каждый интервал времени. Позвольте мне привести вам пример:
В начальный момент времени куб обращен к вам (вы - солнце ... потому что вы - мое солнце;)), и никакого сдвига не произошло, следовательно, спроецированная область будет быть 1 м ^ 2.
Через 30 минут произошел сдвиг только по оси x на 45 градусов. Теперь площадь проекции составляет 1,4142 м ^ 2 (поскольку cos 45 * 1 = 0,7071, и теперь у вас есть 2 лица, обращенные к вам).
Через 60 минут происходит только смещение оси y (45 градусов). Теперь у вас есть 3 неполные грани куба, и вы проецируете площадь 1.707 м ^ 2.
Это не сложно сделать с небольшими сдвигами, но мне нужно сделать это несколько раз (больше чем 100 смен). Я имею в виду написание программы python, которая вращает трехмерный объект и измеряет проецируемую площадь на каждом интервале. Какие-нибудь рекомендации по библиотекам, которые позволяют определять и вращать трехмерное тело? библиотеки, которые могут измерять площади проецируемых поверхностей?