文件名称:penrose:Penrose平铺的p5.js实现
文件大小:894KB
文件格式:ZIP
更新时间:2024-05-27 15:36:29
JavaScript
彭罗斯瓷砖 Penrose平铺的实现,使用库编写。 以下文章是理解如何递归表示的重要资源: 描述 彭罗斯(Penrose)拼贴是非定期拼贴的一个示例。 我的想法是-如果您在图案上滑动一个窗口,您将永远看不到相同的图像。 这种突然出现的特性令人惊讶,因为整个图案由两个基本元素(风筝和Dart)组成,并具有固定的平铺规则。 以下面的示例为参考:标记有红色扇区的边缘只能与其他红色边缘平铺,反之亦然。 代码 在此实现中,切片构造依赖于JavaScript类的递归定义。 风筝和Dart对象分别分成两个HalfKite和HalfDart对象。 HalfKite和HalfDart对象每个都有一个细分方法,该方法可根据下图构造新的HalfKite和HalfDarts。 构造逻辑与p5渲染逻辑完全分开,因此相同的通用类结构可以与任何渲染库一起使用。 class HalfKite { constru
【文件预览】:
penrose-master
----p5.js(2.55MB)
----images()
--------penrose_screenshot.png(105KB)
--------Penrose_vertex_figures.svg(73KB)
--------tiling pattern.jpg(38KB)
--------github-logo.svg(3KB)
--------favicon.ico(18KB)
--------ln-logo.png(2KB)
----p5.min.js(384KB)
----css()
--------hamburgers.css(26KB)
--------index.css(1KB)
----utils()
--------vector_util.js(291B)
----README.md(4KB)
----index.html(2KB)
----penrose()
--------recurse_sketch.js(4KB)
--------penrose_class.js(4KB)
----addons()
--------p5.sound.js(414KB)
--------p5.sound.min.js(142KB)
--------p5.dom.min.js(19KB)
--------p5.dom.js(89KB)