графическое изображение сферы

Графический примитив для сфер

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

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

Синтаксис

plot::Sphere(r, <[cx, cy, cz]>, <a = amin .. amax>, options)

Описание

plot::Sphere(r, c) создает сферу радиуса r и центр c.

Атрибуты

АтрибутЦельЗначение по умолчанию
AffectViewingBoxвлияние объектов на ViewingBox сценыTRUE
Centerцентр объектов, центр вращения[0, 0, 0]
CenterXцентр объектов, центр вращения, x-компонент0
CenterYцентр объектов, центр вращения, y-компонент0
CenterZцентр объектов, центр вращения, z-компонент0
Colorосновной цветRGB::LightBlue
FillColorцвет областей и поверхностейRGB::LightBlue
Framesколичество кадров в анимации50
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?FALSE
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
Radiusрадиус кругов, сферы и т.д.1
Shadingсглаживайте цветное смешение поверхностейSmooth
TimeEndвремя окончания анимации10.0
TimeBeginвремя начала анимации0.0
TimeRangeоперативный промежуток анимации0.0 .. 10.0
Titleобъектный заголовок 
TitleFontшрифт объектных заголовков[" sans-serif ", 11]
TitlePositionположение объектных заголовков 
TitleAlignmentвыравнивание по горизонтали заголовков w.r.t. их координатыCenter
TitlePositionXположение объектных заголовков, x компонент 
TitlePositionYположение объектных заголовков, y компонент 
TitlePositionZположение объектных заголовков, z компонент 
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE

Примеры

Пример 1

Создайте синюю сферу с центром (9, 9, 9) и радиус 3:

s := plot::Sphere(3, [9, 9, 9], Color = RGB::Blue)

Вызовите plot, чтобы построить сферу:

plot(s)

delete s:

Пример 2

Создайте сферу с центром (-1, - 1, 5) и радиус 3. В двух точках на сфере добавьте 3D диски, указывающие на плоскости касательной.

c := [-1, -1, 3]:
s := plot::Sphere(3, c):
p1 := [ 1, -3, 4]:
p2 := [-3, -2, 1]:

Диски созданы через plot::Circle3d как заполненные 3D круги радиуса 2.5, сосредоточены в точках p 1 и p 2, соответственно. Нормали n i даны p i - c. Вычислите их subracting центр c от точек p i через zip:

n1 := zip(p1, c, _subtract):
n2 := zip(p2, c, _subtract):
t1 := plot::Circle3d(2.5, p1, n1, Filled = TRUE, 
                     LineColor = RGB::Black,
                     FillColor = RGB::Red.[0.5]):
t2 := plot::Circle3d(2.5, p2, n2, Filled = TRUE, 
                     LineColor = RGB::Black,
                     FillColor = RGB::Red.[0.5]):

Наконец, преобразуйте точки p i к графическим точкам и добавьте их в график:

p1 := plot::Point3d(p1, PointColor = RGB::Red, 
                    PointSize = 2*unit::mm):
p2 := plot::Point3d(p2, PointColor = RGB::Red, 
                    PointSize = 2*unit::mm):
plot(s, p1, p2, t1, t2)

delete c, s, p1, p2, n1, n2, t1, t2:

Пример 3

Рассмотрите ту же сферу как в предыдущем примере:

radius := 3: center := [-1, -1, 5]: 
s := plot::Sphere(radius, center):

Используя сферические координаты, задайте кривую на сфере:

phi := a -> PI*sin(7*a):
thet := a -> PI/2 + 1.3*sin(5*a):
x := a -> center[1] + radius*cos(phi(a))*sin(thet(a)):
y := a -> center[2] + radius*sin(phi(a))*sin(thet(a)):
z := a -> center[3] + radius*cos(thet(a)):

Кривая c задана как объект типа plot::Curve3d. Далее, задайте анимированную точку p, который запускается вдоль кривой. Анимированный заполненный диск типа plot::Circle3d, указывающий на плоскость касательной в точке p, а также нормальное соответствие, добавляется к графику:

c := plot::Curve3d([x(t), y(t), z(t)], t = 0..2*PI, 
                   Mesh = 1000, Color = RGB::Black):
p :=  a -> [x(a), y(a), z(a)]:
n :=  a -> zip([x(a), y(a), z(a)], center, _subtract):
d := plot::Circle3d(2.5, p(a), n(a), a = 0..2*PI, Filled = TRUE,
                    FillColor = RGB::BlueLight.[0.5],
                    LinesVisible = FALSE): 
n := plot::Arrow3d(p(a), [p(a)[i] + n(a)[i]/2 $ i=1..3], 
                   a = 0..2*PI, TipLength = 0.8*unit::mm):
p := plot::Point3d(p(a), a = 0..2*PI, PointColor = RGB::Black, 
                   PointSize = 2*unit::mm):
plot(s, c, p, n, d, Frames = 200, TimeEnd = 50):

delete radius, center, s, phi, thet,
       x, y, z, c, p, n, d:

Параметры

r

Радиус сферы: действительное численное значение или арифметическое выражение параметра анимации a.

r эквивалентен атрибуту Radius.

cx, cy, cz

Координаты центра: действительные численные значения или арифметические выражения параметра анимации a. Если никакой центр не задан, сфера/эллипсоид, сосредоточенная в orign, создается.

cx, cy, cz эквивалентен атрибутам Center, CenterX, CenterY, CenterZ.

a

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

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

Функции MuPAD

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