latentspace.

Plot shape estimator

How many shapes does the plot have? 🏷️

The shapes of plots in Seoul are highly diverse. They include flags, squares, long-squares, trapezoids, triangles and other forms that are difficult to define, and a building exists within each plot. Since architects design within a given plot, the direction of the design may change depending on the shape of the site.

An architect empirically judges the shape of a plot and develops the design accordingly. For an excessively long-square shape, the architect scales the building down along the long-side axis. For a triangular plot, the architect designs the building to eliminate acute angles. In this way, a person can subjectively judge the type and define the shape.
Somewhere in Seoul
Somewhere in Seoul

The question, then, is how a computer can determine and define the shape of a plot. This article examines how computers can determine the shape of a plot and support the development of designs.


Properties of the plot

A plot is an individual 2D geometry, and expressions such as long, short, round, and pointed are related to the properties of that geometry. The question is how a computer can be made to understand such properties. The first step is to define the properties of the plot. The most common plot shapes are considered here, and they are shown below.
Most common shapes of plots From the left, square · flag · trapezoid · long-square · triangle
Most common shapes of plots
From the left, square · flag · trapezoid · long-square · triangle

The square and long-square shapes can be defined based on the aspect ratio, the sum of the interior angles(360'), the bounding box ratio, and similar measures. Similarly, the triangle shape can be defined by the sum of its interior angles(180'). In general, the defining feature of a flag shape is that the shape obtained by subtracting the flag shape itself from its convex hull is a triangle. Finally, the trapezoid shape can be defined by the number of triangles obtained by subtracting the trapezoid shape from its bounding box. These properties are visualized as follows.
Properties of each plot
Properties of each plot

Generate training data

To teach the computer the properties of each plot, data must be generated. A person understands information visually, whereas computers only understand numeric values. Therefore, all properties must be converted into numeric form. For this purpose, a PlotData object is defined. PlotData has properties defined above. However, these properties alone do not fully categorize the shape of the plot. This can be regarded as a primary classification task for training the computer.

As noted above, examining the preprocessed data reveals plots that are classified differently from the defined properties. After the misclassified data is filtered out once more and the end data is generated, the computer is ready to be trained. The structure of the end data is as follows.
End data of the flag plot (defined ShapeLabel )
End data of the flag plot (defined ShapeLabel)

Plot shape estimator

As the detailed background in machine learning is beyond the scope of this work, the detailed training procedure is omitted here. All of scikit-learn's classification models were tested, but their performance was lower than expected, so a TensorFlow sequential model was used instead.

From testing a few cases, a usable model appears to have been created as a prototype, although the result is not yet fully satisfactory. With this model, the computer can be directed to decide the direction in which to cut the mass.
Getting mass
Getting mass