建筑平面图生成式设计,​House-GAN++ | Mixlab建筑智能

我们知道建筑平面图设计可以通过泡泡图的方式来表达,这一概念与知识图谱的形态是类似的。设计师对泡泡图的理解就是用来可视化思考建筑平面的功能、动线等,而程序员对知识图谱的理解是一种数据结构及算法。

非常类似的概念,在各自的领域里理解也有各自的侧重点。

在2020年有一篇论文研究的是如何让计算机理解建筑平面图。计算机开始学习建筑设计图纸,今天计算机更进一步,开始练习如何设计平面图了~~ 

House-GAN++

Generative Adversarial Layout Refinement Networks

这是加拿大SFU大学关于建筑平面图生成的最新研究工作。作者提出一个基于GAN的自动平面图生成系统。一般专业的建筑设计师在设计平面图的时候会遵从以下三个主要步骤:

  1. 1 手绘一个泡泡图草图,这个图会包含房间数量,每个房间功能等这些简单的信息;

  2. 2 根据泡泡图画出不同的建筑平面设计(房间大小、房间布局、房间形状等)

  3. 3 收集客户的反馈并且改进

这是一个不断优化、循环的过程,建筑设计师为什么这么贵,大致的原因也在于此。作者通过此项技术,希望把建筑设计师这一设计过程的成本降低。

不同的泡泡图,生成各种建筑平面图

此项目作者还提供了一个在线的demo,大家可以体验下(入群获取)。

技术的进步,让我们脑力工作者更加轻松。

*待续

一个人的探索有些孤单,

一群人的探索会更有意思。

  加入社群

参与更多跨界交流

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是一个简单的 Django + MySQL 图书借阅系统的数据库代码: ``` python # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # 读者表 class Reader(models.Model): name = models.CharField(max_length=50, verbose_name='姓名') gender = models.CharField(max_length=1, choices=(('M', '男'), ('F', '女')), verbose_name='性别') phone = models.CharField(max_length=20, verbose_name='电话') email = models.EmailField(max_length=50, verbose_name='邮箱') create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') class Meta: verbose_name = '读者' verbose_name_plural = verbose_name def __str__(self): return self.name # 图书分类表 class BookCategory(models.Model): name = models.CharField(max_length=50, verbose_name='分类名称') class Meta: verbose_name = '图书分类' verbose_name_plural = verbose_name def __str__(self): return self.name # 图书表 class Book(models.Model): name = models.CharField(max_length=50, verbose_name='书名') author = models.CharField(max_length=50, verbose_name='作者') category = models.ForeignKey(BookCategory, on_delete=models.CASCADE, verbose_name='分类') publish_time = models.DateField(verbose_name='出版日期') publish_house = models.CharField(max_length=50, verbose_name='出版社') create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') class Meta: verbose_name = '图书' verbose_name_plural = verbose_name def __str__(self): return self.name # 借阅记录表 class BorrowRecord(models.Model): reader = models.ForeignKey(Reader, on_delete=models.CASCADE, verbose_name='读者') book = models.ForeignKey(Book, on_delete=models.CASCADE, verbose_name='图书') borrow_time = models.DateTimeField(auto_now_add=True, verbose_name='借阅时间') return_time = models.DateTimeField(verbose_name='归还时间', null=True, blank=True) class Meta: verbose_name = '借阅记录' verbose_name_plural = verbose_name def __str__(self): return '{0} {1}'.format(self.reader.name, self.book.name) ``` 以上代码定义了四个表:Reader(读者表)、BookCategory(图书分类表)、Book(图书表)、BorrowRecord(借阅记录表),并且定义了它们之间的关系。其中,Reader、BookCategory、Book分别表示读者、图书分类和图书,而BorrowRecord则表示借阅记录。每个表都有一些字段,用于存储相关信息。例如,Reader表包含姓名、性别、电话、邮箱等字段,而Book表包含书名、作者、分类、出版日期、出版社等字段。ForeignKey字段用于表示表之间的关系,例如Book表中的category字段就表示这本书所属的分类。在BorrowRecord表中,reader和book字段分别表示借阅的读者和图书。borrow_time字段表示借阅时间,return_time字段表示归还时间。在return_time字段中,设置了null=True和blank=True,表示归还时间可以为空,即借阅的图书还未归还。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值