Procedural modeling of Muqarnas

From FDHwiki
Jump to navigation Jump to search

Introduction & Motivation

Example of Muqarnas structure

Muqarnas is a type of 3D ornamentation used in Islamic Architecture. This form of ornamentation was first developed during the Abbasid Empire. It is a complex stalactite vaulted structure composed of different units arranged one on top of another and spanning several tiers. The primary purpose of Muqarnas was to create a transition between a circular dome and the square structure beneath it.

This project uses procedural modeling to recreate several types of 3D Muqarnas models based on fixed sets of rules.


The logic followed to recreate 3D muqarnas models is mainly based on the book Miftah al-Hisab, Volume II: Geometry written in 1427 by Jamshid Al Kashi, a 15th century Persian mathematician and astronomer. In this book, Al Kashi tries to simplify complex geometric calculations in a way that lets artisans who do not have a thorough mathematical understanding to efficiently and accurately perform calculations necessary for taking measurements of the structures they are constructing.


The third section of his book On the surface area of the muqarnas contains three key points interesting for our project:

1. Muqarnas Definition

2. Muqarnas elements

3. Muqarnas Types


Muqarnas Definition

In his book, Al Kashi gave the following definition of a Muqarnas:

“A muqarnas is a stair-like ceiling that has facets and a surface. Each facet intersects with its adjacent either on a right angle or half a right angle or the sum of one and a half right angles, or others. The two facets can be thought of as perpendicular to a plane parallel to the horizon. Built over these two facets is a plane not parallel to the horizon, or two planes, or two curved surfaces, which are the ceiling of the facets. The two facets along with their ceiling are called a cell. Adjacent cells with bases on the same plane parallel to the horizon are called a tier. The length of the base of the largest facet is called the module of the muqarnas.”

Facet and roof of a Muqarnas cell
Intermediate element connecting two adjacent cells
Tiers of a Muqarnas

Facet: vertical side of a unit

Roof: plane not parallel to the horizon, or two planes, or two curved surfaces on top of the facets

Cell: two facets along with their roofs

Intermediate element: surface, or two joint surfaces, connecting the roofs of two adjacent cells

Tier: Adjacent cells with bases on the same plane parallel to the horizon

Module: length of the base of the largest facet

Muqarnas elements

Al Kashi describes five types of elements. The two main ones are the square and the rhombus, whose sides are equal to the module defined. Other elements mentioned are the Almond, Biped and Barley-Kernel.

Muqarnas Types

1. Simple Muqarnas: the ceilings have plane surfaces only

2. Clay-plaster muqarnas: simple muqarnas but the tiers do not have the same height

3. Curved muqarnas: surfaces of the ceilings are curved

4. Shirazi-style muqarnas: like curved muqarnas but with a larger variety of elements

Elements defined by Al Kashi
Curved Muqarnas construction

Methodology

Create the shapes in 2D

The first elements we constructed on Grasshopper are the base shapes found in the floorplans of muqarnas. Each of these shapes has at least one segment with a length equal to the module: we will call it the Module Segment.

The Dold research paper on Al-Kashi’s book explains the geometrical steps to construct them. However, we also need to parametrize our shape builders – that is, allow them to produce a shape from any set of input points in the XY plane and any module length while still respecting the geometrical rules of construction. To do so, we implement each shape using a three-point system:

- The origin: one vertex of the shape, it always corresponds to one end of the Module Segment. The origin is often the first vertex mentioned in the construction process and from which the other vertices of the shape are built.

- The direction point: a point which determines in which direction from the origin the Module Segment will be built. It does not correspond to any vertex of the shape, unless placed one module away from the origin.

- The symmetry point: this point is placed on either side of the vector created by the origin and the direction point and determines on which side of the Module Segment the rest of the shape will be built. It does not correspond to any vertex of the shape.

Each shape builder takes these three points and the module length as inputs and returns as outputs the shape (as a curve) and each of its vertices.

With this system, we can easily build shapes tessellating next to each other, by connecting one shape’s vertices to another shape builder.

All the base shapes with the origin highlighted

Transform the shapes in 3D

