Visual Computing

University of Konstanz
ACM Transactions on Graphics

Conjoining Gestalt Rules for Abstraction of Architectural Drawings

L. Nan, A. Sharf, K. Xie, T. Wong, O. Deussen, D. Cohen-Or, B. Chen
Teaser of Conjoining Gestalt Rules for Abstraction of Architectural Drawings


Paper (.pdf, 11.0 MB)


We present a method for structural summarization and abstraction of complex spatial arrangements found in architectural drawings. The method is based on the well-known Gestalt rules, which summarize how forms, patterns, and semantics are perceived by humans from bits and pieces of geometric information. Although defining a computational model for each rule alone has been extensively studied, modeling a conjoint of Gestalt rules remains a challenge. In this work, we develop a computational framework which models Gestalt rules and more importantly, their complex interactions. We apply conjoining rules to line drawings, to detect groups of objects and repetitions that conform to Gestalt principles. We summarize and abstract such groups in ways that maintain structural semantics by displaying only a reduced number of repeated elements, or by replacing them with simpler shapes. We show an application of our method to line drawings of architectural models of various styles, and the potential of extending the technique to other computer-generated illustrations, and three-dimensional models.


  acmid      = {2024219},
  address    = {New York, NY, USA},
  articleno  = {185},
  author     = {L. Nan and A. Sharf and K. Xie and T. Wong and O. Deussen and D. Cohen-Or and B. Chen},
  doi        = {10.1145/2070781.2024219},
  issn       = {0730-0301},
  issue_date = {December 2011},
  journal    = {ACM Transactions on Graphics},
  keywords   = {Gestalt, abstraction, simplification},
  month      = {dec},
  number     = {6},
  numpages   = {10},
  pages      = {185:1--185:10},
  publisher  = {ACM},
  title      = {Conjoining Gestalt Rules for Abstraction of Architectural Drawings},
  url        = {},
  volume     = {30},
  year       = {2011},