Interior Comfort Layout With Lighting and Plants

Biying Li
Generative Design Course
8 min readMay 9, 2024

Course: Generative Design | Spring 2024

Professor: Danil Nagy

Team Members: Xinze Xu, Cyril Xiao, Joanne Zhou, Biying Li

1 INTRODUCTION

For many people, keeping plants in their rooms would make their environment cleaner and make themselves brighter. However, the difficulties and required energy in taking care of a plant often threatened people from doing so. Some people’s plants might be in poor condition, and they are unaware of how to change them.

That’s when our product comes in handy. Our design is a small program that optimizes the layout of your plants and lights in the room so that your plants can get enough lighting necessary its thrive. Additionally, other aspects including the energy bill, the navigable space, and the diversity of plants, are also taken into consideration and measured by a series of scores. This could diversify your choice. You can have direct feedback on the quality of them and change their weights based on your own priorities.

2 DATA INPUT

2.1 Room Geolocation

Room Geolocation

After the user inputs their room location, this product will specify the project’s geolocation and employ Ladybug analysis to simulate outdoor sunlight scenarios for the bedroom accurately. This process helps us gather detailed exterior natural light exposure data, which serves as crucial input for subsequent interior environmental and lighting analysis, ensuring that the design optimizes both energy efficiency and occupant comfort.

2.2 Room Measurements

Room Measurements

Users could employ 3d scanning software to scan their room and upload to our product. The product would be analyzing the file and approximating it by a series of boxes representing walls and furniture.

2.3 Desired Species of Plants

Plants and Lighting Data Input
Desired Species of Plants

The user would input several desirable plants to place in its room. The name is the only necessary input. The algorithm would match it with the necessary data for further computing. In this prototype, this step is simplified by constructing a library with three types of plants.

2.4 Desired Amount for Each Species

This input parameter specifies the desirable amount of each plant the user wishes to place in the room.

2.5 User-defined Adjustment Coefficient

This is to determine which optimization factor is of the most importance to the user from a list of plants’ lighting condition fitness, daylight/ artificial light ratio, plant diversity, the navigable surface of the room, and energy efficiency.

3 BEHAVIOR LOGIC

Specify more info
Revise parametric

Based on the user’s selected plant species and numbers, we populate them at random points in the placeable spaces in the room. Then, the collision between plants themselves, as well as between plants and room enclosures, is detected and then solved by an algorithm. The placement of the plants determines where they are available for the arrangement of lamps. As the ramps are put into space, calculating sunlighting and artificial lighting states would be initiated, generating the lighting condition for each plant’s location point. Based on computations, parameters including lighting condition fitness, daylight/ artificial light ratio, plant diversity, the navigable surface of the room, and energy efficiency would be determined and combined to provide a score for each arrangement. The optimization process would maximize this score and find the optimal placement for lights and plants.

4 METHODOLOGY

Logic

4.1 Daylighting Simulation

Daylighting Simulation

The Ladybug plugin would simulate the daylight condition based on the room plan and the house’s geolocation.

4.2 Populate Points in the Room

With the furniture cutout, the room space becomes concave, which the Populate3D component in Grasshopper is incompatible with. So, we populate points in a large rectangle box area(without the cutout of the furniture) first and then move points generated inside the furniture and walls to the interior concave space.

4.3 Representing Different Species and Numbers of Plants in Python

The PlacingObj class is designed to represent individual plants within the room. When creating a PlacingObj instance, the constructor (__init__ method) is called with the necessary parameters: point, radius, height, enclosure, and plant_name. These parameters are used to initialize the attributes of the object.

The generate_plants function creates instances of PlacingObj for different types of plants based on user-defined input (plants_input).

For each plant type specified in plants_input, a corresponding number of PlacingObj instances are created with randomized positions within the enclosure.

The plant_name parameter passed to the PlacingObj constructor determines the type of plant to be created.

4.4 Detect and Resolve Collision

detect & resolve collision
Wall Collision
Self-Collision

Then we calculate the collision among plants and between plants and the room enclosures. First, wall collision, when the placing point approaches the wall closer than a given distance, it moves in the reverse direction a bit. Second, we calculate the self-collision; when two points are closer than the combination of the radius of the two plants they are representing, they would be moved to a reverse direction with the amount of the overlapping distance. If a point falls out of the room completely, it would be moved to the room center again.

4.5 Arrangement of the Lamps

Based on the placement of plants, we then try to define placeable surfaces for the lights. For the prototype, we imagined two kinds of light in this program, a large floor lamp, and a small table lamp. Here we show the design of a placeable surface for the floor lamp, the floor area is extruded to the height of the lamp, intersecting with the solid cylinders representing the plant.

Then, this intersection line is extracted and mapped to the floor area to cut out the placeable area.

4.6 Calculating Lighting Conditions

Calculating Lighting Conditions

Once the lights are placed, a honeybee/climate studio analysis of indoor lighting conditions will be generated and combined with the former daylight analysis to generate a general lighting condition for the entire room.

4.7 Generating Scores

The lighting conditions on each plant-placing point are generated. Combining daylight and artificial lighting, we defined the lighting amount for each point. Then, we compared the number to a fitness range of plants where the plants receive the most constructive amount of light. If the number falls in the domain, the score would be high. Otherwise, a smaller score would be generated based on the distance between the number and the fitness domain.

Other criteria include the daylight/ artificial light ratio, plant diversity, the room’s navigable surface, and energy efficiency.

Navigable surfaces are calculated using the same logic as placeable surfaces for lamps. The area of the surfaces is divided by the number of separated areas. Energy efficiency is based on the power of the lamps. Plant diversity would be related to the species and numbers of plants.

All the indexes would be remapped to a 0 to 1 domain. Then, the user would input a user-defined adjustment coefficient to decide the importance of each factor.

4.8 Optimization

The Galapagos component would maximize the score, here is the process and ten best scenarios.

The output of this project would be the ten best scenarios, each with specific scores so that the user has the freedom to choose from them.

6 GALAPAGOS INTERFACE RECORD

Galapagos

7 OPTIMIZATION PROCESS

optimization process

8 RESULTS PREVIEW

output to users

9 ANALYSIS OF RESULTS

Our design model optimizes the living environment by strategically arranging lighting and plant locations. This model provides a variety of layout options, ensuring that plants receive the right amount of light to thrive and prolong their lifespan while maintaining energy efficiency. Users can select the optimal configuration based on their specific inputs, such as natural lighting based on geolocation, lighting fixtures, and plant types. The design poses solutions to effectively arrange plants and lighting fixtures to maximize user experience and maintain high efficiency.

Currently, our model is a basic prototype capable of calculating a few types in a default room layout.

There are limitations to this prototype. For instance, by analyzing the results, we find the best arrangements employ a lot of hanging devices for the locating of the plants and vases. However, the installation fee for that arrangement isn’t a part of the optimization goal or the score. Another issue related to the navigability of the space is that 3d space might be hard to represent by 2d measurements. In those best scenarios, the space still seems to be narrow or inaccessible. An adjustment of the representation strategy is necessary for the future development of this program.

Our next steps involve expanding the model to accommodate more types of lighting fixtures, plant types, and room layouts. Additionally, the model still shows conflicts between lighting fixtures and doors, as well as issues with large plants hanging from ceilings. To improve optimization, we will establish more detailed and delicate rules in future iterations.

10 CONCLUSION

--

--