BoundaryMeshRegion

BoundaryMeshRegion[{p1,p2,},{bcell1[{i1,}],bcell2[{j1,}],}]

生成具有边界单元 bcellj 的网格,其中以整数 i 给出的坐标取作 pi,这些单元一起表示闭合曲线、曲面等.

BoundaryMeshRegion[,{,wi[bcelli[]],}]

生成网格,单元属性由符号式封装 wi 定义.

BoundaryMeshRegion[,boundary1,boundary2,]

从多个边界 boundaryi 生成网格.

更多信息和选项

  • BoundaryMeshRegion 也被称作边界表示.
  • BoundaryMeshRegion 可以表示在一维、二维或者三维空间中嵌入的分段线性的全维区域.
  • BoundaryMeshRegion[] 在笔记本中显示为边界网格区域的图形.
  • BoundaryMeshRegion 通常使用诸如 ConvexHullMesh, BoundaryMeshBoundaryDiscretizeRegionBoundaryDiscretizeGraphics 等函数构建.
  • 边界单元需要表示一个无自相交的封闭曲线或曲面.
  • BoundaryMeshRegion[{p1,p2,},b1,b2,] 中,边界曲线或曲面 bi 不应该与自身或彼此相交.
  • BoundaryMeshRegion[{p1,p2,},b1,b2,] 中,如果有任何起点为 p 的无穷射线穿过边界集合 bi 奇数次,则点 p 被认为在由边界曲线或曲面 bi 包围的区域中.
  • 下列特殊封装 wi 可用作边界面:
  • Labeled[cell,]显示具有标签的 cell
    Style[cell,]显示具有指定样式的 cell
    Annotation[cell,name->value]将注释 name->valuecell 关联
  • BoundaryMeshRegion 中的每个单元都被赋予一个唯一的形如 {d,i}MeshCellIndex,其中 d 是几何维数,i 为索引.
  • 出于选择 BoundaryMeshRegion 单元的目的,可以使用下列单元规范:
  • {d,i}维数为 d、索引为 i 的单元
    {d,ispec}维数为 d、索引规范为 ispec 的单元
    {dspec,}维数由 dspec 给出的单元
    h[{i1,}]显式单元,其中标头为 h、顶点索引为 i1
    {c1,c2,}显式单元 ci 的列表
  • 索引规范 ispec 可以具有下列形式:
  • i单元索引 i
    {i1,i2,}索引为 ik 的单元
    All全部单元
    patt索引和模式 patt 匹配的单元
  • 维数规范 dspec 可以具有下列形式:
  • d显式维数 d
    All从 0 到区域的几何维数的全部维数
    patt与模式 patt 匹配的维数
  • BoundaryMeshRegion 含有最大维数为 n-1 的单元,其中 n 是嵌入维数.
  • BoundaryMeshRegion 总是被转换成一个优化表示,并出于模式匹配的目的,被诸如 AtomQ 等函数当作原始表示.
  • 如果嵌入维数为2,BoundaryMeshRegion 的选项与 Graphics 相同,如果嵌入维数为3,选项与 Graphics3D 相同,并有下列增补和变化:
  • MeshCellLabel Automatic单元的标签和位置
    MeshCellShapeFunction Automatic单元的形状函数
    MeshCellStyle Automatic单元样式
    MeshCellHighlight {}突出显示的单元的单元列表
    MeshCellMarker 0单元的整数标记
    PlotTheme $PlotTheme网格的全局主题
  • PlotTheme 的可能设置包括常见基本主题、强调字体特征的主题和强调大小特征的主题.
  • 网格特征主题影响网格单元的图形. 主题包括:
  • "Points"0 维单元
    "Lines"一维单元,线框
    "Polygons"二维单元
  • 渲染特征主题影响网格的渲染. 主题包括:
  • "SampledPoints"来自网格单元的采样点
    "SphereAndTube"点作为球,线作为管
    "SmoothShading"平滑上阴影
    "FaceNormals"各个二维单元的法线
    "LargeMesh"对于大量单元的优化
  • 单元样式及其他规范的实际应用顺序为 MeshCellStyleStyle 和其他封装,其中后面出现的规范覆盖先前出现的规范.
  • 单元标签的标签样式及其他规范的实际应用顺序为 MeshCellLabelLabeled,其中后面出现的规范覆盖先前出现的规范.
  • BoundaryMeshRegion 可与诸如 RegionMemberRegionDistanceRegionMeasureNDSolve 之类的函数合用.

