我想知道是否有人可以帮助在mathematica中绘制边长n的三角形网格(等边)。感谢。
答案 0 :(得分:4)
这样的东西?
http://yaroslavvb.com/upload/save/triangular-grid.png
这是我使用的代码。也许对于上面的特定任务来说太复杂了,它是代码的一部分我必须可视化整数格,如this
A = Sqrt[2/3] {Cos[#], Sin[#], Sqrt[1/2]} & /@
Table[Pi/2 + 2 Pi/3 + 2 k Pi/3, {k, 0, 2}] // Transpose;
p2r[{x_, y_, z_}] := Most[A.{x, y, z}];
n = 10;
types = 1/n Permutations /@ IntegerPartitions[n, {3}, Range[1, n]] //
Flatten[#, 1] &;
points = p2r /@ types;
Needs["ComputationalGeometry`"]
Graphics[{EdgeForm[Black], FaceForm[Transparent],
GraphicsComplex[points,
Polygon /@ DelaunayTriangulation[points // N][[All, 2]]]}]
这是做什么
答案 1 :(得分:4)
简单网格:
p = Table[ Table[
Polygon[{j - 1/2 i, i Sqrt[3]/2} + # & /@ {{0, 0}, {1/2,Sqrt[3]/2}, {1, 0}}],
{j, i, 9}], {i, 0, 9}];
Graphics[{EdgeForm[Black], FaceForm[White], p}]
修改
一个更清晰的版本,我想:
s3 = Sqrt[3];
templateTriangleVertex = {{0, 0}, {1, s3}, {2, 0}};
p = Table[Table[
Polygon[{2 j - i, s3 i } + # & /@ templateTriangleVertex],
{j, i, 9}], {i, 0, 9}];
Graphics[{EdgeForm[Black], FaceForm[White], p}]
答案 2 :(得分:1)
以下是belisarius方法的变体。
p = Table[{2 j - i, Sqrt[3] i}, {i, 0, 9}, {j, i, 9}]
Graphics[ Line @ Join[p, Riffle @@@ Partition[p, 2, 1]] ]