plot::Transform3d

Аффинное линейное преобразование 3D объектов

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

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

Синтаксис

plot::Transform3d(<b3d>, A3d, obj1, <obj2,...>, <a = amin .. amax>, options)

Описание

plot::Transform3d(b, A, objects) с векторным b и матричным A применяет аффинное линейное преобразование xAx+b к 3D объектам.

Матрица преобразования A может быть задан списком списков, с подсписками, представляющими строки:

[[A1, 1, A1, 2, …], [A2, 1, A2, 2, …], …]

Простой список [A1, 1, A1, 2, …, A3, 2, A3, 3] представляет строку матрицы строкой.

Преобразуйте объекты, может преобразовать несколько графических объектов одновременно. Графический вывод объекта преобразования представляет все графические объекты внутри.

Преобразованные объекты имеют тенденцию переоценить их ViewingBox. В таких случаях задайте подходящий ViewingBox явным образом.

Объекты преобразования могут использоваться в объектах преобразования. Если они анимированы, анимации, запущенные одновременно.

Анимированный преобразовывают объекты, “довольно дешевое” касающееся вычисление и хранение затрат. Для более комплексных графических объектов более эффективно использовать анимированное, преобразовывают объект, чем переопределить объект для каждой системы координат.

Функциональный op позволяет извлекать графические объекты в объекте преобразования.

Атрибуты

АтрибутЦельЗначение по умолчанию
AffectViewingBoxвлияние объектов на ViewingBox из сценыTRUE
Framesколичество систем координат в анимации50
Matrix3dматрицы преобразования[1, 0, 0, 0, 1, 0, 0, 0, 1]
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
Shiftвектор сдвига[0, 0, 0]
ShiftXвектор сдвига0
ShiftYвектор сдвига0
ShiftZвектор сдвига0
TimeEndвремя окончания анимации10.0
TimeBeginвремя начала анимации0.0
TimeRangeоперативный промежуток анимации0.0.. 10.0

Примеры

Пример 1

Для некоторых приложений это очень популярно, чтобы построить функцию в 3D вместе с проекцией ее линий контура на более низкую или верхнюю плоскость ограничения. MuPAD® не имеет никакой прямой опции для этого, но с plot::Transform3d, возможно достигнуть того же эффекта. Предположим, что у вас есть функция на рассмотрении в plot::Function3d объект:

f := plot::Function3d(sin(x*y)+cos(x^2-y),
                      x=-3..3, y=-3..3, Submesh=[1,1]):

Чтобы построить линии контура вообще, используйте атрибут ZContours. Постараться не изменять f, создайте модифицированную копию с помощью plot::modify:

plot(plot::modify(f, ZContours = [Automatic, 10]))

Чтобы только получить линии контура, измените еще несколько параметров: выключите поверхность и линии параметра. Затем добавьте высоту, окрашивающую в линии, и используйте plot::Transform3d спроектировать их на плоский z = - 2.5. Наконец, постройте эти графики вместе с исходной функцией:

plot(f,
     plot::Transform3d([0, 0, -2.5], // shift vector
                       [1, 0, 0,  // transformation matrix
                        0, 1, 0,
                        0, 0, 0],
             plot::modify(f,
                    Filled = FALSE,
                    XLinesVisible = FALSE, YLinesVisible = FALSE,
                    ZContours = [Automatic, 10],
                    LineColorFunction =  // height coloring
                ((x, y, z) -> [(z+2)/4, 0, (2-z)/4]))))

Параметры

b3d

3D вектор сдвига: список с 3 записями. Также векторы сгенерированы matrix или массивы приняты. Записи должны быть численными значениями или арифметическими выражениями параматери анимации a.

b3d эквивалентно атрибуту Shift.

A3d

3D матрица преобразования: 3×3 матрица, 3×3 массив, список 3 списков или простого списка с 9 записями. Записи должны быть численными значениями или арифметическими выражениями параматери анимации a.

A3d эквивалентно атрибуту Matrix3d.

obj1, obj2, …

Постройте объекты

a

Параметр анимации, заданный как a = amin..amax, где amin начальное значение параметров и amax итоговое значение параметров.

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

Функции MuPAD

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