GSTF JOURNAL ON COMPUTING VOL.2 NO.1, FEBRUARY 2012 1 An Approach for Constraint Based Heuristic Method of Generating Houses and Building Blueprints for Real-time Applications Daniel Sanchez, Elio Lozano, and Juan M. Solá-Sloan Abstract—Most city-generation computer graphic algorithms are focused on creating exteriors by extruding some random shapes. The problem with this approach is that the interiors are ignored. This paper presents a series of algorithms and heuristics to generate building blueprints of single or multi-floor houses. The type and cost of the building establish the lot space available for it. In the case of a single floor, rooms with their corresponding doors and windows will be placed on the space randomly by following a set of conditions that dictate where the rooms can be placed with respect to each other. In the case of multiple floors, the first floor contains public rooms only; the upper floors contain private rooms. The algorithm’s output consists of a two- dimensional drawing of the floor plans and a three-dimensional model of the generated house. The experiments show that this algorithm can generate a large number of houses in a short period of time. Index Terms—blueprint, automatic interior design, procedural generation I. I NTRODUCTION Today’s hardware has the capability to create virtual en- vironments at run time. Procedural generation is a method used for generating artificial environments at run time, such as structures, buildings and parts of cities, which are used in computer games and animated movies[1]. An alternative to procedural generation consists of hiring artists that design the environment. Usually this environment follows an architectural style based on the taste of the artist. However, this method is time consuming. Artists have to modify the architectural style every time it is required [2]. In contrast, procedural generation uses fewer resources than applications that store all pre-modeled content in memory [3]. There are games that already use this approach such as The Elder Scrolls, Oblivion [4] and Borderlands [5]. During the last decade, many researchers have focused on procedural generation [6], [7], [1], [3]. In [8], [9], Martin proposed an algorithm to dynamically generate plans for single-level houses using procedural generation. This research is focused in extending Martin’s work. Various algorithms for generating basic floor plans for single- and multi-level houses were created. First, the Non-Specific Room Placement (NSRP) algorithm places rooms without any constraints on the type of room to be included in the blueprint. Second, the NSRP was extended to include the architectural patterns presented by Daniel Sanchez is with Polytechnic University of Puerto Rico Elio Lozano and Juan Sola-Sloan are with University of Puerto Rico at Bayamón, 170 Road # 174, Parque Industrial Minillas, Bayamón, Puerto Rico Alexander in [10]. This version of the algorithm was called the Specific Room Placement (SRP) algorithm. These algorithms are not primarily focused on constraint optimization [11], however, they implement heuristic methods to determine the placement of rooms. In addition, these algorithms have the capabilities to place windows and doors. Another set of algo- rithms that uses extrusion of a 2D blueprint has been included for generating the 3D respresentation of the single- and multi- level houses. Tests were conducted for the various placement algorithms varying the type of house/building, the number of houses/buildings, and the number of floors. Finally, ideas that extend this research to generate different architectural structures have been proposed. These structures vary from houses to buildings. This article is structured as follows. Section II contains works related to research carried out. Section III presents the algorithms used to generate the floor plans for single and multiple story structures. Section IV shows the results for the different floor plan algorithms. The main conclusions and future directions of this research are presented in the final section. II. RELATED PREVIOUS WORK Procedural generation is not new. Others have proposed methods for the generation of content for computer games and movies. Lindenmayer and Prusinkiewicz [12], [13] introduced L- systems which are formal grammar used to generate building and cities dynamically. This grammar was used in [14]. However, this is not the only work that uses grammars. Shape grammars are used in [15], split grammars in [16] and a database of grammar rules in [17]. In [8], [9], Martin shows methods to procedurally generate single-level houses based on architectural patterns presented by Alexander in [10]. These architectural patterns (or rules) advise how rooms, doors and windows are organized. Among these rules are: lot space available must not be completely filled by rooms; the bedrooms need windows and should contain an outer wall; a bedroom must contain two set of windows, hallways and staircase placement. These rules were included in the development of the algorithm. There are other classical methods used to generate architec- tural structures at run-time. Extrusion of 2-dimensional poly- gons is another technique used to generate three dimensional models of terrains [2] and buildings [6]. In [6], [7], the building DOI: 10.5176_2010-2283_2.1.154 GSTF Journal on Computing (JoC) Vol.2 No.1, April 2012 220 © 2012 GSTF brought to you by CORE View metadata, citation and similar papers at core.ac.uk provided by GSTF Digital Library (GSTF-DL): Open Journal Systems (Global Science and Technology...