Procedural Design of Exterior Lighting for Buildings
with Complex Constraints

ACM Transactions on Graphics
Teaser
Our system addresses lighting design for buildings in a procedural modeling context. A procedural building model (a) is augmented by a procedural lighting design specification that expresses the desired lighting in terms of lighting goals, luminaire installation sites and constraints (b). For a concrete instance of this model, an according lighting solution (c; d: luminance visualization with a black / blue–green–red / white color map) is then automatically determined by our system.

Abstract

We present a system for the lighting design of procedurally modeled buildings. The design is procedurally specified as part of the ordinary modeling workflow by defining goals for the illumination that should be attained and locations where luminaires may be installed to realize these goals. Additionally, constraints can be modeled that make the arrangement of the installed luminaires respect certain aesthetic and structural considerations. From this specification, the system automatically generates a lighting solution for any concrete model instance. The underlying, intricate joint optimization and constraint satisfaction problem is approached with a stochastic scheme that operates directly in the complex subspace where all constraints are observed. To navigate this subspace efficaciously, the actual lighting situation is taken into account. We demonstrate our system on multiple examples spanning a variety of architectural structures and lighting designs.

Citation

Schwarz, M., Wonka, P. 2014. Procedural design of exterior lighting for buildings with complex constraints. ACM Transactions on Graphics, 33, 5, Article 166
@article{Schwarz:2014:ProcLightingDesign,
    author  = {Michael Schwarz and Peter Wonka},
    title   = {Procedural Design of Exterior Lighting for Buildings with Complex Constraints},
    journal = {ACM Transactions on Graphics},
    volume  = {33},
    number  = {5},
    year    = {2014},
    month   = aug,
    pages   = {166:1-166:16}
}