Visual Computing

University of Konstanz
ACM Transactions on Graphics

Structure-preserving Retargeting of Irregular 3D Architecture

J. Lin, D. Cohen-Or, H. Zhang, C. Liang, A. Sharf, O. Deussen, B. Chen
Teaser of Structure-preserving Retargeting of Irregular 3D Architecture


Paper (.pdf, 28.6 MB)


We present an algorithm for interactive structure-preserving retargeting of irregular 3D architecture models, offering the modeler an easy-to-use tool to quickly generate a variety of 3D models that resemble an input piece in its structural style. Working on a more global and structural level of the input, our technique allows and even encourages replication of its structural elements, while taking into account their semantics and expected geometric interrelations such as alignments and adjacency. The algorithm performs automatic replication and scaling of these elements while preserving their structures. Instead of formulating and solving a complex constrained optimization, we decompose the input model into a set of sequences, each of which is a 1D structure that is relatively straightforward to retarget. As the sequences are retargeted in turn, they progressively constrain the retargeting of the remaining sequences. We demonstrate interactivity and variability of results from our retargeting algorithm using many examples modeled after real-world architectures exhibiting various forms of irregularity.


  acmid      = {2024217},
  address    = {New York, NY, USA},
  articleno  = {183},
  author     = {J. Lin and D. Cohen-Or and H. Zhang and C. Liang and A. Sharf and O. Deussen and B. Chen},
  doi        = {10.1145/2070781.2024217},
  issn       = {0730-0301},
  issue_date = {December 2011},
  journal    = {ACM Transactions on Graphics},
  keywords   = {irregular 3D architecture, model retargeting},
  month      = {dec},
  number     = {6},
  numpages   = {10},
  pages      = {183:1--183:10},
  publisher  = {ACM},
  title      = {Structure-preserving Retargeting of Irregular 3D Architecture},
  url        = {},
  volume     = {30},
  year       = {2011},