plot::Octahedron

Регулярный Octahedra

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

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

Синтаксис

plot::Octahedron(<a = amin .. amax>, options)

Описание

plot::Octahedron() создает правильный многогранник.

По умолчанию все многогранники строятся в начале координат. Атрибут Center позволяет задать координаты центра. Это полезно, чтобы выровнять многогранники относительно других объектов в графической сцене. См. Пример 1.

Все многогранники строятся в кубе размерами от-1 до 1 во всех координатных направлениях. Размер многогранников может быть изменен атрибутом RadiusВ случае шестигранника (куба), этот атрибут представляет радиус вписанной сферы. Для других многогранников это - радиус описанной сферы.

Значение по умолчанию Radius 1 для всех многогранников.

В дополнение к атрибутам Center и Radius, можно изменить многогранники путем применения объектов преобразования типа plot::Rotate3d, plot::Scale3d, plot::Translate3d , и plot::Transform3d. См. пример 3.

Пользовательские функции управления цветом (LineColorFunction, FillColorFunction) вызваны индексом текущего фасета как его первый параметр, сопровождаемый x, y и координатой z текущей точки, сопровождаемой текущим значением параметра анимации (если анимировано). См. Пример 4.

Атрибуты

АтрибутЦельЗначение по умолчанию
AffectViewingBoxвлияние объектов на ViewingBox из сценыTRUE
Centerцентр объектов, центр вращения[0, 0, 0]
CenterXцентр объектов, центр вращения, x-компонент0
CenterYцентр объектов, центр вращения, y-компонент0
CenterZцентр объектов, центр вращения, z-компонент0
Colorосновной цветRGB::Red
Filledзаполненные или прозрачные области и поверхностиTRUE
FillColorцвет областей и поверхностейRGB::Red
FillColor2второй цвет областей и поверхностей для цветных смешенийRGB::CornflowerBlue
FillColorTypeтипы заполнения поверхностиDichromatic
FillColorFunctionфункциональная область / поверхностная окраска 
FillColorDirectionнаправление цветовых переходов на поверхностях[0, 0, 1]
FillColorDirectionXx-компонент направления цветовых переходов на поверхностях0
FillColorDirectionYy-компонент направления цветовых переходов на поверхностях0
FillColorDirectionZz-компонент направления цветовых переходов на поверхностях1
Framesколичество систем координат в анимации50
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?FALSE
LineColorцвет линийRGB::Black.[0.25]
LineWidthширина линий0.35
LineColor2цвет линийRGB::DeepPink
LineStyleтело, подчеркнутые штриховой линией или пунктирные линии?Solid
LinesVisibleвидимость линийTRUE
LineColorTypeтипы окраски линииFlat
LineColorFunctionфункциональная окраска линии 
LineColorDirectionнаправление цветовых переходов на линиях[0, 0, 1]
LineColorDirectionXx-компонент направления цветовых переходов на линиях0
LineColorDirectionYy-компонент направления цветовых переходов на линиях0
LineColorDirectionZz-компонент направления цветовых переходов на линиях1
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
PointSizeразмер точек1.5
PointStyleстиль презентации точекFilledCircles
PointsVisibleвидимость точек meshFALSE
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

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

plot(plot::Hexahedron  (Center = [0, 0, 0]),
     plot::Tetrahedron (Center = [3, 0, 0]),
     plot::Octahedron  (Center = [6, 0, 0]),
     plot::Icosahedron (Center = [9, 0, 0]),
     plot::Dodecahedron(Center = [12, 0, 0]),
     Axes = Frame);

С атрибутом Radius, размер многоугольника может быть изменен:

plot(plot::Hexahedron  (Radius = 1.0, Center = [0, 0, 0]),
     plot::Tetrahedron (Radius = 1.5, Center = [4, 0, 0]),
     plot::Octahedron  (Radius = 2.0, Center = [8, 0, 0]),
     plot::Icosahedron (Radius = 2.5, Center = [13, 0, 0]),
     plot::Dodecahedron(Radius = 3.0, Center = [19, 0, 0]),
     Axes = Frame);

Пример 2

Четырехгранник и октаэдр встраиваются в шестигранник:

plot(plot::Hexahedron (FillColorFunction = RGB::Red.[0.2],
                       VisibleFromTo = 0..8),
     plot::Tetrahedron(FillColorFunction = RGB::Green.[0.2],
                       VisibleFromTo = 1..5),
     plot::Octahedron (FillColorFunction = RGB::Blue.[0.2],
                       VisibleFromTo = 3..7),
     Axes = None)

Пример 3

Объекты преобразования могут быть применены к многогранникам, как продемонстрировано ниже:

H := plot::Hexahedron(Color = RGB::Blue.[0.2],
                      FillColorType = Flat): 
T := plot::Tetrahedron(Color = RGB::Red):
plot(plot::Rotate3d(a, [0, 0, 0], [0, 0, 1], a = 0..2*PI,
                    H, 
                    plot::Translate3d([0, 0, a], T, a = 0..2)
                   ), Axes = None)

delete T, H:

Пример 4

FillColorFunction может быть задан. Первый параметр при вызове -- индекс текущей грани, далее x -, y - и z - координата текущей точки:

mycolorlist := [RGB::Red, RGB::Blue, RGB::Green, RGB::Yellow]:
plot(plot::Dodecahedron(Center = [0, 0, 0],
                        FillColorFunction = 
                          proc(n, x, y, z) begin
                            [(1 + x)/2, (1 + y)/2, (1 + z)/2]
                          end_proc),
     plot::Dodecahedron(Center = [3, 0, 0],
                        FillColorFunction = 
                          proc(n, x, y, z) begin
                             mycolorlist[(n mod 4)+1]
                          end_proc),
     Axes = None):

То же самое сохраняется для LineColorFunction:

plot(plot::Icosahedron(Center = [0, 0, 0],
                       LineColorFunction = 
                          proc(n, x, y, z) begin
                            [(1 + x)/2, (1 + y)/2, (1 + z)/2]
                          end_proc),
     plot::Icosahedron(Center = [3, 0, 0],
                       LineColorFunction =
                           proc(n, x, y, z) begin
                              mycolorlist[(n mod 4)+1]
                           end_proc),
     Axes = None, LineWidth = 1.0*unit::mm,
     FillColor = RGB::Grey80, FillColorType = Flat):

Если многогранник анимирован, функции управления цветом вызваны с дополнительным аргументом: текущее значение параметра анимации:

plot(plot::Octahedron(FillColorFunction = 
                        proc(n, x, y, z, a)
                        begin
                          [sin(n*a)^2, cos(n*a)^2, 1]:
                        end_proc,
                      a = 0..2*PI))

delete mycolorlist:

Алгоритмы

Многогранник называется правильным, если все его грани состоят из одинаковых правильных многоугольников, и в каждой его вершине сходится одинаковое число рёбер.

Начиная с Платона мы знаем, что существуют только пять правильных многогранников:

  • четырехгранник с 4 (греческий tetra) треугольники,

  • шестигранник с 6-тью (по-гречески hexa) квадратами,

  • октаэдр с 8-ми (по-гречески okta) треугольниками,

  • додекаэдр с 12-тью (по-гречески dodeka) пятиугольниками

  • икосаэдр с 20-тью (по-гречески eikosi) треугольниками.

В следующей таблице перечислены некоторые важные геометрические данные многогранников с длиной ребра a. Где R является радиусом внешнего spherem r радиус внутренней сферы, A площадь поверхности и V объем:

ОтношениеЧетырехгранникШестигранникОктаэдрДодекаэдрИкосаэдр
6
1

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

Функции MuPAD

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