Wolfram mathematica 如何在mathematica中绘制长度为n的三角形网格

Wolfram mathematica 如何在mathematica中绘制长度为n的三角形网格,wolfram-mathematica,Wolfram Mathematica,我想知道是否有人能帮我在mathematica中画一个边长为n的三角形网格(等边)。谢谢。像这样的东西 (来源:) 这是我使用的代码。也许对于上面的特定任务来说太复杂了,这是我必须可视化整数晶格的代码的一部分,比如 这是干什么的 类型包含总计为n的所有3个整数元组。这些整数位于R^3的二维子空间上 A是将这些3元组旋转到x-y平面的线性变换 Delauney三角剖分查找连接附近点的所有三角形 一个简单的网格: 编辑 一个更清晰的版本,我想: s3 = Sqrt[3]; templateTri

我想知道是否有人能帮我在mathematica中画一个边长为n的三角形网格(等边)。谢谢。

像这样的东西


(来源:)

这是我使用的代码。也许对于上面的特定任务来说太复杂了,这是我必须可视化整数晶格的代码的一部分,比如

这是干什么的

  • 类型包含总计为n的所有3个整数元组。这些整数位于R^3的二维子空间上
  • A是将这些3元组旋转到x-y平面的线性变换
  • Delauney三角剖分查找连接附近点的所有三角形
  • 一个简单的网格:

    编辑

    一个更清晰的版本,我想:

    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}]
    

    这是贝里萨里乌斯方法的一个变体

    p = Table[{2 j - i, Sqrt[3] i}, {i, 0, 9}, {j, i, 9}]
    
    Graphics[ Line @ Join[p, Riffle @@@ Partition[p, 2, 1]] ]
    

    看起来很棒。你能解释一下这个想法吗?非常感谢。这要简单得多。但你有没有注意到,从视觉上看,这个网格并不像亚罗斯拉夫画的那样“等边”。你知道为什么以及如何修复它吗?@Qiang只需删除AspectRatio->1(因为这只是一个显示问题)。我更新了我的答案太棒了!你的答案如此简单,因此被选为我问题的答案!谢谢@belisarius顺便问一句,为了清楚起见,你喜欢双表形式吗?只有当用户参与了答案的评论线程或者他写了你要评论的答案时,以@user开头的消息才有用。如果他没有这样做,他就不会收到你的信息,也可能根本不会阅读。我来这里只是浏览过去的答案。在回答你的问题时,有时当它适合我的时候,我选择用我认为对OP(原始海报)更容易理解的方式来编写代码,这并不总是我为自己编写代码的方式。可能最值得注意的例外是在试图解决性能问题时。此外,如果你阅读我答案中羌的最后一条评论,你会发现很多时候,简单是OP的真正价值。如果我写一个问题,我会看重一个简单易懂的答案,而不是花几个小时去理解的答案。。。除非我正在研究一些东西,而答案让我深思。我会尽量听从你的建议。
    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}]
    
    p = Table[{2 j - i, Sqrt[3] i}, {i, 0, 9}, {j, i, 9}]
    
    Graphics[ Line @ Join[p, Riffle @@@ Partition[p, 2, 1]] ]