Создайте матрицу преобразования 4 на 4
M = makehgtform
M = makehgtform ('переводят', [tx ty tz]),
M = makehgtform ('шкала', s)
M = makehgtform ('шкала', [sx, sy, sz])
M = makehgtform ('xrotate', t)
M = makehgtform ('yrotate', t)
M = makehgtform ('zrotate', t)
M = makehgtform ('axisrotate', [ax, да, азимут], t)
Используйте makehgtform
, чтобы создать матрицы преобразования для перевода, масштабирования и вращения графических объектов. Примените преобразование к графическим объектам путем присвоения преобразования свойству Matrix
родительского объекта преобразования.
M = makehgtform
возвращает единичное преобразование.
M = makehgtform('translate',[tx ty tz])
или M = makehgtform ('переводят', tx, ty, tz) возвращает преобразование, которое переводит вдоль оси X tx
вдоль оси Y ty
, и вдоль оси z tz
.
M = makehgtform('scale',s)
возвращает преобразование, которое масштабируется однородно вдоль x-, y-, и осей z.
M = makehgtform('scale',[sx,sy,sz])
возвращает преобразование, которое масштабируется вдоль оси X sx
вдоль оси Y sy
, и вдоль оси z sz
.
M = makehgtform('xrotate',t)
возвращает преобразование, которое вращает вокруг оси X радианами t
.
M = makehgtform('yrotate',t)
возвращает преобразование, которое вращает вокруг оси Y радианами t
.
M = makehgtform('zrotate',t)
возвращает преобразование, которое вращает вокруг оси z радианами t
.
M = makehgtform('axisrotate',[ax,ay,az],t)
Вращает вокруг оси [ax ay az]
радианами t
.
Обратите внимание на то, что можно задать несколько операций в одном вызове makehgtform
, и MATLAB возвращает матрицу преобразования, которая является результатом конкатенации всех заданных операций. Например,
m = makehgtform('xrotate',pi/2,'yrotate',pi/2);
эквивалентен
mx = makehgtform('xrotate',pi/2); my = makehgtform('yrotate',pi/2); m = mx*my;