【问题标题】:Programming Challenge: Easiest way to code this grid?编程挑战:编写此网格的最简单方法?
【发布时间】:2012-09-08 19:57:30
【问题描述】:

成功了!看帖子底部!!!

世界上的聪明人......

我正在尝试使用 Processing (java) 绘制此网格,但我无法找出最聪明的解决方法。我基本上可以在重复部分中绘制每个点,但我确信有更好的方法。

任何算法和语言都可以。我只需要看看这个概念。

编辑

更新了徽标图像。这基本上表明我需要能够“知道”哪些区域是邻居,以便从网格创建生成形状:

编辑 2

网格被设计者称为“准周期八折网格”。

编辑 3

好吧,这比我想象的要难。我已经取得了很大的进步,你可以在这里找到代码:https://gist.github.com/3682600

我的细分对这两种形状都很有效,但是,当我开始递归时,发生了一些奇怪的事情。这是我现在的输出:

感谢任何帮助!

编辑 4

好的,这正在变成一项史诗般的任务。我发现当递归变得太深时会出现问题。要么是元素旋转的问题,要么是我无法弄清楚的另一件事。无论如何,这是我现在的工作草图:

编辑 5

我成功了!我搞砸了立方体的旋转,这一切都搞砸了。我更改了它并且它正在工作:https://gist.github.com/3682600。那里可能有太多东西,但它完全有效。证明:

【问题讨论】:

  • 这个网格的具体名称是什么?它是如何定义的——它有什么特点?
  • @Blender:处理是 Java,但它被移植到 JS。两者都可以:-)
  • @nightcracker:关于网格,我唯一知道的是设计师称它为“准周期性八折网格”。这有帮助吗?感谢大家。我真的很想解决这个问题。
  • This 可能是相关的。
  • @n.m.:这看起来像是一个变种,是的。虽然它比这个有更多的中心“花”。这是另一个链接:geometricolor.wordpress.com/2012/04/15/…

标签: algorithm grid processing


【解决方案1】:

我不确定是否有简单的方法,我开始寻找重复的部分,但它是准周期性的,或者几乎是重复的。

绿线显然是对称的,但蓝色标记的图案实际上似乎并没有显示远离中心延伸的网格的图案。不过我可能是错的。

【讨论】:

    【解决方案2】:

    如果这确实是Ammann-Beenker tiling@n.m。 his comment 中提到的,那么您最容易使用提供的替换规则对其进行编码。从任意瓷砖开始,然后用较小的瓷砖替换它,直到您有足够数量的瓷砖用于您的目的。请注意,替换规则显然处理有向的半正方形。

    【讨论】:

    • 我无法阅读这些替换规则。我画的第一个形状到底是什么?很难找到有关这方面的文献。
    • @Ronze:你从 any 瓦片或瓦片组合开始。如果你想要 8 重对称,你可以从围绕一个点排列的 8 个菱形开始。如果你想简单,就拿一个。然后根据规则细分每个图块。你会发现很多关于Penrose tilings 的文献,我敢肯定。这些也可以使用替换来构造,因此概念几乎相同。
    • 啊,有道理!惊人的。几个小时后我会在这里发布结果。
    • 结果已发布。还有一些问题,但越来越近了。
    • 工作!检查帖子。谢谢你的帮助。立即接受您的回答。
    猜你喜欢
    • 1970-01-01
    • 2011-11-17
    • 2015-09-18
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多