• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

bVisual

  • Home
  • Services
    • How Visio smartness can help your business
    • Visio visual in Power BI
    • Visio Consulting Services
    • Visio Bureau Services
    • Visio Training and Support Services
  • Products
    • Visio Shape Report Converter
    • SS Plus
    • LayerManager
    • visViewer
    • Metro Icons
    • Rules Tools for Visio
    • The Visio 2010 Sessions App
    • Multi-Language Text for Visio
    • Document Imager for Visio
    • multiSelect for Visio
    • pdSelect for Visio
  • Case Studies
    • Case studies overview
    • Using Visio in Education for GIS
    • Visualizing Construction Project Schedules
    • Visio Online Business Process Mapping
    • Nexans Visio Template
    • CNEE Projects, WorldCom
    • Chase Manhattan Bank
  • News
    • Recent news
    • News archive
  • Resources
    • Articles➡
      • ShapeSheet Functions A-Z
      • Comparing Visio for the Web and Desktop
      • Customising Visio Shapes for the Web App
      • Key differences between the Visio desktop and web apps
      • Using the Visio Data Visualizer in Excel
      • Using Visio in Teams
      • Creating Visio Tabs and Apps for Teams with SharePoint Framework (SPFx)
      • Designing Power Automate Flows with Microsoft Visio
      • Innovative uses of Visio Lists
    • Webcasts ➡
      • Visio in Organizations
      • My session and other Visio sessions at MSIgnite 2019
      • Power up your Visio diagrams
      • Vision up your Visio diagrams
      • The Visio 2010 MVP Sessions
    • Visio Web Learning Resources
    • Books➡
      • Visualize Complex Processes with Microsoft Visio
      • Mastering Data Visualization with Microsoft Visio
      • Microsoft Visio Business Process Diagramming and Validation
      • Visualizing Information with Microsoft Visio
  • Blog
    • Browse blog articles
    • Visio Power BI articles
    • Visio for Web articles
    • A history of messaging and encryption
  • About us
    • About bVisual
    • Testimonials
    • Bio of David Parker
    • Contact Us
    • Website Privacy Policy
    • Website terms and conditions
    • Ariba Network
You are here: Home / Shape Design / ShapeSheet Formulas / A visual exploration of Penrose Tiling in Visio

Published on December 15, 2025 by David Parker

A visual exploration of Penrose Tiling in Visio

Maybe it is because I used to be a building architect, but I have always been fascinated by the relationship between numbers and visualisations. Perhaps the most famous one is the Golden Ratio which has been used as the basis of many building designs and art pieces. It is often recognised to create a harmony that is universally understood, and is repeatedly found in nature, yet it all boils down to a simple ratio of about 1.618 … and is related to the Fibonacci Numbers. Roger Penrose (re-)discovered shapes based on the Golden Ratio can be arranged aperiodically on an infinite canvas without a repeating pattern. These Penrose Tiling shapes were developed into two groups (P2 and P3) each with two shapes.

There are rules about the arrangement to ensure that they do not fall into a repeatable series. These rules can be followed by ensuring that the ends of the arcs within each shape meet each other. The shapes can be used to try to create an aperiodic pattern of an infinite size, and then a timer can randomly change the colours. It’s a little festive fun!

  • Kites and Darts with Arcs
  • Kites and Darts without Arcs
  • Thick and Thin Rhombi with Arcs
  • Thick and Thin Rhombi without Arcs
  • Patterned Rhombi

The basic shapes for P2 Tiling are the Kite and Dart, and for P3 Tiling is the Thick and Thin Rhombi, and I have placed connection points at the end of each arc to assist with snapping shapes together correctly.

So, with this being Visio, we can change the visibility of the helpful arcs with the Shape Data window for the page, and we can set a Timer on so that the colours change every minute, or whenever something changes.

  • Kite and Dart with Arcs
  • Kite and Dart without Arcs
  • Thick and Thin Rhombi with Arcs
  • Thick and Thin Rhombi without Arcs

The individual Red, Green and Blue values of a shape specific Prop.xxx_FillForegnd and Prop.xxx_FillBkgnd value in the page are set randomly with the formula in the User.Timer cell. Additionally, the Prop.xxx_FillPattern can be varied too if the page Vary Pattern Shape Data row is also set to True. :

=NOW()+IF(User.UseTimer,SETF(GetRef(ThePage!Prop.ThickR_FillForegnd),"=RGB("&INT(RAND()*255)&","&INT(RAND()*255)&","&INT(RAND()*255)&")")+SETF(GetRef(ThePage!Prop.ThickR_FillBkgnd),"=RGB("&INT(RAND()*255)&","&INT(RAND()*255)&","&INT(RAND()*255)&")")+IF(ThePage!Prop.VaryPattern,SETF(GetRef(ThePage!Prop.ThickR_FillPattern),"="&INT(RAND()*24)),0),0)  

Then the formula of the FillForegnd , FillBkgnd and optionally FillPattern of the shapes will automatically get updated from the page Shape Data rows because it has the SETATREF(…) functions.

