掌桥专利:专业的专利平台
掌桥专利
首页

一种墙体的投影方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 16:06:26



技术领域

本申请涉及室内设计技术领域,具体而言,涉及一种墙体的投影方法、装置、电子设备及计算机可读存储介质。

背景技术

在室内设计过程中,为了更加直观的获知设计效果,通常会需要显示施工图中立面视图的墙体的投影的视觉效果,然而,由于室内结构较为复杂,通常只能简单的将墙线投影显示,无法正确识别墙体剖切面、墙洞和转角线,对于一些斜墙等更加复杂的墙体的投影结果无法正确显示。

这导致在依据效果图进行施工时,经常会出现误差,导致效果无法达到预期,且浪费严重。

发明内容

本申请实施例的目的在于提供一种墙体的投影方法、装置、电子设备及计算机可读存储介质,可以对整个复杂的墙体进行投影,将墙体完整的进行投影,避免投影结果无法正确显示,节省投影时间。

第一方面,本申请实施例提供了一种墙体的投影方法,所述方法包括:

获取所述墙体的俯视图;

对所述俯视图中的墙体多边形轮廓进行裁剪,得到墙体轮廓;

对所述墙体轮廓进行视图投影变换,得到变换后的空间信息;

根据所述墙体轮廓和所述空间信息获得所述墙体的投影结果。

在上述实现过程中,对墙体轮廓进行视图投影变换得到空间信息,再根据空间信息获得墙体的投影结果,使得墙体轮廓可以被完整的投影出来,可以对整个复杂的墙体进行投影,将墙体完整的进行投影,避免投影结果无法正确显示,节省投影时间。

进一步地,所述对所述墙体轮廓进行视图投影变换,得到变换后的空间信息的步骤,包括:

获取所述墙体轮廓对应的投影信息;

根据所述投影信息构建正交投影矩阵;

根据所述正交投影矩阵对所述墙体轮廓进行NDC空间变换,得到空间信息。

在上述实现过程中,NDC空间变换可以将墙体轮廓的投影信息完整的展示出来,并且不会造成投影信息的损失,使得得到的空间信息更加准确,减少投影过程中NDC空间变换带来的误差。

进一步地,所述根据所述墙体轮廓和所述空间信息获得所述墙体的投影结果的步骤,包括:

获取所述空间信息中的近平面信息;

获取所述墙体轮廓中的墙线信息;

根据所述近平面信息和所述墙线信息获得所述墙体的投影结果。

在上述实现过程中,平面信息和墙线信息可以将空间信息和墙体轮廓完整地展示再投影结果中,保证了投影结果的完整性。

进一步地,所述根据所述近平面信息和所述墙线信息获得所述墙体的投影结果的步骤,包括:

根据所述近平面信息和所述墙线信息获得墙面信息;

根据所述近平面信息、所述墙线信息和所述墙面信息获得所述墙体的投影结果。

在上述实现过程中,墙面信息、近平面信息和墙线信息可以将墙体完整地投影,避免墙体的投影结果不完整导致无法正确显示,节省了投影时间,减少投影过程中产生的误差,保证了投影结果的准确性。

第二方面,本申请实施例还提供了一种墙体的投影装置,所述装置包括:

获取模块,用于获取所述墙体的俯视图;

裁剪模块,用于对所述俯视图中的墙体多边形轮廓进行裁剪,得到墙体轮廓;

投影变换模块,用于对所述墙体轮廓进行视图投影变换,得到变换后的空间信息;

投影结果获得模块,用于根据所述墙体轮廓和所述空间信息获得所述墙体的投影结果。

在上述实现过程中,对墙体轮廓进行视图投影变换得到空间信息,再根据空间信息获得墙体的投影结果,使得墙体轮廓可以被完整的投影出来,可以对整个复杂的墙体进行投影,将墙体完整的进行投影,避免投影结果无法正确显示,节省投影时间。

进一步地,所述投影变换模块还用于:

获取所述墙体轮廓对应的投影信息;

根据所述投影信息构建正交投影矩阵;

根据所述正交投影矩阵对所述墙体轮廓进行NDC空间变换,得到空间信息。

