Axis, AxisX, AxisY, AxisZ

Ось вращения

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Сводные данные значения

AxisОбертка библиотеки для “[AxisX, AxisY, AxisZ]” (3D)Список 2 или 3 выражений, в зависимости от размерности
AxisX, AxisY, AxisZДополнительныйВыражение MuPAD®

Графические примитивы

ОбъектыЗначения по умолчанию
plot::Rotate3d

Axis: [0, 0, 1]

AxisX, AxisY: 0

AxisZ: 1

Описание

Axis вектор, определяющий направление оси вращения в объектах вращения типа plot::Rotate3d. Это дано списком 3 компонентов.

AxisX и т.д. обратитесь к x, y, компонентам z этого вектора.

Вращение в 3D определяется линией, вокруг которой вращается. Линия дана точкой на линии (Center) и вектор направления (Axis). Угол поворота дан атрибутом Angle.

Длина Axis вектор не имеет уместности. Однако это не должен быть нуль.

Вращение реализовано после “правила правой руки”: Расширьте ползунок правой руки и изогните пальцы. Когда точки ползунка в направление оси вращения, ваши кончики пальцев указывают на направление вращения. Используйте отрицательные углы, чтобы вращаться в противоположном направлении или заменить Axis вектор его отрицанием.

Примеры

Пример 1

Конус сначала вращается вокруг x - ось. Вращаемый конус затем вращается вокруг z - ось:

c0 := plot::Cone(1, [0, 0, 1], [0, 0, 2]):
c1 := plot::Rotate3d(c0, Center = [0, 0, 0],
                     Axis = [1, 0, 0], Angle = PI/2):
c2 := plot::Rotate3d(c1, Center = [0, 0, 0],
                     Axis = [0, 0, 1], Angle = PI/2):
plot(plot::Scene3d(c0, Axes = Origin, 
                   ViewingBox = [-2..2, -2..2, -2..2]),
     plot::Scene3d(c1, Axes = Origin,
                   ViewingBox = [-2..2, -2..2, -2..2]),
     plot::Scene3d(c2, Axes = Origin,
                   ViewingBox = [-2..2, -2..2, -2..2]),
     TicksNumber = None,
     Width = 120*unit::mm, Height = 40*unit::mm,
     Layout = Horizontal):

delete c0, c1, c2:

Пример 2

Мы иллюстрируем “правило правой руки”. Маленькое поле b0 вращается. Вращаемые копии b1, b2, b3 построены вместе с исходным полем:

center := [1, 4, 1]:
axis := [0, 0, 1]:
b0 := plot::Box(0.9..1.1, 2.9 .. 3.1, 0.9 .. 1.1):
b1 := plot::Rotate3d(b0, Center = center, Axis = axis,
                     Angle = PI/8):
b2 := plot::Rotate3d(b1, Center = center, Axis = axis,
                     Angle = PI/8):
b3 := plot::Rotate3d(b2, Center = center, Axis = axis,
                     Angle = PI/8):
centerplusaxis := [center[i] + axis[i] $ i = 1..3]:
plot(b0, b1, b2, b3, 
     plot::Arrow3d([0, 0, 0], center, Color = RGB::Black,
                   Title = "Center", 
                   TitlePosition = [0.1, 2, 0.5]),
     plot::Arrow3d(center, centerplusaxis, 
                   Title = "Axis", Color = RGB::Red,
                   TitlePosition = [0.7, 4, 1.5]),
     plot::Circle3d(1, center, axis),
     plot::Rotate3d(plot::Arrow3d([0, 4, 1], [0, 3.9, 1],
                                  Color = RGB::Blue),
                    Axis = axis, Center = center,
                    Angle = 0.43*PI + a*2*PI/3) $ a = 1..3,
     Axes = Origin
):

delete center, axis, b0, b1, b2, b3, centerplusaxis:

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

Функции MuPAD