exponenta event banner

переместить (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-лефт, y-in, z-down.

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

Примеры

Передвиньте тело Рыси. В этом примере используется 3D Simulink ® 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