CN107452055B - 三维户型图生成方法及装置 - Google Patents
三维户型图生成方法及装置 Download PDFInfo
- Publication number
- CN107452055B CN107452055B CN201710673386.6A CN201710673386A CN107452055B CN 107452055 B CN107452055 B CN 107452055B CN 201710673386 A CN201710673386 A CN 201710673386A CN 107452055 B CN107452055 B CN 107452055B
- Authority
- CN
- China
- Prior art keywords
- wall
- door
- window
- module
- processed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供的一种三维户型图生成方法及装置,涉及计算机图形技术领域。所述方法包括:响应用户点击操作获取基础点。其中,所述基础点包括至少一组起始位置及终点位置。根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体;响应用户点击操作选中待处理墙体;对所述待处理墙体进行门窗位置标记,以获得门窗标记;根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图。使用者仅需通过点选,即可获得建立三维户型图,实现模型建立更简单,提高三维户型图的建立效率,更容易推广。
Description
技术领域
本发明涉及计算机图形技术领域,具体而言,涉及一种三维户型图生成方法及装置。
背景技术
三维建模为计算机图形技术领域的重要部分。三维建模技术在如今各个行业都有很好的应用(例如,机械制造、地产、影视等)。也为加速各个领域的发展做出了贡献。以地产领域为例,使用三维建模技术建立的三维户型图相较于之前的二维户型图更为直观、真实。
但现有三维户型图的建造均是通过3DMAX、MAYA等三维建模软件构造三维户型图,且构建操作这些软件需要具有一定的设计基础,需要了解点、线面的建造。这种方式增加了户型的建造难度。
发明内容
本发明的目的在于提供一种三维户型图生成方法及装置,用以改善上述问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
本发明实施例提供一种三维户型图生成方法。所述方法包括:响应用户点击操作获取基础点,其中,所述基础点包括至少一组起始位置及终点位置;根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体;响应用户点击操作选中待处理墙体;对所述待处理墙体进行门窗位置标记,以获得门窗标记;根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图。
本发明实施例还提供一种三维户型图生成装置。所述装置包括:第一获取模块、生成模块、选中模块、标记模块及创建模块。其中,第一获取模块,用于响应用户点击操作获取基础点,其中,所述基础点包括至少一组起始位置及终点位置;生成模块,用于根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体;选中模块,用于响应用户点击操作选中待处理墙体;标记模块,用于对所述待处理墙体进行门窗位置标记,以获得门窗标记;创建模块,用于根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图。
与现有技术相比,本发明提供的一种三维户型图生成方法及装置。其中,所述方法包括:响应用户点击操作获取基础点,其中,所述基础点包括至少一组起始位置及终点位置;根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体;响应用户点击操作选中待处理墙体;对所述待处理墙体进行门窗位置标记,以获得门窗标记;根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图。使用者仅需通过点选,即可获得建立三维户型图,实现模型建立更简单,易于推广。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的用户终端的方框示意图。
图2示出了本发明实施例提供的三维户型图生成方法的步骤流程图。
图3为图2中步骤S102的子步骤流程图。
图4为图2中步骤S104的子步骤流程图。
图5为图2中步骤S105的子步骤流程图。
图6示出了本发明实施例提供的三维户型图生成装置的功能模块示意图。
图7为图6中生成模块的功能子模块示意图。
图8为图6中标记模块的功能子模块示意图。
图9为图6中第二获取模块的功能子模块示意图。
图标:100-用户终端;101-存储器;102-存储控制器;103-处理器;104-外设接口;105-显示单元;106-输入输出单元;200-三维户型图生成装置;201-第一获取模块;202-生成模块;2021-第二获取子模块;2022-放缩子模块;2023-生成子模块;2024-旋转子模块;203-选中模块;204-标记模块;2041-标记子模块;2042-第三获取子模块;2043-移动子模块;205-第二获取模块;2051-构建子模块;2052-第一获取子模块;206-建立模块;207-创建模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1示出本发明较佳实施例提供的用户终端100的方框示意图。于本发明实施例中,用户终端100优选为台式计算机,也可以包括智能手机、平板电脑、膝上型便携计算机、车载电脑。所述用户终端100包括三维户型图生成装置200、存储器101、存储控制器102、处理器103、外设接口104、显示单元105、输入输出单元106。
所述存储器101、存储控制器102、处理器103、外设接口104、显示单元105、输入输出单元106各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述三维户型图生成装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述用户终端100的操作系统(operating system,OS)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述三维户型图生成装置200包括的软件功能模块或计算机程序。
其中,存储器101可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,本发明任一实施例揭示的流过程定义的服务器所执行的方法可以应用于处理器103中,或者由处理器103实现。
处理器103可能是一种集成电路芯片,具有信号的处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器103等。
所述外设接口104将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
显示单元105在所述用户终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元105可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器103进行计算和处理。
输入输出单元106用于提供给用户输入数据实现用户与所述用户终端100的交互。所述输入输出单元106可以是,但不限于,鼠标和键盘等,所述键盘可以是虚拟键盘。
应当理解的是,图1所示的结构仅为用户终端100的结构示意图,所述用户终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
请参考图2,图2为本发明较佳实施例提供的一种三维户型图方法的流程图。体积测算方法包括以下步骤:
步骤S101,响应用户点击操作获取基础点。
在本实施例中,用户可以通过使用输入输出单元106进行点击操作以获得基础点,例如,用户使用鼠标在显示单元105的屏幕上选中的位置进行点击,获得基础点。当显示单元105为触控显示器时,用户可直接在显示单元105的屏幕选中位置上进行点击,以获得基础点。需要说明的是,所述基础点包括至少一组起始位置及终点位置。具体地,可以是用户进行奇数次获取基础点的点击操作时,获得的基础点的位置信息为起始位置,根据获得起始位置之后的下一次点击操作,获取的基础点的位置信息为与起始位置对应的终点位置;还可以是用户进行点击操作获取的基础点中任一两个获取时间上相邻的基础点的位置信息分别为一组起始位置及终点位置,先获取的基础点的位置信息为起始位置,后获取的基础点的位置信息为终点位置。可选地,在显示单元105的屏幕内预先建立了三维坐标系,用户通过点击操作获取基础点时,对应的得到基础点在三维坐标系中的三维坐标(即位置信息)。
步骤S102,根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体。
在本实施例中,用户终端100内存储预定义的墙体单元的默认数据,墙体单元的默认数据包括墙体的单位高度、单位厚度、长度及墙体的单位方向,例如,默认数据可以是墙体单位高度300cm、单位厚度为30、长度10com及墙体的单位方向可以是显示单元105屏幕内建立的三维坐标系中的第一坐标轴(x轴)。当获取到起始位置后,调用墙体构建算法,结合墙体单元的默认数据构建起点侧中心位置为起始位置的单元墙体。再根据终点位置与起点位置对单位墙体进行调整,以获得起点为起始位置及终点为终点位置的墙体。如图3所示,步骤S102包括以下子步骤:
子步骤S1021,根据所述起始位置及终点位置之间的间距与所述墙体单元的长度之间的比例,获取放缩因子。
在本实施例中,根据起始位置在三维坐标系中对应的三维坐标及终点位置对应的三维坐标,分别计算终点位置对应的第一维坐标值与起始位置对应的第一维坐标值之间差值与所述墙体单元的长度之间的比值作为第一维放缩因子、计算终点位置对应的第二维坐标值与起始位置对应的第二维坐标值之间差值与所述墙体单元的长度之间的比值作为第二维放缩因子、计算终点位置对应的第三维坐标值与起始位置对应的第三维坐标值之间差值与所述墙体单元的长度之间的比值作为第三维放缩因子。
子步骤S1022,利用根据所述放缩因子建立放缩矩阵将所述墙体单元的长度进行放缩。
在本实施例中,根据第一维放缩因子、第二维放缩因子、第三维放缩因子建立放缩矩阵。根据墙体单元每一个点的三维坐标,利用公式:
获取墙体单元经过放缩后的终点侧中心的坐标。其中,x、y、z分别是放缩前墙体单元终点侧中心点位置对应的第一维坐标值、第二维坐标值及第三维坐标值;x1、y1及z1分别为后墙体单元终点侧中心点位置对应的第一维坐标值、第二维坐标值及第三维坐标值;Kx、Ky、Kz分别为第一维放缩因子、第二维放缩因子、第三维放缩因子。对墙体单元上每一个点进行放缩,实现对墙体单元长度上的放缩。
子步骤S1023,根据所述起始位置及终点位置之间的向量与所述墙体单元的方向向量之间的夹角,生成旋转矩阵。
在本实施例中,根据所述起始位置及终点位置之间的向量,获取与墙体单元的方向向量之间的夹角。例如,可以是以起始位置为起点,终点位置为终点的向量与第一维坐标轴之间的夹角,利用所述夹角旋转矩阵。
子步骤S1024,根据所述旋转矩阵将放缩后的所述墙体单元进行旋转,以获得所述起始位置及终点位置对应的墙体。
在本实施例中,根据墙体单元终点侧中心点的三维坐标,利用公式:
实现将放缩后的墙体单元的旋转,以生成所述起始位置及终点位置之间的墙体。其中,x、y、z分别是旋转前墙体单元终点侧中心点位置对应的第一维坐标值、第二维坐标值及第三维坐标值;x′、y′、z′为旋转后墙体单元终点侧中心点位置对应的第一维坐标值、第二维坐标值及第三维坐标值;θ为夹角。
在其他实施例中,当用户使用鼠标进行基础点选定时,在选定起始位置后,创建起始位置为起点侧中心位置的墙体单元,并按照预设时间间隔获取鼠标位置,生成起始位置与鼠标位置之间的墙体,直至用户使用鼠标进行点击操作而获取终点位置,生成起始位置与终点位置之间的墙体。用户仅需点击、滑动再点击即可完成墙体构建。
步骤S103,响应用户点击操作选中待处理墙体。
在本实施例中,在接收到用户输入的墙体建造完成指令后。接收用户对任意墙体的点击操作,获取待处理墙体。
步骤S104,对所述待处理墙体进行门窗位置标记,以获得门窗标记。
在本实施例中,门窗标记包括门标记及窗标记。用户通过输入输出单元106对待处理墙体上的选中位置点击操作,并将对应的门窗标记设置于选中位置。需要说明的是,门窗标记不破坏待处理墙体的无向性。如图4所示,步骤S104包括:
子步骤S1041,将所述门窗标记设置于所述待处理墙体上预设置的默认位置。
在本实施例中,当墙体被选做待处理墙体,则将门窗标记设置到待处理墙体的默认位置。需要说明的是,门及窗的尺寸为预先设定好的。门窗标记在墙体上的默认位置也可以是预先设置的。例如,门及窗的默认位置为墙体的中轴线上;窗距墙体一侧的高度为100cm。
子步骤S1042,响应用户的点击操作,获取目标位置。
子步骤S1043,利用仿射变换将所述默认位置上的门窗标记移动至目标位置。
在本实施例中,根据目标位置的三维坐标及默认位置的三维坐标,利用仿射变换矩阵将默认位置上的门窗标记移动至目标位置,实现对门窗标记的移动,以实现二次编辑。具体地,根据默认位置的三维坐标,利用公式:
将门窗标记移动至目标位置,其中,x、y、z分别是默认位置对应的第一维坐标值、第二维坐标值及第三维坐标值;x′、y′、z′为仿射变换后的门窗标记的位置对应的第一维坐标值、第二维坐标值及第三维坐标值;tx是根据目标位置的第一维坐标值与默认位置的第一维坐标值获得的第一仿射因子;ty是根据目标位置的第二维坐标值与默认位置的第二维坐标值获得的第二仿射因子;tz是根据目标位置的第三维坐标值与默认位置的第三维坐标值获得的第三仿射因子。
步骤S105,根据获取的所述基础点,利用无向图深度搜索算法,获取闭环顶点。
在本实施例中,先构建对应的无向图关系矩阵,再根据无向图关系矩阵搜索出与需构建的地面及顶面对应的闭环顶点。所述如图5所示,步骤S105包括以下步骤:
子步骤S1051,根据获取的所述基础点之间的连接情况,建立无向图关系矩阵。
在本实施例中,根据基础点之间的连接关系建立如下式所示的无向图关系矩阵:
其中,无向图关系矩阵的第一行及第一列中的每一个元素均为基础点按照出现时间的编号,例如第一行及第一列中的1对应第一个基础点,2对应第二个基础点,n对应第n个基础点,n为基础点的总数量;k是变量,取值可以是0或1,无向图关系矩阵中每一个k取值可以不同,当两个基础点无连接关系时,这两个基础点对应的k值为0,当两个基础点存在连接关系时,这两个基础点对应的k值为1,例如,当第二个基础点与第n个基础点存在连接关系,则无向图关系矩阵中第二行第n列位置上的k取值为1;第二个基础点,与第二个基础点自身不存在间接关系,则无向图关系矩阵中第二行第二列位置上的k取值为0。
子步骤S1052,根据所述无向图关系矩阵及所述基础点,获取所述闭环顶点。
步骤S106,根据所述闭环顶点分别建立分别设置于所述墙体两侧的地面及顶面。
在本实施例中,根据获取的闭环顶点构建设置于墙体两侧的平面,所述平面分别为地面及顶面。
步骤S107,根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图。
在本实施例中,分别在设有门窗标记的墙体上对应门窗标记的位置,安装预设置的门窗模型,利用几何布尔运算,实现门窗模型在墙体上的创建。具体地,可以选择根据用户选择的动作调用以下任一一个算法,或多个算法的组合:
A∪B=AOUTB+BOUTA,
A∩B=AINB+BINA,
A-B=AOUTB+BINA及
B-A=BOUTA+AINB,
实现门窗模型在对应墙体上的创建。其中,A代表墙体;B代表门窗模型;AOUTB代表墙体位于门窗模型外侧的部分;BOUTA代表门窗模型位于墙体外侧的部分;AINB代表墙体位于门窗模型内部的部分;BINA代表门窗模型位于墙体内部的部分。
第二实施例
请参考图6,是本发明较佳实施例提供的三维户型图生成装置200。三维户型图生成装置200包括:第一获取模块201、生成模块202、选中模块203、标记模块204、第二获取模块205、建立模块206及创建模块207。
第一获取模块201,用于响应用户点击操作获取基础点,其中,所述基础点包括至少一组起始位置及终点位置。
在本实施例中,步骤S101可以由第一获取模块201执行。
生成模块202,用于根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体。
在本实施例中,步骤S102可以由生成模块202执行。如图7所示,生成模块202包括以下功能子模块:
第二获取子模块2021,用于根据所述起始位置及终点位置之间的间距与所述墙体单元的长度之间的比例,获取放缩因子。
在本实施例中,子步骤S1021可以由第二获取子模块2021执行。
放缩子模块2022,用于利用根据所述放缩因子建立放缩矩阵将所述墙体单元的长度进行放缩。
在本实施例中,子步骤S1022可以由放缩子模块2022执行。
生成子模块2023,用于根据所述起始位置及终点位置之间的向量与所述墙体单元的方向向量之间的夹角,生成旋转矩阵。
在本实施例中,子步骤S1023可以由生成子模块2023执行。
旋转子模块2024,用于根据所述旋转矩阵将放缩后的所述墙体单元进行旋转,以获得所述起始位置及终点位置对应的墙体。
在本实施例中,子步骤S1024可以由旋转子模块2024执行。
选中模块203,用于响应用户点击操作选中待处理墙体。
在本实施例中,步骤S103可以由选中模块203执行。
标记模块204,用于对所述待处理墙体进行门窗位置标记,以获得门窗标记。
在本实施例中,步骤S104可以由标记模块204执行。如图8所示,标记模块204包括以下功能子模块:
标记子模块2041,用于将所述门窗标记设置于所述待处理墙体上预设置的默认位置。
在本实施例中,子步骤S1041可以由标记子模块2041执行。
第三获取子模块2042,用于响应用户的点击操作,获取目标位置。
在本实施例中,子步骤S1042可以由第三获取子模块2042执行。
移动子模块2043,用于利用仿射变换将所述默认位置上的门窗标记移动至目标位置。
在本实施例中,子步骤S1043可以由移动子模块2043执行。
第二获取模块205,用于根据获取的所述基础点,利用无向图深度搜索算法,获取闭环顶点。
在本实施例中,步骤S105可以由第二获取模块205执行。如图9所示,第二获取模块205包括以下功能子模块:
构建子模块2051,用于根据获取的所述基础点之间的连接情况,建立无向图关系矩阵。
在本实施例中,子步骤S1051可以由构建子模块2051执行。
第一获取子模块2052,用于根据所述无向图关系矩阵及所述基础点,获取所述闭环顶点。
在本实施例中,子步骤S1052可以由第一获取子模块2052执行。
建立模块206,用于根据所述闭环顶点分别建立分别设置于所述墙体两侧的地面及顶面。
在本实施例中,步骤S106可以由建立模块206执行。
创建模块207,用于根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图。
在本实施例中,步骤S107可以由创建模块207执行。
综上所述,本发明提供的一种三维户型图生成方法及装置。所述方法包括:响应用户点击操作获取基础点。其中,所述基础点包括至少一组起始位置及终点位置。根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体。响应用户点击操作选中待处理墙体。再对所述待处理墙体进行门窗位置标记,以获得门窗标记;根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图。使用者仅需通过点选,即可获得建立三维户型图,实现模型建立更简单,易于推广。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种三维户型图生成方法,其特征在于,所述方法包括:
响应用户点击操作获取基础点,其中,所述基础点包括至少一组起始位置及终点位置;
根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体;
响应用户点击操作选中待处理墙体;
对所述待处理墙体进行门窗位置标记,以获得门窗标记;
根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图;
所述生成每组所述起始位置及终点位置对应的墙体的步骤包括:
根据所述起始位置及终点位置之间的间距与所述墙体单元的长度之间的比例,获取放缩因子;
利用根据所述放缩因子建立放缩矩阵将所述墙体单元的长度进行放缩;
根据所述起始位置及终点位置之间的向量与所述墙体单元的方向向量之间的夹角,生成旋转矩阵;
根据所述旋转矩阵将放缩后的所述墙体单元进行旋转,以获得所述起始位置及终点位置对应的墙体。
2.如权利要求1所述的方法,其特征在于,在对应待处理墙体上创建门窗之前,所述方法还包括:
根据获取的所述基础点,利用无向图深度搜索算法,获取闭环顶点;
根据所述闭环顶点构建设置于所述墙体两侧的平面,所述平面分别为地面及顶面。
3.如权利要求2所述的方法,其特征在于,所述根据获取的所述基础点,利用无向图深度搜索算法,获取闭环顶点的步骤包括:
根据获取的所述基础点之间的连接情况,建立无向图关系矩阵;
根据所述无向图关系矩阵及所述基础点,获取所述闭环顶点。
4.如权利要求1所述的方法,其特征在于,对所述待处理墙体进行门窗位置标记的步骤包括:
将所述门窗标记设置于所述待处理墙体上预设置的默认位置;
响应用户的点击操作,获取目标位置;
利用仿射变换将所述默认位置上的门窗标记移动至目标位置。
5.一种三维户型图生成装置,其特征在于,所述装置包括:
第一获取模块,用于响应用户点击操作获取基础点,其中,所述基础点包括至少一组起始位置及终点位置;
生成模块,用于根据每组所述起始位置、终点位置及预设置的墙体单元,生成每组所述起始位置及终点位置对应的墙体;
选中模块,用于响应用户点击操作选中待处理墙体;
标记模块,用于对所述待处理墙体进行门窗位置标记,以获得门窗标记;
创建模块,用于根据所述门窗标记,利用几何布尔算法,在对应的待处理墙体上创建门窗,以生成三维户型图;
所述生成模块包括:
第二获取子模块,用于根据所述起始位置及终点位置之间的间距与所述墙体单元的长度之间的比例,获取放缩因子;
放缩子模块,用于利用根据所述放缩因子建立放缩矩阵将所述墙体单元的长度进行放缩;
生成子模块,用于根据所述起始位置及终点位置之间的向量与所述墙体单元的方向向量之间的夹角,生成旋转矩阵;
旋转子模块,用于根据所述旋转矩阵将放缩后的所述墙体单元进行旋转,以获得所述起始位置及终点位置对应的墙体。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于根据获取的所述基础点,利用无向图深度搜索算法,获取闭环顶点;
建立模块,用于根据所述闭环顶点构建设置于所述墙体两侧的平面,所述平面分别为地面及顶面。
7.如权利要求6所述的装置,其特征在于,所述第二获取模块包括:
构建子模块,用于根据获取的所述基础点之间的连接情况,建立无向图关系矩阵;
第一获取子模块,用于根据所述无向图关系矩阵及所述基础点,获取所述闭环顶点。
8.如权利要求5所述的装置,其特征在于,所述标记模块包括:
标记子模块,用于将所述门窗标记设置于所述待处理墙体上预设置的默认位置;
第三获取子模块,用于响应用户的点击操作,获取目标位置;
移动子模块,用于利用仿射变换将所述默认位置上的门窗标记移动至目标位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710673386.6A CN107452055B (zh) | 2017-08-09 | 2017-08-09 | 三维户型图生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710673386.6A CN107452055B (zh) | 2017-08-09 | 2017-08-09 | 三维户型图生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107452055A CN107452055A (zh) | 2017-12-08 |
CN107452055B true CN107452055B (zh) | 2020-08-14 |
Family
ID=60491326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710673386.6A Active CN107452055B (zh) | 2017-08-09 | 2017-08-09 | 三维户型图生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107452055B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920037B (zh) * | 2018-05-30 | 2020-03-06 | 贝壳找房(北京)科技有限公司 | 一种房屋的虚拟三维空间的显示方法及装置 |
CN109903369A (zh) * | 2019-01-17 | 2019-06-18 | 平安城市建设科技(深圳)有限公司 | 三维户型模型构建方法、装置、设备及可读存储介质 |
CN110176057A (zh) * | 2019-04-12 | 2019-08-27 | 平安城市建设科技(深圳)有限公司 | 三维户型模型生成方法、装置、设备及存储介质 |
CN110146071B (zh) * | 2019-05-16 | 2021-04-23 | 成都精位科技有限公司 | 定位维度提升方法及装置 |
CN110210377B (zh) * | 2019-05-30 | 2023-07-28 | 南京维狸家智能科技有限公司 | 一种用于三维户型重建的墙体及门窗信息获取方法 |
CN112837395B (zh) * | 2020-12-25 | 2023-03-28 | 佛山欧神诺云商科技有限公司 | 一种快速构建户型结构的建模方法、电子设备、存储介质 |
CN114092642B (zh) * | 2021-11-18 | 2024-01-26 | 抖音视界有限公司 | 一种三维户型模型生成方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6628279B1 (en) * | 2000-11-22 | 2003-09-30 | @Last Software, Inc. | System and method for three-dimensional modeling |
CN104821011A (zh) * | 2015-05-20 | 2015-08-05 | 郭小虎 | 基于相机拍摄的2d户型照片生成3d户型模型的方法 |
CN105975699A (zh) * | 2016-05-10 | 2016-09-28 | 曹屹 | 一种基于基本单元拼接的户型建模方法 |
CN107004297A (zh) * | 2014-11-28 | 2017-08-01 | 株式会社鄂本贝斯 | 基于二维平面图的三维自动立体建模方法及程序 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050128212A1 (en) * | 2003-03-06 | 2005-06-16 | Edecker Ada M. | System and method for minimizing the amount of data necessary to create a virtual three-dimensional environment |
-
2017
- 2017-08-09 CN CN201710673386.6A patent/CN107452055B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6628279B1 (en) * | 2000-11-22 | 2003-09-30 | @Last Software, Inc. | System and method for three-dimensional modeling |
CN107004297A (zh) * | 2014-11-28 | 2017-08-01 | 株式会社鄂本贝斯 | 基于二维平面图的三维自动立体建模方法及程序 |
CN104821011A (zh) * | 2015-05-20 | 2015-08-05 | 郭小虎 | 基于相机拍摄的2d户型照片生成3d户型模型的方法 |
CN105975699A (zh) * | 2016-05-10 | 2016-09-28 | 曹屹 | 一种基于基本单元拼接的户型建模方法 |
Non-Patent Citations (2)
Title |
---|
A graph-theoretic approach to building layout reconstruction from radar measurements;Bo Chen 等;《2013 Proceedings of the International Symposium on Antennas & Propagation》;20131025;第1-4页 * |
布尔运算在几何体建模中的应用;林柔红;《现代制造技术与装备》;20170430(第4期);第21、22、24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107452055A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107452055B (zh) | 三维户型图生成方法及装置 | |
CN111275820B (zh) | 基于二维平面绘制三维墙体方法、装置、终端和存储介质 | |
JP6048898B2 (ja) | 情報表示装置、情報表示方法および情報表示プログラム | |
TWI550500B (zh) | 桌面顯示系統及方法 | |
US20150186004A1 (en) | Multimode gesture processing | |
CN106168894B (zh) | 一种内容显示方法及移动终端 | |
CN110221722B (zh) | 图片处理方法、电子设备及存储介质 | |
US9817570B2 (en) | Three dimensional keyboard with rotatable keys | |
Panaretos et al. | Principal flows | |
CN106897321B (zh) | 显示地图数据的方法及装置 | |
CN103412720A (zh) | 处理触控式输入信号的方法及其装置 | |
WO2015096205A1 (zh) | 图表分析系统及图表分析方法 | |
US10466854B2 (en) | Systems and methods for accessing visually obscured elements of a three-dimensional model | |
CN107481309B (zh) | 三维反射渲染方法及装置 | |
CN104598121A (zh) | 一种图片缩放方法和装置 | |
KR20150079380A (ko) | 다수의 디바이스들의 상대적 배치를 결정하기 위한 방법과 그에 따른 장치 및 시스템 | |
CN109032190A (zh) | 云台转向控制方法、装置、电子设备及存储介质 | |
TWI587169B (zh) | 電子設備設定密碼、解鎖系統及方法 | |
CN112214156B (zh) | 一种触控屏放大镜调用方法、装置、电子设备及存储介质 | |
KR101666961B1 (ko) | 그래픽 사용자 인터페이스의 요소들의 테두리들의 렌더링 | |
CN105243469A (zh) | 一种多维空间映射到低维空间的方法及其展示方法和系统 | |
WO2017131629A1 (en) | Merging object detections using graphs | |
CN108507563B (zh) | 巡航路径生成方法及装置 | |
AU2018203392B2 (en) | Placemat: a ui for 2d/3d composition | |
EP3295291B1 (en) | Drawing object inferring system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20171208 Assignee: Hangzhou zhaitoudou Technology Co.,Ltd. Assignor: BEIJING MOYIHOME NETWORK TECHNOLOGY DEVELOPMENT Co.,Ltd. Contract record no.: X2021990000340 Denomination of invention: Generation method and device of 3D house type drawing Granted publication date: 20200814 License type: Exclusive License Record date: 20210607 |
|
EE01 | Entry into force of recordation of patent licensing contract |