move (Aero.Node)

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

Синтаксис

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

Описание

move(h,translation,rotation) и h.move(translation,rotation) установите новое положение и ориентацию для объекта узла hПеревод 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