график::

Регулярный Dodecahedra

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

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

Синтаксис

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

Описание

plot::Dodecahedron() создает регулярные многогранники.

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

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

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

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

Пользовательские функции управления цветом (LineColorFunction, FillColorFunction) вызваны с индексом текущего фасета как его первый параметр, сопровождаемый x, y и координатой z текущей точки, сопровождаемой текущим значением параметра анимации (если анимировано). Cf. Пример 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

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

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 является радиусом внешней сферы, r радиус внутренней сферы, A площадь поверхности и V объем:

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

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

Функции MuPAD

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