перемещение (Аэро. Узел)

Измените перевод узла и вращение

Синтаксис

move(h,translation,rotation)
h.move(translation,rotation)

Описание

move(h,translation,rotation) и h.move(translation,rotation) установите новое положение и ориентацию для объекта узла h. translation 1 3 матрица в космическом теле система координат x-y-z или другая система координат. В последнем случае можно использовать функцию CoordTransformFcn, чтобы переместить его в космическое тело. Заданная космическая система координат тела задана относительно экрана как x - оставленный, y - в, z - вниз.

rotation 1 3 матрица в радианах, который задает вращения вокруг правой последовательности x-y-z осей координат. Порядком приложения вращения является z-y-x (r-q-p). Эта функция использует CoordTransformFcn, чтобы применить перевод и вращение от входной системы координат до космического тела. Функция затем перемещает перевод и вращение от космического тела до VRML координаты x-y-z. Заданная система координат VRML задана относительно экрана как x - право, y - z-.

Примеры

Двигайте телом Lynx. Этот пример использует функцию Simulink® 3D Animation™ vrnode/getfield, чтобы получить перевод и вращение. Эти координаты - используемые в программном обеспечении Simulink 3D Animation.

h = Aero.VirtualRealityAnimation;
h.VRWorldFilename = [matlabroot,'/toolbox/aero/astdemos/asttkoff.wrl'];
copyfile(h.VRWorldFilename,[tempdir,'asttkoff.wrl'],'f');
h.VRWorldFilename = [tempdir,'asttkoff.wrl'];
h.initialize();
newtrans = getfield(h.Nodes{4}.VRNode,'translation') + 1.0;
newrot = getfield(h.Nodes{4}.VRNode,'rotation') + [.2 0.01 0.01 0.01];
h.Nodes{4}.move(newtrans,newrot);

Ограничения

Эта функция не может получить положение узла в космических координатах тела; это должно использовать CoordTransformFcn, чтобы сделать так.

Эта функция не может установить положение точки зрения или ориентацию (см. addViewpoint).

Смотрите также

Представленный в R2007b