Roadmap

Last Updated: 4/22/2021

The roadmap for this project specifies three key phases with bullet points indicating desired features to be worked on.

Phase One - Room Prototype

The goal of this phase is to develop a foundation for the project and identify and implement key functionality. This phase will demonstrate the ability of genetic algorithms to arrange furniture.

  • Represent furniture objects in a 3D space.
  • Population is seeded with furniture having random position and rotation within the room.
  • Collision detection and resolution between placed objects.
  • Different “types”(tags) of furniture i.e. bed, chair, table.
  • A front facing or functional side for each “type” of furniture.
  • A basic genetic algorithm implementation with a function to determine room fitness.
  • Rooms have walls.
  • Rooms have doors.
  • Furniture must have a clear path to their functional side.
  • Furniture interactions i.e. chairs near tables, chairs face objects of interest.
  • The available open space should be maximized. (furniture grouped up or along walls)
  • Furniture that is aligned with other furniture on their axis is beneficial.

Phase Two - User Interaction

The goal of phase two is to allow user interaction to determine parameters like room size and furniture selection as well as exporting the result as an image, floor plan, or format for other 3D applications.

  • User can run and view a number of solutions interactively.
  • Save/load/reset.
  • Pause/continue.
  • User can scale the floor plan and specify which furniture to use.
  • User can scale and resize furniture models to represent real life parallels.
  • User Interface with buttons, previews, and multiple scenes.
  • Algorithm analytics and testing display.
  • Modify algorithm interactively.
  • Real-world measurments (meters and inches)

Phase Three - Feature Expansion

The final phase implements additional functionality while testing and refining.

  • Large furniture variety (e.g., electronics, kitchen, and bathroom.)
  • Interface Tooltips.
  • Object Highlighting.
  • Additional furniture types: decorative, lighting.
  • Export result to 3D model format (Editor Only).
  • Wall/ceiling fixtures.
  • Import and tag models/materials.
  • Automatic material/color selection.
  • Retrieve feedback from testing.
  • Snap to grid when positioning fixtures.

Timeline

Each phase will ideally last 1 month, but I would consider the completion of each phase an individual success if significant roadblocks occur.