Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
F

floor_plan

> 编程语言
Open source

Free-form Floor Plan Design using Differentiable Voronoi Diagram |Paper PDF| Publication Xuanyu Wu, Kenji Tojo, Nobuyuki Umetani, "Free-for…

357 stars0 likes0 views
WebsiteGitHub

About

Free-form Floor Plan Design using Differentiable Voronoi Diagram |Paper PDF| Publication Xuanyu Wu, Kenji Tojo, Nobuyuki Umetani, "Free-for…

Free-form Floor Plan Design using Differentiable Voronoi Diagram

|Paper PDF|

Publication

Xuanyu Wu, Kenji Tojo, Nobuyuki Umetani, "Free-form Floor Plan Design using Differentiable Voronoi Diagram," In Proceedings of Pacific Graphics 2024

Abstract

Designing floor plans is difficult because various constraints must be satisfied by the layouts of the internal walls. This paper presents a novel shape representation and optimization method for designing floor plans based on the Voronoi diagrams. Our Voronoi diagram implicitly specifies the shape of the room using the distance from the Voronoi sites, thus facilitating the topological changes in the wall layout by moving these sites. Since the differentiation of the explicit wall representation is readily available, our method can incorporate various constraints, such as room areas and room connectivity, into the optimization. We demonstrate that our method can generate various floor plans while allowing users to interactively change the constraints.

How to run

The demos are written in Rust. If you don't have Rust on your computer, please install the Rust development environment. Here is the list of commands that generate GIF animations of convergence.

The command cargo run --example 0_shapeA --release results in following animations (left: random seed = 0, right: random seed = 1)


The command cargo run --example 1_shapeB --release results in following animations (left: random seed = 0, right: random seed = 1)


The command cargo run --example 2_shapeC --release results in following animations (left: random seed = 4, right: random seed = 7)


The command cargo run --example 3_duck --release results in following animations (left: random seed = 0, right: random seed = 5)

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rust

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言