Automatic Design Generation of Non Regular Architecture

Chu-Ming Ng, Tiow-Seng Tan, Joseph Lim, Yenn-Jin Ho, Wai-Heng Lai

National University of Singapore


Project Synopsis:

This work comprises an attempt towards automatic generation of non-regular building forms such as that of Moshe Safdie’s Habitat ’67 that features the ability for the user to pause and interactively manipulate unit shapes and subsequently resume the generation process. Below are some screenshots of the some of the shape manipulation features implemented and some videos(in .mp4 for) of the actual usage of the software. Each unit in the program runs a user configurable AI program that will be run as a callback function during every simulation time step. Technicalities of designing the above routines include problems like robust collision detection, environment knowledge, and optimization of user defined parameters. To generate novel unit shapes, the collide-and-extrude feature is implemented and it involves addressing issues of potential arbitrary shapes that can result when faces collide. This work also features novel data structures and algorithms that generate floorplans based on a proposed complexity metric and subsequently performs automatic form completion (i.e. integration of the floorplan into the existing model).

The project includes the following features,

  • Object Picking and Selection
  • Extrusion of geometry by clicking and dragging on faces
  • Object slicing via selection and specifying a line segment cutting across the selected object.
  • Rendering modes
    • Sorted transparency with depth-cued edges
    • Solid rendering with lighting and shadows using shadow mapping
  • "Collide and extrude" for novel shape generation using 3D boolean operations
  • Cg shaders for units' view computation during simulation
  • Novel Shapetree datastructure for floorplan generation
  • A new complexity metric for classifying and generating floorplans of particular complexity
  • Floor plan generation and realization
  • Floor plan sizing with constraints on placement/position of selected edges(walls)
  • Floor plan optimization using adapted algorithm in [Kreveld and Speckmann 2004]
  • Halfedge data structure using CGAL library for geometry representation
  • Automatic balcony computation and geometry generation
  • Automatic roof geometry generation
C++ and Object oriented techniques used include,
  • Observer and Singleton Design Patterns
  • C++ Templates, nested templates and template traits
  • boost C++ library
  • STL

(Stripped of MFC generated code, the project amounts to > 40k lines of code.)

Object Slicing:

SlicingVideo.avi (mp4 format, use Xvid codec here )

Collide and Extrude:

The program implements the ability for the user to drag faces and on contact with faces of other units, invoke the collide-and-extrude feature. See screenshot below for illustration. This seemingly trivial operation involves geometric robustness issues and requires properly handling using computational geometry techniques. This is due to the faces that collide can possibly be arbitrary non-simple and the collision may result in multiple disjoint and non-simple faces.

CollideAndExtrude (mp4 format, use Xvid codec here )

Large Scale Form Generation and Shadow Control:

The following pictures show the initial model, the partially completed model at a particular time slice, and shadow placement using the placement widget on the top right.

 

SimulationAndShadow.avi (mp4 format, use Xvid codec here)

Automatic Form Completion

The system features a floorplan generation module that allows the user to generate level floorplans based on a metric controlling the complexity of the output floorplan. The left image below shows the user interface for the generation and selection of floorplan and the right image below shows the form completion engine automatically integrating the floorplan into the existing model.

 

Automatic Balcony Computation


The program intelligently computes balconies from open, unobstructed roof slabs and automatically creates balcony geometry (see pink colored faces in the above picture) for them. The program takes care of overlapping between units across 2 levels and computes balcony geometry only for places where there are no safety at the roof edges. This requires computational geometry techniques for evaluating shapes and 2D polygon boolean operations.

Automatic Roof Geometry Generation

The program also feature the automatic generation of roof models for arbitrary building footprints. This is achieved using polygon straight skeleton methods in computational geometry.

Partial Blown Up of Completed Model Regions.

The following pictures show artist impressions of part of a completed example model with the AI routines programmed to fulfill the requirement of having outdoor space per generated unit.

 

 

References

    KREVELD, M., AND SPECKMANN, B. 2004. On rectangular cartograms. In LNCS, vol. 3321, 724–735.