My Micro-Home

Hyosil Yang
Generative Design Course
6 min readDec 21, 2021
Project Concept _ Customize your Micro Home
My Micro-Home options based on routine of a user

INTRODUCTION

The topic of living and working space has enjoyed a spotlight in recent years as the value of space in major cities increases, and as the global community searches for ways to redefine productive, healthy environments that promote holistic lifestyles. Just over the last year and half as COVID-19 took over our typical lives, quarantines and large periods of ‘work from home’ forever altered the ways in which we use our personal spaces. Never before have our living rooms and kitchens enjoyed such critical analysis than during the pandemic. How a home, office or other living space is arranged to facilitate a routine can have a subconscious or conscious long-term impact on productivity and even overall comfort. As a response to these issues this investigation proposes a solution that relies on user preferences to generate designs tied to lifestyle choices.

My Microhome optimizes the use of a wall in a typical micro-home by maximizing the distribution of activities across it. We chose specifically to use a micro home as a precedent for the design space because compared to typical apartments which are usually designed for efficiency in plan, a micro home forces our attention on any available space in the unit, including walls, ceilings and floors. For the purpose of this optimization we isolate a wall in a micro home and designate certain furniture that can fold out and into the wall to allow for the best use of space elsewhere in the apartment. To generate a Microhome wall, the user inputs their lifestyle, sets a routine for the wall to follow, and then selects a single design option that best suits their needs.

The process of accomplishing this design task without optimization while not impossible would be tedious and difficult to maintain consistently. By deploying design through generation, multiple solutions can be created quickly allowing designers to focus on finishes without worrying about placements. Additionally the average designer could miss opportunities just based on the sheer number of options developed through the ‘Discover’ process.

COMPARISON

Our team was interested in the article from the site Code InComplete; specifically, we referenced “Binary Tree Bin Packing Algorithm” by Jack Gordon.

In it, Gordon tackles the challenge of developing a bin packing algorithm to pack rectangular blocks with specific dimensions into a single, fixed rectangle. The article helpfully outlines the goals Gordon wants to achieve as well as the challenges and options he discovered, detailing the solutions he created as well as the why behind his decisions. We acknowledged ‘bin packing’ as one way to pack a space full of objects using subdivision, but we wondered how the notion of ‘efficiency’ might look different when it comes to an individual’s living space, where unique design, preference, the ability to feel emotionally connected to a space might trump packing the space with as many pieces as possible. We therefore took an object-oriented approach, specifically objects reacting to each other based on some predefined behaviors.

METHODOLOGY

The computational design process

Inputs

The project begins by allowing a user to define a specific routine. In doing so, a series of suggested items/furniture populate a catalogue. We used to a JSON text file to define each item’s name; dimensions, in this case width and height (all typical furniture sizes); constraints on location, some items when placed on a wall have to be a certain distance from the ground in order to remain functional (i.e. the surface of a table should be no higher than 2.5 feet); and adjacency, meaning other items that would sit in proximity to said item in order to establish a pattern of use.

This data list was then converted into point locations randomly generated using the Discover: Continuous input parameter that were constrained in range only by a specified “wall” boundary. These point locations were then passed through another python script to receive a series of behavioural treatments in order to decide their final locations for evaluation. The python behaviours are defined as follows:

a) Constrain: Keeping the newly generated locations within the same bounding box they were generated in. Also implementing the ‘height constraint’ input specified in their JSON profile by raising the center points to a specific ‘y’ value.

b) Collide: Evaluating whether or not the ‘widths’ and ‘heights’ of the rectangles surrounding the center points overlap, and if so, moving them in the ‘x’ and ‘y’ directions so that their collective dimensions are no longer overlapping.

c) Cluster Adjacencies: Pulling items designated ‘adjacent’ in their JSON profiles closer together by applying a clustering logic: if the distance between ‘adjacent’ objects is greater than their combined widths and heights, move them closer together.

Outputs

Generated outputs include new item locations (based on a new center point) and number of adjacencies established. We associate the original dimensions of the items to the newly generated center points and produce a bounding area. We multiply this new bounding area by the established quantity of adjacencies and in doing so create an objective to maximize the potential area these items can occupy inside the wall boundary while increasing their adjacency.

Optimization logic comparing minimizing area to maximizing area.

RESULTS

Optimal outputs generated through Discover

The model was able to generate ideal options based on JSON preferences. The image above demonstrates that it did take a certain number of generations for the model to recognize and eliminate overlap, and move the items in their optimal positions based on adjacency. The Discover plot was set up to output 20 designs per generation over 10 generations at a mutation rate of 0.05.

Having Discover do the work of finding an optimal location for key items in a wall allows designers to focus on how to infill the space between these items, and create actual “homes” out of generated spaces.

Spaces completed by designer

CONCLUSIONS

More can always be done, the model developed here is simple and at times predictable. There is room to introduce a wider variety of items and integrate a broader hierarchy for implementation in order to provoke objectives that generate a more searchable model. There are also opportunities to introduce different types of the same functions generating ever more possibilities for the user.

There is, however, an excitement surrounding the possibility of extending the hand of the designer to the user directly through the kind of methodology My Microhome attempts to define. The notion that a user can design a space based on parameters that they are most familiar with, like their own routines, is a novel approach to architectural and interior design, both of which are professional careers and usually involve years of drafting experience and education. My Microhome expands the role of an architect/designer in the sense that it removes the routine and predictable work that takes so much time away creating a space. Direct user and designer exchanges see the generative model become a catalyst for collaborative and participatory design.

My Micro-Home

Team members :
Adrianna Fransz, Anoushaé Eirabie, Francesca Doumet,
Hyosil Yang, Leo Di Wan

--

--