The next step is to obtain the 3D elements from the base shapes. There are 3 types of elements: a cell for a full-shape, an intermediate element, and a cell for a half-shape.

The Arc from the Method of Masons

We build the arc according to which the base shape will be projected in order to form a cell. The construction process of this arc is detailed in the Dold research paper. With the first few steps of the process, we create the Simple Arc.

Construction of the Simple Arc

The rest of the process allows us to create the Curved Arc.

The 3D Projection

The process to create an intermediate element identical to that of the full-shape cell, except that we select different segments along which to construct the arcs.

Create the 2D plan and the 3D volume

Project Plan

The project is separated in three main goals: identify the historical document to use, develop the procedural modeling methods and perform the modeling. The following table provides the project plan:

Date Task Completion
By Week 3
  • Choose three interesting project ideas.
  • Prepare presentation slides for each project idea.
By Week 4
  • Initial tutorial: Introduction to Rhino and Grasshopper.
By Week 5
  • Rhino and Grasshopper applied exercises.
  • Think of a definition of the context, content and outcome of the project.
By Week 6
  • Grasshopper implementation of Islamic 2D star pattern
  • Researching Abu al Wafaa al Buzjani's manuscript "On those geometric constructions that are necessary for a craftsman"
By Week 7
  • Find the steps traditionally followed by craftsmen to construct muqarnas.
By Week 8
  • Understand the construction methods described by Al Kashi's manuscript "Methods of the masons'.
  • Identify different components used in Al Kashi's book to construct Muqarnas.
  • Learn how to calculate the curvature coefficient for curved Muqarnas.
  • Understand how to calculate muqarnas surfaces using Al Kashi's method.
  • Implement the basic shapes in 2D.
By Week 9
  • Work on the grasshopper 3D model.
  • Parametrize the 2D basic shapes with a 3 point model, which will be useful to create the 2D plan.
  • Model the 3D cells of each shape for simple Muqarnas.
By Week 10
  • Midterm presentation: Prepare slides for the midterm project presentation.
  • Layout steps to create 2D muqarnas plans in a procedural way.
By Week 11
  • Complete the parametric 2D plan on Grasshopper.
  • Identify the position of basic shapes on the plan.
  • Identify the outline of each tier of the Muqarnas.
By Week 12
  • Start applying the 3D shapes on the 2D plan of the model.
  • Calculate the surface of the Muqarnas following Al Kashi's method.
  • Compare the results to the surface calculated on Grasshopper.
By Week 13
  • Final changes and fine tuning of the model.
  • Implement curved muqarnas (only changing the arc is necessary).
  • Complete the final report and wiki.
By Week 14
  • Final presentation.

Results

3D shapes

3D shapes with curve

Simple Muqarnas

Curved Muqarnas

Limitations

Future work

In the future, it would be interesting to have a fully automatic way to generate Muqarnas, where the user would be able to choose the type, a base shape, and the number of tiers as input and would get all the different muqarnas combinations possible as output.

The work could also be extended to cover Clay-plastered and Shirazi style Muqarnas.

Another interesting possibility would be to calculate the surface area of the Muqarnas based on the method that Al Kashi formulates in his book and compare it to the actual surface calculated on Grasshopper.

Github Repository

Procedural Modeling of Muqarnas

References

Literatures

  • Al-Kashı-'s Miftah al-Hisab original manuscript: Qatar National Library
  • Nuh Aydin, Lakhdar Hammoudi, Ghada Bakbouk, Al-Kashi's Miftah al-Hisab, Volume II: Geometry: Translation and Commentary 1st ed. 2020 Edition, Birkhauser
  • Dold‐Samplonius, Yvonne. (2007). Practical Arabic Mathematics: Measuring the Muqarnas by al‐K¯ash¯i. Centaurus. 35. 193 - 242. 10.1111/j.1600-0498.1992.tb00699.x.
  • Hamekasi, N. & Samavati, Faramarz & Nasri, Ahmad. (2011). Interactive Modeling of Muqarnas. Proceedings - CAe 2011: International Symposium on Computational Aesthetics in Graphics, Visualization, and Imaging. 129-136. 10.1145/2030441.2030469.

Tutorials