=SETATREF(ThePage!Prop.ThickR_FillForegnd)

=SETATREF(ThePage!Prop.ThickR_FillBkgnd)

=SETATREF(ThePage!Prop.ThickR_FillPattern)

In fact, I have added similar formulas for transparency but not currently automating them with the timer. Alternatively, formatting a single shape will automatically format all of the same type (those with the same Master) on the page.

  • Page Shape Data
  • Formatting Shape Fill
  • Optional Pattern Variations

Mostly, the shapes will snap nicely if the adjacent edges are parallel, but I have also added opposing connection point types at the end of the arcs. This means that they can glue to each other … at least if you move the right one towards the other. However, gluing is not essential, just helpful at times.

I have added 4 right mouse menu actions to each shape to assist in rotating shapes clockwise and anticlockwise by 36 and 72 degrees. The normal Visio rotation handle can be used too, but I used them to only rotate to 0, 90, 180, 270 and then used the extra 32 or 72 degree rotation actions afterwards.

This file is available for download and you can create your own aperiodic patterns! Penrose Tiles.vsdx

Update : My friend, and fellow Visiophile, Chris Roth has pointed out that he made some similar shapes a few years ago ! See visguy.com/2020/10/02/visio-penrose-tile-shapes !

Related Articles

Understanding Morse Clicks with Visio

A few years ago, I wrote an article about messaging and encryption inspired by a visit to the National Museum of Computing in the UK. I developed a Morse Click shape to demonstrate how Visio can be used to represent and learn Morse Code. However, I never published the shapes here, and my good friend…

Play Backgammon with Visio

Still in lockdown on holiday, so I thought I would create a version of backgammon that can be played with Visio for the web. This was inspired by my original Visio tutor, the late David Edson, who created a Visio backgammon document which included macros. Macros are not available in Visio for the web, so…

Play Chess with Visio in Teams

[Update : a new version of this file allows Visio for M365 users to edit/play with see Making Custom Shapes for Visio for M365] Following on from my last article about playing checkers with Visio in Teams, I decided that I should also revisit my earlier Visio chessboard to make it work in Visio online.…

Play Checkers with Visio in Teams

[Update : a new version of this file allows Visio for M365 users to edit/play with see Making Custom Shapes for Visio for M365] We are all spending more time in Teams or SharePoint nowadays, but not everyone knows that Visio documents can now be shared and collaborated with, and even set as a Teams…

Cyber Monday giveaway free Visio Chess

Earlier today, I gave away checkers for Visio (see Cyber Monday free #Visio Checkers! ) , and now this article completes my Cyber Monday freebies with a downloadable chess set for Visio! This version of the chess/checker board requires connection points (Type = 2 – Inward/Outward) on each of the 64 squares, an, as before, I…

Cyber Monday free Visio Checkers!

As it is Cyber Monday, I thought I would give away a compelling checkers board for Visio! In the UK, we call it Draughts, but the rules are the same… in my last post, I showed how to create a chess/checkers/draughts board, and in this one I add some checkers that can glue to the…

Related

Filed Under: FillPattern, Games, Shape Data, ShapeSheet Formulas, Visio Tagged With: ShapeSheet, ShapeSheet Functions, Visio

About David Parker

David Parker has 30 years' experience of providing data visualization solutions to companies around the globe. He is a Microsoft MVP and Visio expert.

Primary Sidebar

  • LinkedIn
  • Twitter

Recent Posts

  • A visual exploration of Penrose Tiling in Visio
  • How SVG in Visio can cause a Shape.BoundingBox(…) error
  • Post-Processing Paste from Clipboard in Visio
  • Are Master Shortcuts useful in Visio?
  • Jumping between Shapes in Visio

Categories

Tags

Accessibility Add-Ins Connectors Containers Data Export Data Graphics Data Import Data Visualizer Educational Excel GraphDatabase Hyperlinks Icon Sets JavaScript LayerManager Layers Legend Link Data to Shapes Lists MSIgnite MVP Office365 Org Chart PowerApps PowerBI PowerQuery Processes Shape Data Shape Design ShapeSheet ShapeSheet Functions SharePoint 2013 SQL Teams Validation VBA Video Visio Visio 2007 Visio for the desktop Visio for the Web Visio Online Visio Services Visio Viewer Webinar

Footer

bVisual Profile

The UK-based independent Visio consultancy with a worldwide reach. We have over 25 years experience of providing data visualization solutions to companies around the globe.

Learn more about bVisual

  • Amazon
  • E-mail
  • Facebook
  • LinkedIn
  • Twitter
  • YouTube

Search this website

Recent posts

  • A visual exploration of Penrose Tiling in Visio
  • How SVG in Visio can cause a Shape.BoundingBox(…) error
  • Post-Processing Paste from Clipboard in Visio
  • Are Master Shortcuts useful in Visio?
  • Jumping between Shapes in Visio

Copyright © 2026 · Executive Pro on Genesis Framework · WordPress · Log in