190 likes | 355 Views
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/tile/papers/kaplan_bridges2000.pdf. What Are Islamic Star Patterns?.
E N D
Computer Generated Islamic Star Patterns Mustafa Shabib Based on paper:Kaplan, “Computer Generated Islamic Star Patterns”, Bridges 2000http://www.cs.washington.edu/homes/csk/tile/papers/kaplan_bridges2000.pdf
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…
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 sub-segments of si
Good Thing We Have Eyes (n/d)s examples where d is an integer (and in this case n=8)
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
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
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
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
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
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
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”
Demo http://www.cs.washington.edu/homes/csk/taprats/applet.html