ellipsoid

Создайте эллипсоид

Описание

пример

[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-by- 21 матрицы.

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

пример

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr,n) возвращает x -, y - и z - координаты эллипсоида с n-by- n лица. Функция возвращает x -, y - и z - координаты как три (n+1)-by- (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 генерирует данные используя это уравнение:

(xxc)2xr2+(yyc)2yr2+(zzc)2zr2=1.

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

См. также

| | | |

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