在上述实现过程中,NDC空间变换可以将墙体轮廓的投影信息完整的展示出来,并且不会造成投影信息的损失,使得得到的空间信息更加准确,减少投影过程中NDC空间变换带来的误差。

进一步地,所述投影结果获得模块还用于:

获取所述空间信息中的近平面信息;

获取所述墙体轮廓中的墙线信息;

根据所述近平面信息和所述墙线信息获得所述墙体的投影结果。

在上述实现过程中,平面信息和墙线信息可以将空间信息和墙体轮廓完整地展示再投影结果中,保证了投影结果的完整性。

进一步地,所述投影结果获得模块还用于:

根据所述近平面信息和所述墙线信息获得墙面信息;

根据所述近平面信息、所述墙线信息和所述墙面信息获得所述墙体的投影结果。

在上述实现过程中,墙面信息、近平面信息和墙线信息可以将墙体完整地投影,避免墙体的投影结果不完整导致无法正确显示,节省了投影时间,减少投影过程中产生的误差,保证了投影结果的准确性。

第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。

第四方面,本申请实施例提供的一种计算机可读存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。

第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的墙体的投影方法的流程示意图;

图2为本申请实施例提供的墙体的投影装置的结构组成示意图;

图3为本申请实施例提供的电子设备的结构组成示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

实施例一

图1是本申请实施例提供的墙体的投影方法的流程示意图,如图1所示,该方法包括:

S1,获取墙体的俯视图;

S2,对俯视图中的墙体多边形轮廓进行裁剪,得到墙体轮廓;

S3,对墙体轮廓进行视图投影变换,得到变换后的空间信息;

S4,根据墙体轮廓和空间信息获得墙体的投影结果。

在上述实现过程中,对墙体轮廓进行视图投影变换得到空间信息,再根据空间信息获得墙体的投影结果,使得墙体轮廓可以被完整的投影出来,可以对整个复杂的墙体进行投影,将墙体完整的进行投影,避免投影结果无法正确显示,节省投影时间。

在S2中,可以在俯视图上使用Sutherland–Hodgman裁剪算法对墙体多边形轮廓进行裁剪。

在一种可行的实施中,S3包括:

获取墙体轮廓对应的投影信息;

根据投影信息构建正交投影矩阵;

根据正交投影矩阵对墙体轮廓进行NDC空间变换,得到空间信息。

在上述实现过程中,NDC空间变换可以将墙体轮廓的投影信息完整的展示出来,并且不会造成投影信息的损失,使得得到的空间信息更加准确,减少投影过程中NDC空间变换带来的误差。

投影信息包括观察方向、视口大小、投影区域范围,把裁剪后的墙体轮廓做视图投影变换转换到标准化设备坐标空间(Normalized Device Coordinates,NDC)中,得到空间信息。

在一种可行的实施中,S4包括:

获取空间信息中的近平面信息;

获取墙体轮廓中的墙线信息;

根据近平面信息和墙线信息获得墙体的投影结果。

在上述实现过程中,平面信息和墙线信息可以将空间信息和墙体轮廓完整地展示再投影结果中,保证了投影结果的完整性。

由于转换到NDC的坐标系中,NDC的坐标系的xyz轴的取值区间均为[-1,1],因此将获取z轴坐标为-1的点作为观察方向的近平面点,即近平面信息。

墙线信息包括墙体转角线及其对应的位置和墙线及其对应的位置。

进一步地,根据近平面信息和墙线信息获得墙体的投影结果的步骤,包括:

根据近平面信息和墙线信息获得墙面信息;

根据近平面信息、墙线信息和墙面信息获得墙体的投影结果。

在上述实现过程中,墙面信息、近平面信息和墙线信息可以将墙体完整地投影,避免墙体的投影结果不完整导致无法正确显示,节省了投影时间,减少投影过程中产生的误差,保证了投影结果的准确性。

墙面信息包括墙面、墙体剖切面、墙洞,墙线的两端均落在近平面点的位置为墙体剖切面,墙线投影到近平面点时所覆盖的区间(剔除掉墙体剖切面所占的区间)即为墙面,而未被覆盖到的区间就是墙洞。

