Computer Generated Islamic Star Patterns

Download Report

Transcript Computer Generated Islamic Star Patterns

Computer Generated Islamic Star Patterns
Mustafa Shabib
Based on paper:
Kaplan, “Computer Generated Islamic Star
Patterns”, Bridges 2000
http://www.cs.washington.edu/homes/csk/til
e/papers/kaplan_bridges2000.pdf
1
What Are Islamic Star Patterns?
Over 1000 years ago, Muslim artists used these
patterns as architectural decorations
Typically found on mosques throughout the Islamic
world
They are called “star patterns” since they are most often
seen as the division of a plane into star-shaped regions
Geometrically intriguing, as the artists who created
them never revealed their techniques
Lastly, they look badass as you’re about to see…
2
Mind Boggling Examples
3
Technique Used
Start with a regular n-gon
For n >= 3, let the unit circle be parameterized via:
g(t) = (cos (2pt/n), sin (2pt/n))
Using a notation (n/d) where d is some number, we
can create an n-pointed star based on the original
regular n-gon
When d is an integer, we do this by connecting for 0 < i < n
the line segment si formed from g(i) and g(i+d)
 Certain restrictions apply on the variables mentioned: d
< n/2 and when d = 1 it creates the original n-gon
 For some values k  i, si intersects with sk and so a new
term, s, is introduced changing the notation from (n/d) to
(n/d)s where we now choose to draw only the first s subsegments of si
4
So That Probably Made Very Little
Sense…
5
Good Thing We Have Eyes
(n/d)s examples where d is an integer (and in this case n=8)
6
What if d isn’t an integer?
Kaplan is way better at math than I’ll ever be and so
he’s generalized this implementation to where d can
take on any value, as long as d is between [1, n/2)
Here, a point P is computed as the intersection of line
segments g(i)g(i+d) and g(i+ d - d )g(i + d )
Then the segment si is replaced with
two line segments g(i)P and Pg(i + d )
Hopefully, this figure clarifies
everything
7
Rosettes
When six-pointed stars are arranged in a certain
way, a new pattern emerges: each star is
surrounded by a ring of regular hexagons, called
rosettes
Tiling these rosettes in the plane leave behind
gaps, which in the example I’m about to show
happen to be more six-pointed stars
8
Rosette Example
9
More On Rosettes
The rosette, a central star surrounded by
hexagons, appears frequently in Islamic art but
is not limited to only six-pointed stars
This implementation has allowed for the
construction of the rosette to handle n-pointed
stars
10
Rosette Madness!
Steps to create these n-fold rosettes
Inscribe a regular n-gon in the unit circle and then another n-gon “tilted” so
that its vertices intersect the first n-gon’s edges
Let A and B be adjacent vertices of the outer n-gon and C and D be
adjacent vertices of the inner one, where D bisects AB
We then identify point E, which is the intersection of segment CD with the
angle bisector of OAB
Next we get point F which is the intersection of segment OA with the line
segment which passes through E and is parallel to OD
These steps are repeated around the n-gon
11
Eh?
12
Filling in the Plane
Using a periodic tiling of regular polygons across the plane
Then irregular polygons are “thrown in” as needed to fill gaps
For each regular n-gon where n>4, we make an n-fold star, rosette or
extended rosette to place in it and replicate this motif everywhere that
n-gon appears in the tiling. It is placed such that its points bisect the
edges of the n-gon
13
Final Steps
Where the motif isn’t placed, little gaps are left behind
To fill these gaps, the lines that terminate at the edges are
extended until the meet again in the void, and then the original
n-gon lines are removed, finishing the design
14
Rendering Styles
The output of this construction is a planar graph, which can be rendered in a
variety of ways





Plain: line representation of graph edges
Outline: lines are thickened and outlines darkened
Emboss: 3D effect is added to the lines where center of each edge is raised and one side is
darkened to simulate a light source
Interlace: line segments are added at each intersection to suggest an over-under relationship
between the crossing edges, where crossings are chosen so that the “over” and “under”
relationship is maintained
Checkerboard: renders only the faces of the graph and not the edges, and where all vertices have
an even numbered degree, a 2-coloring of the graph can always be achieved
•
Since Checkerboard doesn’t render edges, any of the edge-rendering techniques can be used to overlap
the checkerboard pattern, approximating a style called “Zellij”
15
16
17
Demo
http://www.cs.washington.edu/homes/csk/taprats/applet.html
18