Отображение в vpython Знание рулона и рысканияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отображение в vpython Знание рулона и рыскания

Сообщение Anonymous »

Я пытаюсь визуализировать коробку в vpython
Проблема в том, что я знаю, что это рулонный шаг и рывок, но коробка vpython имеет атрибуты «Ось» и «Вверх».
Как я мог преобразовать свои углы в эти два необходимых вектора? должен изменить атрибуты коробок «вверх» и «ось», предоставленные рулон, высота и рыскания. < /p>

import vis

def setOrientation(element, roll, pitch, yaw):
element.axis = ???
element.up = ???

vis.display(
title='Board orientation',
x=0, y=200,
width=600, height=600,
center=(0, 0, 0),
forward=(1, 0.4, 1),
up = (0,0,-1),
lights =[
vis.distant_light(direction=(0.22, 0.44, -0.88), color=vis.color.gray(0.8)),
vis.distant_light(direction=(-0.88, -0.22, 0.44), color=vis.color.gray(0.3))],
range = 5
)

# Draw all axes
startingpoint = vis.sphere(pos=vis.vector(0, 0, 0), radius=0.2, color=vis.color.yellow)
vis.arrow(pos=startingpoint.pos, axis=vis.vector(3, 0, 0), shaftwidth=0.1, color=vis.color.red)
vis.arrow(pos=startingpoint.pos, axis=vis.vector(0, 3, 0), shaftwidth=0.1, color=vis.color.green)
vis.arrow(pos=startingpoint.pos, axis=vis.vector(0, 0, 3), shaftwidth=0.1, color=vis.color.blue)

#Make a box
mybox = vis.box(pos=(0,0,0), length=6, height=2, width=0.1, color=vis.color.red)
#Orient it by proviging roll, pitch and yaw
setOrientation(mybox, 0, 0, 0)
< /code>

Оси и направления должны соответствовать тем, что при описании ориентации самолета < /p>

x - точки вперед < / p>

y - указывает вправо < /p>

z - указывает на вниз < /p>

Ролл - позитивное направление по часовой стрелке < /p>

patch - положительный op < /p>

haw - положительный br /> Самое близкое, что я нашел, это код от Mike Smorto < /p>

axis=(cos(pitch)*cos(yaw),-cos(pitch)*sin(yaw),sin(pitch))
up=(sin(roll)*sin(yaw)+cos(roll)*sin(pitch)*cos(yaw),sin(roll)*cos(yaw)-cos(roll)*sin(pitch)*sin(yaw),-cos(roll)*cos(pitch))
< /code>

Проблема с этим решением заключается в том, что его оси не совпадают с моей проблемой, и я не могу изменить ее в соответствии с моими потребностями. < /p>

Подробнее здесь: https://stackoverflow.com/questions/251 ... ch-and-yaw
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»