GithubHelp home page GithubHelp logo

procedural-planning's Introduction

Procedural Planner

This is a work in progress procedural planning tool. The MVP will be able to procedurally generate areas such as a neighborhood, campus, estate or farm based on rules for placement of certain objects.

It is currently designed with four levels of abstraction in mind:

  • Zones

    Broad areas, in the 100's of meters, that contain multiple buildings and have a certain set of rules associated with them. An example might be a city zoning restriction.

  • Space

    What could traditionally be considered a building such as a house or shed as well as outdoor spaces such as lawns or forests. A space might have several related purposes or be general use. A space could encompass things both inside and outside. Probably in the 10's of meters.

  • Room

    A room inside a building or some subset of a space. Generally rooms will have a specific purpose and be sized to accommodate that use. Examples include bedrooms, ballrooms, storage, utilities, garden bed, grazing area, etc.

  • Feature

    This is a small feature of a room like a sink, door, window, wall or fence. These don't have to be in a room (in the case of a fence or wall), but can have a direction associated with them and can have several sub-features.

The configurations will be read from some sort of typed files (JSON could work in a pinch) and based on optimization factors such as total space, cost, distance between objects, etc. and rules such as number of windows, minimum space size, etc. will be used to generate the optimal layout and plan.

This plan will then be rendered in 2D and displayed to the user with options to save to a file and/or modify the constrains to regenerate.

procedural-planning's People

Contributors

emh333 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.