exponenta event banner

эллипсоид

Создание эллипсоида

Описание

пример

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr) возвращает координаты x, y и z эллипсоида без его рисования. Возвращенный эллипсоид имеет координаты центра в (xc,yc,zc), длины полуосей (xr,yr,zr), и состоит из 20 на 20 граней.

Функция возвращает координаты x, y и z как три 21около-21 матрицы.

Чтобы нарисовать эллипсоид с помощью возвращенных координат, используйте surf или mesh функции.

пример

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr,n) возвращает координаты x, y и z эллипсоида с nоколо-n лица. Функция возвращает координаты x, y и z в виде трех (n+1)около-(n+1) матрицы.

пример

ellipsoid(___) строит график эллипсоида без возврата координат. Используйте этот синтаксис с любым из предыдущих входных аргументов в предыдущих синтаксисах.

пример

ellipsoid(ax,___) строит графики в осях, указанных ax вместо текущих осей. Укажите оси в качестве первого входного аргумента.

Примеры

свернуть все

Создайте и постройте график эллипсоида с центром (0, -0,5, 0) и полуосями (6, 3,25, 3,25). Использовать axis equal для использования одинаковых единиц данных вдоль каждого направления координат.

ellipsoid(0,-0.5,0,6,3.25,3.25)
axis equal

Figure contains an axes. The axes contains an object of type surface.

Создайте координаты эллипсоида с центром (0, 0, 0) и полуосями (1,5, 1,5, 3).

[X,Y,Z] = ellipsoid(0,0,0,1.5,1.5,3);

Создайте график поверхности эллипсоида.

surf(X,Y,Z);
axis equal

Figure contains an axes. The axes contains an object of type surface.

Постройте график второго эллипсоида с центром, переведенным на (3, 0, 5) от первого эллипсоида. Чтобы повернуть второй эллипсоид на следующем шаге, верните объект поверхности как s.

hold on
s = surf(X+3,Y,Z+5);

Figure contains an axes. The axes contains 2 objects of type surface.

Поверните второй эллипсоид на 45 градусов вокруг его оси X. Новые координаты переведенного и повернутого эллипсоида хранятся в s.Xdata, s.Ydata, и s.Zdata.

direction = [1 0 0];
rotate(s,direction,45)

Figure contains an axes. The axes contains 2 objects of type surface.

Отображение эллипсоидов с координатами центра (0, 0, 0) и полуосями (2, 1, 1) с различным числом граней.

Позвоните в tiledlayout для создания компоновки мозаичной диаграммы «2 на 2». Позвоните в nexttile для создания осей. Затем используйте ellipsoid функция для построения графика трех эллипсоидов с различным количеством граней. Постройте график эллипсоидов в различных плитках диаграммы, указав оси.

tiledlayout(2,2);
ax1 = nexttile;
ellipsoid(ax1,0,0,0,2,1,1)
axis equal
title('20-by-20 faces (Default)')

ax2 = nexttile;
ellipsoid(ax2,0,0,0,2,1,1,50)
axis equal
title('50-by-50 faces')

ax3 = nexttile;
ellipsoid(ax3,0,0,0,2,1,1,80)
axis equal
title('80-by-80 faces')

Figure contains 3 axes. Axes 1 with title 20-by-20 faces (Default) contains an object of type surface. Axes 2 with title 50-by-50 faces contains an object of type surface. Axes 3 with title 80-by-80 faces contains an object of type surface.

Входные аргументы

свернуть все

Координаты центра эллипсоида, заданные как три скалярных числа, разделенных запятыми.

Типы данных: single | double

Главные полуоси вдоль осей x, y и z задаются как три скалярных числа, разделенных запятыми.

Типы данных: single | double

Число граней, указанное как положительное скалярное целое число.

Целевые оси, указанные как Axes объект. Если оси не указаны, то ellipsoid строит графики в текущих осях.

Алгоритмы

ellipsoid генерирует данные, используя следующее уравнение:

(x xc) 2xr2 + (y yc) 2yr2 + (z − zc) 2zr2 = 1.

ellipsoid(0,0,0,1,1,1) эквивалентно единичной сфере.

См. также

| | | |

Представлен до R2006a