范例

打开所有单元关闭所有单元

基本范例  (5)

用边界点指定区间:

它是全维的:

该区域有界:

长度和质心:

点成员检验:

用封闭边界曲线指定三角形:

它是全维的:

该区域有界:

面积和质心:

点成员检验:

通过封闭的边界曲面指定四面体:

它是全维的:

该区域有界:

体积和质心:

点成员检验:

通过多个封闭的边界曲线指定二维区域:

求它的面积:

通过多个封闭的边界曲面指定三维区域:

求它的体积:

范围  (18)

一维区域  (4)

通过边界点指定区间:

通过 HighlightMesh 给点加标签:

它是全维的:

该区域有界:

长度和质心:

点成员检验:

通过多个边界点指定一维区域:

Style 应用于边界点:

标记边界点:

二维区域  (4)

通过封闭边界曲线指定三角形:

通过 HighlightMesh 给线段加标签:

它是全维的:

区域是有界的:

面积和质心:

点成员检验:

通过多个封闭边界曲线指定二维区域:

通过 HighlightMesh 用相应的索引来标记点:

Style 应用于边界线:

标记特定边界线:

三维区域  (4)

通过封闭的边界曲面指定四面体:

通过 HighlightMesh 标记线段:

它是全维的:

区域是有界的:

体积和质心:

点成员检验:

通过多个封闭边界曲面指定三维区域:

Style 应用于特定边界面:

标记特定边界线:

演示  (6)

使用主题绘制零维单元:

使用主题绘制一维单元或线框:

使用主题绘制二维单元:

使用主题绘制来自网格单元的采样点:

使用主题将点绘制为球,将线绘制为管:

使用主题绘制各二维单元的法线:

选项  (127)

AlignmentPoint  (1)

指定3D Inset 中的对齐位置,使用 坐标:

AspectRatio  (1)

AspectRatio 使用数值:

Axes  (2)

画出所有的轴:

画出 轴,而不画 轴:

AxesEdge  (2)

选取边界框自动画出轴:

选取边界框自动画出轴:

AxesLabel  (2)

轴放置标签:

为各个轴指定标签:

AxesOrigin  (2)

自动裁决轴线交叉处:

明确地指定轴线的原点:

AxesStyle  (2)

指定整体轴线样式,包括十字叉和标记标签:

分别指定各个轴的样式:

Background  (1)

指定各个轴的样式:

BaselinePosition  (3)

对准图心和文本基线:

通过 Scaled 指定图像的基线为高度的分数:

使用图像的轴为基线:

BaseStyle  (2)

设置开始样式:

设置多个开始样式:

Boxed  (2)

画出边界框的边:

不画出边界框的边:

BoxRatios  (2)

指定边界框的边的比例:

使用实际坐标值为比例:

BoxStyle  (1)

使用虚线为边界框:

Epilog  (1)

在图像上,包括轴线,画出一个圆盘:

FaceGrids  (4)

在三维图像的每个面上放置网格线:

面上放置网格线:

平面上放置面网格线:

平面上,在 处放置网格线:

FaceGridsStyle  (1)

指定面网格线的整体样式:

Frame  (2)

画出整个图像的边框:

在左右两边画出边框:

FrameLabel  (2)

为底边和左侧边指定边框标签:

指定各个边的标签:

FrameStyle  (2)

指定整体边框样式:

分别指定各个边框的样式:

FrameTicks  (3)

放置边框,而不放置十字叉:

底边和左侧边界的刻度线标签:

底边和右侧边上的边界标签:

