A few weeks back I put together these two as examples of how to create a procedural facades from a static facade image.
This image is from the fantastic project from Washington. They had a project to stitch images, and were good enough to publish some hi res street fronts. Charleston, South Carolina:
The second image is of the willard hotel - around the corner from the White House (image by dbking):
Some of the issues that came up:
- There is a limit to how far you procedural-ize. For example, windows in the above were atomic units. Tricks like content aware image resizing (seam carving et al) might help do this automatically.
- How do we tell if an element should scale or repeat with size? should some elements keep the same size and others be scaled relative to each other?
- In the vanishing case (as the facade become small) which elements disappear first?
- Negative space often plays a part (first met this concept in latex)
- Many different schemes for layouts (see Java's Swing for lots of examples) - only one data point (the input image) which do we use?
- Conflict between top-down (layout downwards - space subdivision at each step) and bottom up (components know how big they should be, eg a window, rather than a side of a house, knows how big it should be). Similar in principle to top down vs bottom up design arguments
- Many features to balance, and everyone's goals are different - feels a lot like software engineering.