将墙体轮廓的任意一点与其投影到近平面点的点的位置相连形成一条线段,如果该线段与一条墙线相交,则判断出该墙体轮廓的点在墙体后面,需要剔除。如果没有与墙线相交,则该墙体轮廓的点所在的线为墙体转角线。根据近平面信息、墙线信息和墙面信息生成墙体投影后的立面视图。

在本实施例中,可以指定任意的观察方向、视口大小、投影区域范围来投影任意户型内的墙体生成墙体立面视图,剔除被墙体遮挡住的墙线,截取墙体并且生成对应的墙体剖切面和墙洞。简单高效、自由度高、可控性强。

实施例二

为了执行上述实施例一对应的方法,以实现相应的功能和技术效果,下面提供一种墙体的投影装置,如图2所示,该装置包括:

获取模块1,用于获取墙体的俯视图;

裁剪模块2,用于对俯视图中的墙体多边形轮廓进行裁剪,得到墙体轮廓;

投影变换模块3,用于对墙体轮廓进行视图投影变换,得到变换后的空间信息;

投影结果获得模块4,用于根据墙体轮廓和空间信息获得墙体的投影结果。

在上述实现过程中,对墙体轮廓进行视图投影变换得到空间信息,再根据空间信息获得墙体的投影结果,使得墙体轮廓可以被完整的投影出来,可以对整个复杂的墙体进行投影,将墙体完整的进行投影,避免投影结果无法正确显示,节省投影时间。

进一步地,投影变换模块3还用于:

获取墙体轮廓对应的投影信息;

根据投影信息构建正交投影矩阵;

根据正交投影矩阵对墙体轮廓进行NDC空间变换,得到空间信息。

在上述实现过程中,NDC空间变换可以将墙体轮廓的投影信息完整的展示出来,并且不会造成投影信息的损失,使得得到的空间信息更加准确,减少投影过程中NDC空间变换带来的误差。

进一步地,投影结果获得模块4还用于:

获取空间信息中的近平面信息;

获取墙体轮廓中的墙线信息;

根据近平面信息和墙线信息获得墙体的投影结果。

在上述实现过程中,平面信息和墙线信息可以将空间信息和墙体轮廓完整地展示再投影结果中,保证了投影结果的完整性。

进一步地,投影结果获得模块4还用于:

根据近平面信息和墙线信息获得墙面信息;

根据近平面信息、墙线信息和墙面信息获得墙体的投影结果。

在上述实现过程中,墙面信息、近平面信息和墙线信息可以将墙体完整地投影,避免墙体的投影结果不完整导致无法正确显示,节省了投影时间,减少投影过程中产生的误差,保证了投影结果的准确性。

上述的墙体的投影装置可实施上述实施例一的方法。上述实施例一中的可选项也适用于本实施例,这里不再详述。

本申请实施例的其余内容可参照上述实施例一的内容,在本实施例中,不再进行赘述。

实施例三

本申请实施例提供一种电子设备,包括存储器及处理器,该存储器用于存储计算机程序,该处理器运行计算机程序以使电子设备执行实施例一的墙体的投影方法。

可选地,上述电子设备可以是服务器。

请参见图3,图3为本申请实施例提供的电子设备的结构组成示意图。该电子设备可以包括处理器31、通信接口32、存储器33和至少一个通信总线34。其中,通信总线34用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口32用于与其他节点设备进行信令或数据的通信。处理器31可以是一种集成电路芯片,具有信号的处理能力。

上述的处理器31可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器31也可以是任何常规的处理器等。

存储器33可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器33中存储有计算机可读取指令,当计算机可读取指令由所述处理器31执行时,设备可以执行上述图1方法实施例涉及的各个步骤。

可选地,电子设备还可以包括存储控制器、输入输出单元。存储器33、存储控制器、处理器31、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线34实现电性连接。处理器31用于执行存储器33中存储的可执行模块,例如设备包括的软件功能模块或计算机程序。

输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。输入输出单元可以是,但不限于,鼠标和键盘等。

可以理解,图3所示的结构仅为示意,电子设备还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。

另外,本申请实施例还提供一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现实施例一的墙体的投影方法。

本申请实施例还提供一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

相关技术
  • 一种墙体的投影方法、装置、电子设备及存储介质
  • 投影控制方法、投影控制装置、电子设备和可读存储介质
技术分类

06120114699918