FrameTicksStyle  (2)

指定边界标签和边界标签位置的样式:

分别指定各个边的边界标签样式:

GridLines  (3)

在二维图像上放置网格线:

在指定位置画出网格线:

分别指定各个网格线的样式:

GridLinesStyle  (1)

指定整体网格样式:

ImageMargins  (3)

ImageSize 的外侧不允许空白边缘:

在所有边缘上设置 20 点的空白边缘:

在制定位置画出网格线:

ImagePadding  (4)

在图像外边无填充:

为所有对象和标签留出足够填充:

在打印机设置中对所有边指定相同的填充:

在打印机设置中对所有边指定相同的填充:

ImageSize  (3)

使用预定义符号尺寸:

使用显性图像宽度:

使用显性图像宽和高:

LabelStyle  (1)

指定所有类标签元素的整体样式:

Lighting  (4)

背景光均匀应用于场景中的所有表面:

有不同颜色的定向光:

有不同颜色的点光源:

有不同颜色的聚光灯:

MeshCellHighlight  (3)

MeshCellHighlight 允许指定加亮 BoundaryMeshRegion 的一部分:

通过使表面变成透明的,三维 BoundaryMeshRegion 的内部结构可见:

个别的单元可以通过它们的单元索引来加亮:

或者通过单元自身:

MeshCellLabel  (11)

MeshCellLabel 可用于标记 BoundaryMeshRegion 的不同部分:

MeshCellLabel 可以通过 "Index""CellIndex""Cell" 显示单元的索引:

标签可以是任意表达式:

用工具提示条标记所有单元:

All 可用于指定所有单元:

默认标记所有单元:

标记给定维数的所有单元:

标记多边形的特定顶点和边:

或者,也可以指定一个标头和索引:

给标签指定单元索引的列表:

标记维数与某模式匹配的单元:

标记索引与某模式匹配的单元:

封装的优先级高于选项:

MeshCellMarker  (1)

MeshCellMarker 可用于给部分 BoundaryMeshRegion 进行赋值:

使用 MeshCellLabel 显示标记:

MeshCellShapeFunction  (2)

MeshCellShapeFunction 允许指定部分 BoundaryMeshRegion 的函数:

个体单元可以使用它们的单元索引绘制:

或者通过单元自身:

MeshCellStyle  (8)

All 可用于指定所有单元:

默认情况下,所有单元是样式化的:

样式化给定维数的所有单元:

样式化多面体的特定顶点和边:

或者,也可以指定一个标头和多个索引:

指定一个单元索引列表以样式化:

样式化维数与某模式匹配的单元:

样式化索引与某模式匹配的单元:

通过与分量维数相应的图形指令进行样式化:

封装的优先级高于选项:

PlotLabel  (2)

TraditionalForm 的图形上方显示标记:

使用 Style 和其它排版函数修改标签所出现的方式:

PlotRange  (3)

显示所有对象:

明确选择 的范围:

强制在 PlotRange 剪切:

PlotRange->s 等价于 PlotRange->{{-s, s}, {-s, s}}

PlotRangeClipping  (2)

允许图形对象分散在 PlotRange 之外:

PlotRange 剪切所有图形对象:

PlotRangePadding  (3)

在所有边上包括 个坐标单位的填充:

使用 Scaled 坐标包括填充:

对各边指定不同的填充:

PlotRegion  (3)

图形内容使用整个区域:

在每个方向上将图形内容限定在区域的中间半部分:

ImagePadding 可被用于环绕图形添加填充:

PlotTheme  (9)

基本主题  (2)

使用一个共同的基本主题:

使用单色主题:

特征主题  (7)

使用主题绘制零维单元:

使用主题绘制一维单元或线框:

使用主题绘制二维单元:

使用主题绘制来自网格单元的采样点:

使用主题将点绘制为球,将线绘制为管:

使用主题平滑阴影:

使用主题绘制各二维单元的法线:

Prolog  (1)

定义一个简单的图形来用作背景:

将它用于多个边界网格区域:

