公告:网站程序已升级到1.8.3,修复了提问时可能报错的问题,请清除浏览器缓存
2019-11-10

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
135 浏览

Mathematica 里面有三维立体的 SierpinskiMesh[4, 3] 以及平面的 SierpinskiMesh[4, 2] 等等。

但 SierpinskiMesh[4,2] 是平面的,我想在空间中画出,例如,想在空间平面 x+y+z==0 画出 ,使得可以在空间转动这个二维 SierpinskiMesh

另外,在空间可以对该平面进行着色(比如 Rainbow 着色),而不是单一的蓝色。

SierpinskiMesh[4,2] 如下图

分类:绘图 | 用户: cvgmt (276 分)
修改于 用户:cvgmt

2 个回答

+1 投票

是这样么?

mesh = SierpinskiMesh[5];
coordinates = #~Join~{0} & /@ MeshCoordinates[mesh];
polygons = MeshCells[SierpinskiMesh[5], 2];
Graphics3D[polygons /. Polygon[x_] :> Polygon[coordinates[[x]]]]

用户: 野鹤 (4.8k 分)
是这种空间图形
0 投票
{a, b, c} = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; 
f[{a_, b_, c_}] := {{a, Mean[{a, b}], Mean[{a, c}]}, {b, Mean[{b, c}],
    Mean[{b, a}]}, {c, Mean[{c, a}], Mean[{c, b}]}}; 
Nest[Flatten[Map[f, #], 1] &, f[{a, b, c}], 4] // 
 Graphics3D[Triangle /@ #, ViewPoint -> {1, 1, 1.2}] &


原来还有更方便的做法:

RegionPlot3D[SierpinskiMesh[4, 2], ColorFunction -> "Rainbow",
 PlotLegends -> {LegendLayout -> "ReversedColumn"}]
用户: cvgmt (276 分)
修改于 用户:cvgmt
...