move (Aero.Node)

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

Синтаксис

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-left, y-in, z-down.

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

Примеры

Переместите тело Линкс. Этот пример использует 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