RotateLabel  (2)

指定应旋转垂直框架标签:

指定不应旋转垂直框架标签:

SphericalRegion  (2)

制作一个图像序列,使其尺寸一致,取向独立:

如果没有 SphericalRegion,各个图像将尽可能大:

Ticks  (3)

绘制轴,但不绘制刻度标记:

自动放置刻度标记:

在具体位置绘制刻度标记:

TicksStyle  (2)

指定刻度和刻度标签的样式:

分别指定 轴刻度的样式:

ViewAngle  (1)

使用模拟照相机的特定角度:

ViewCenter  (1)

将物体的右上角放置在最终图像的中心:

ViewMatrix  (1)

网格区域从 负方向的正交视图:

ViewPoint  (3)

使用特殊的缩放坐标指定视点:

使用符号式视点:

指定正交视图:

ViewRange  (2)

默认情况下,该范围足以包括所有对象:

指定要包括的相机的最小和最大距离:

ViewVector  (1)

使用普通坐标指定视点向量:

ViewVertical  (2)

使用 轴方向作为最终图像的垂直方向:

垂直方向的不同视点:】

应用  (6)

多边形  (2)

不相交多边形也是 BoundaryMeshRegion

得到的区域可用于计算:

当边数趋向于无穷时,面积趋向于

构建有多个矩形孔的二维 BoundaryMeshRegion. 内部矩形的坐标为:

内部矩形封闭曲线的索引:

生成具有 × 个内部矩形封闭曲线的外部矩形:

得到的网格可用于计算:

多面体  (4)

不相交多面体也是 BoundaryMeshRegion

阿基米德或半正多面体:

根据顶点数对表面着色:

对阿基米德多面体的表面着色:

通过使用多个内部长方体边界构建具有多个空隙的BoundaryMeshRegion. 内部长方体的坐标为:

内部长方体封闭曲面的顶点:

生成具有 ×× 个内部长方体表面的外部长方体:

得到的区域可用于计算:

构建一个长方体边界网格,其中有矩形隧道穿过. 可以将其作为二维边界网格与区间的乘积来构建. 使用与上面构建具有孔的多面体相同的结构来构建该二维边界网格:

所得到的具有 × 个孔的多边形的边界表示:

计算与区间的笛卡尔积:

对其进行样式化,使得仅有边界表面可见:

仍然可以对此区域进行计算:

属性和关系  (8)

BoundaryMeshRegion 可以表示全维区域:

由于几何维数是嵌入维数,因此它是全维的:

BoundaryMeshRegion 总是有界的:

使用 BoundedRegionQ 来检验,用 RegionBounds 来得到实际边界:

BoundaryMeshRegionQ 可用于检验区域是否为 BoundaryMeshRegion

使用 ConvexHullMesh 从一个点集创建 BoundaryMeshRegion

使用 BoundaryMeshMeshRegion 转换为 BoundaryMeshRegion

仅有全维组件能被表示:

使用 BoundaryDiscretizeRegion 将任意区域转换为 BoundaryMeshRegion

要包括较低维数的组件,使用 DiscretizeRegion

使用 Show 将任意 BoundaryMeshRegion 转换为 Graphics

BoundaryMeshRegion 通常比 MeshRegion 更节省内存:

Wolfram Research (2014),BoundaryMeshRegion,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html (更新于 2015 年).

文本

Wolfram Research (2014),BoundaryMeshRegion,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html (更新于 2015 年).

CMS

Wolfram 语言. 2014. "BoundaryMeshRegion." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2015. https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html.

APA

Wolfram 语言. (2014). BoundaryMeshRegion. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html 年

BibTeX

@misc{reference.wolfram_2024_boundarymeshregion, author="Wolfram Research", title="{BoundaryMeshRegion}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_boundarymeshregion, organization={Wolfram Research}, title={BoundaryMeshRegion}, year={2015}, url={https://reference.wolfram.com/language/ref/BoundaryMeshRegion.html}, note=[Accessed: 22-November-2024 ]}