Code Monkey home page Code Monkey logo

penrose-moire's Introduction

party

Penrose-Moiré

A website to interact with Moiré patterns for Penrose tilings. Check it out at penrosemoire.com.

Built using PaperJS, Node and Express.

What are Penrose tilings?

A Penrose tiling uses a few shapes but never repeats. To be precise, to "repeat" here means to demonstrate translational symmetry. The Penrose tiling I used for Penrose-Moiré consists of two rhombuses. Even though it's just the same two rhombuses repeated, the pattern never repeats! A small part of the pattern might repeat but if you zoom out, you'll see that it's not repeating. This is different from other perioding tilings, which do repeat (like the one below).

An example of a periodic tiling

Visually, you can see how Penrose tilings don't repeat by layering two tilings over each other and seeing where the colors don't match. Below are two overlapping Penrose tilings. The pink and dark teal colors are visible where the tilings don't match. The pattern that emerges from layering two tilings is called a Moiré pattern.

Example of a Moiré pattern for Penrose tilings

Now try it out yourself at penrosemoire.com!

How did you create the Penrose tilings?

The Penrose tilings are created using a process called deflation. The process is detailed here, but in short, you start with a simple tiling and increase the number of tiles by breaking up larger tiles into smaller tiles while following some basic rules.

penrose-moire's People

Contributors

kommandat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.