hansvm
The general strategy of creating a differentiable representation of a problem and simply describing the constraints is pretty powerful. See also databases (allowing arbitrary knowledge storage to be a tightly integrated part of a larger ML problem), graph layouts (you can do _way_ better than something like graphviz if you add arbitrary differentiable characteristics as constraints in generation -- mixing and matching between the better parts of normal layout routines using your human intuition to say what's important about this graph in particular), ....
szvsw
pimlottc
I'm no architect, but surely the precise details of the exterior walls are decided based on the floor plan, not the other way around? Seems odd to assume the walls are fixed before the floor plan has been determined.

Of course, the shape of the lot and other physical factors put general limitations on the bounds of the house, but filling the entire lot isn't usually the primary goal.

Maybe it's more useful for a renovation?

foota
This is fascinating to me because I once tried to take a (vaguely) similar approach to generate a procedural city layout, taking a voronoi diagram, and then doing some modified flood fills to create buildings within the city while leavings streets.

It feels to me like their approach could be used for this as well, since there's of course nothing that requires it to only be used for generating floor plans.

javier123454321
Geez, as architecture these plans are absolutely horrible and produce unusable spaces. As an abstract math problem, it seems marginally useful, but I would not want to live in a place laid out by this algorithm.
ivanjermakov
I understand that this might be out of scope of the project, but floor plan design is more convoluted than filling the space with some constraint.

Necessary things to respect:

- recrangular rooms: non-straight angles are hard to work with

- windows: unless this is a plan for the underground floor

- water/waste water supply/vent shaft: for multi-floor buildings cannot be moved

- personal needs: some people need lots of storage space, some a room to play videogames, some a huge kitchen with an isle. All of that must be reflected in a good floor plan

With that said, I feel like this project might be good for less serious application like procedural game design, but is too naive for real architectural use.

geon
What do the cells represent, and why are they more dense in some spots?
digilypse
Really cool. Could see this being used for generative video game assets
rurban
Cool. In the 90ies I thought similar approaches at our university, and we had practical examples of such constraints. In general city planning was much easier than structural buildings, because gravity and building rules are much stricter than city planning riles, which are trivial.

We also had rules layed out graphically, and did a substitution process in the optimizations.

Neufert did help much more than Christopher Alexander.

elihu
This is cool, in part because it's similar to an idea I had awhile back but didn't know how to actually implement it.

The way I imagined it working was one Voronoi cell per room, but with a tweak where the Voronoi cells are weighted such that you can grow or shrink a Voronoi cell to fit whatever use you have for the room. (At which point it wouldn't really be a Voronoi diagram anymore, but I don't know if there's a name for this other thing. It ought to at least theoretically be possible to compute, because the way soap bubbles stack in 3 dimensions doesn't require all the soap bubbles to contain an exact quantity of air.)

You could make the case that that isn't really necessary, since you can adjust Voronoi cell size just through the strategic placement of its neighboring cells, but it seemed useful to have an extra axis of control.

The outer surfaces of the building could be given dome shapes, but it may be more aesthetically pleasing to give them the same angular surfaces as the interior walls by having "imaginary" cells bordering the outside that aren't part of the finished building but instead define its shape.

I'd imagine the building could either be 3d-printed, or it could be constructed out of flat wall panels that are made in a factory, shipped to the building site, and bolted together (or affixed some other way) at the edges.

The wall panels could also be shaped so that they form shelves or other usable surfaces out of the strange angles (especially the non-vertical walls).

Ideally you'd have some program that can endlessly generate floor plan variations based on user input and site geometry, and then lay out all the plumbing and wiring and verify that it meets structural constraints, and the whole design manufactured and assembled without any human designer in the loop at all. No two houses need ever be exactly alike, every major component manufactured on-demand from standard material inputs.

This would all be pretty hard to setup in reality, but it's how I imagine new construction in near-future science fiction cities, and eventually space habitats working. You spin up an O'Neil cylinder, and some program generates a layout to fill much of the interior with soap-bubble cities like massive mege-structure apartments, but without any repetition. Every neighborhood different than every other, maybe with some common stylistic elements to distinguish one part of town from another, but every location unique, like nature.

redandblack
This will be great for deciding on voting districts
IshKebab
Uhm shouldn't the rooms be rectangular? You don't see many polygonal rooms for obvious reasons...