CN115761122B - 三维辅助尺的实现方法、装置、设备和介质 - Google Patents

三维辅助尺的实现方法、装置、设备和介质 Download PDF

Info

Publication number
CN115761122B
CN115761122B CN202211411102.3A CN202211411102A CN115761122B CN 115761122 B CN115761122 B CN 115761122B CN 202211411102 A CN202211411102 A CN 202211411102A CN 115761122 B CN115761122 B CN 115761122B
Authority
CN
China
Prior art keywords
dimensional
model
target
line segment
plane
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
Application number
CN202211411102.3A
Other languages
English (en)
Other versions
CN115761122A (zh
Inventor
秘博阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Seashell Housing Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seashell Housing Beijing Technology Co Ltd filed Critical Seashell Housing Beijing Technology Co Ltd
Priority to CN202211411102.3A priority Critical patent/CN115761122B/zh
Publication of CN115761122A publication Critical patent/CN115761122A/zh
Application granted granted Critical
Publication of CN115761122B publication Critical patent/CN115761122B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本公开实施例公开了一种三维辅助尺的实现方法、装置、电子设备和存储介质,其中,方法包括:响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型;基于目标模型的目标外接包围盒,确定至少一个参考方向;从多个三维模型中确定出在参考方向上距离目标模型最近的参考模型;沿参考方向,生成连接目标模型与参考模型的第一三维线段;将第一三维线段作为目标模型对应的第一三维辅助尺,并呈现第一三维线段的长度,第一三维线段的长度用于表征参考模型与目标模型在参考方向上的距离。可以更直观、更准确地表征三维模型在三维空间中的相对位置,有助于提高三维建模的效率和准确度。

Description

三维辅助尺的实现方法、装置、设备和介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种三维辅助尺的实现方法、装置、设备和介质。
背景技术
随着计算机技术的发展,尤其是虚拟现实(Virtual Reality,VR)的迅速进步,使得三维场景在各个领域的应用越来越广泛。三维场景可以通过多源信息融合的、交互式的三维动态视景使用户沉浸到该环境中,使用户可以在不同的视角可以观看到不同的内容。例如在家装领域,可以根据房间的户型结构以及室内摆放的物品搭建三维场景。这种三维场景往往包括多个产品模型,并且对产品模型的位置姿态数据的精度要求较高,微小的误差都影响到算量报价、仿真模拟等环节。
为了精准控制产品模型在三维场景中的位置和姿态,设计师需要根据多个三维模型在三维空间中的相对位置对三维模型的位置和姿态进行调整。然而,目前的三维建模软件仅提供简单的二维距离标记工具,不能直观、准确地表征多个三维模型之间在三维空间中的相对位置。
发明内容
本公开实施例提供一种三维辅助尺的实现方法、装置、电子设备和存储介质。
本公开实施例的一个方面,提供一种三维辅助尺的实现方法,包括:响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型;基于目标模型的目标外接包围盒,确定至少一个参考方向;从多个三维模型中确定出在参考方向上距离目标模型最近的参考模型;沿参考方向,生成连接目标模型与参考模型的第一三维线段;将第一三维线段作为目标模型对应的第一三维辅助尺,并呈现第一三维线段的长度,第一三维线段的长度用于表征参考模型与目标模型在参考方向上的距离。
在一些实施例中,基于目标模型的目标外接包围盒,确定至少一个参考方向,包括:确定目标模型在三维场景中的目标外接包围盒,并将组成目标外接包围盒的各个平面确定为目标平面;将目标平面的外法线方向确定为参考方向。
在一些实施例中,从多个三维模型中确定出在参考方向上距离目标模型最近的参考模型,包括:确定所述目标模型之外的其他三维模型在所述三维场景中的候选外接包围盒,并将组成候选外接包围盒的平面确定为第一平面;将第一平面沿参考方向投影至目标平面所在的投影平面;若第一平面在投影平面中的投影与目标平面存在重叠区域,将第一平面确定为第二平面;确定第二平面与目标平面在参考方向上的距离,并将距离最小的第二平面确定为参考平面;将参考平面对应的三维模型确定为参考模型。
在一些实施例中,三维场景还包括环境模型,环境模型用于表征多个三维模型所处的空间环境;该方法还包括:沿参考方向,生成连接目标模型与环境模型的第二三维线段;将第二三维线段作为目标模型的第二三维辅助尺,并呈现第二三维线段的长度。
在一些实施例中,目标平面上预先确定有第一靶点和第二靶点;生成连接目标模型与参考模型的第一三维线段,包括:以第一靶点为起点,沿参考方向作第一射线,以确定第一射线与参考平面的第一交点;连接第一靶点与第一交点,得到第一三维线段;生成连接目标模型与环境模型的第二三维线段,包括:以第二靶点为起点,沿参考方向作第二射线,以确定第二射线与环境模型的至少一个交点;将至少一个交点中距离第二靶点最近的交点确定为第二交点;连接第二靶点与第二交点,得到第二三维线段。
在一些实施例中,还包括:接收针对第一三维辅助尺和/或第二三维辅助尺的长度编辑指令;按照长度编辑指令,沿第一三维辅助尺和/或第二三维辅助尺的延伸方向移动目标模型,并更新第一三维辅助尺和/或第二三维辅助尺。
在一些实施例中,该方法还包括:每隔预设的时间周期,执行确定参考模型的操作、生成第一三维线段的操作和生成第二三维线段的操作。
在一些实施例中,还包括:接收针对目标模型的姿态编辑指令;根据姿态编辑指令更新目标模型在三维场景中的姿态,并基于更新后的姿态,更新参考方向、参考模型、第一三维辅助尺和第二三维辅助尺。
在一些实施例中,还包括:接收针对其他三维模型的第一编辑指令;根据第一编辑指令,更新其他三维模型的位姿和/或三维结构,并基于更新后的其他三维模型,更新参考模型和第一三维辅助尺;接收针对环境模型的第二编辑指令;基于第二编辑指令,更新环境模型的三维结构,并基于更新后的环境模型,更新第二三维辅助尺。
本公开实施例还提供了一种三维辅助尺的实现装置,包括:目标确定单元,被配置成响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型;方向确定单元,被配置成基于目标模型的目标外接包围盒,确定至少一个参考方向;模型确定单元,被配置成从多个三维模型中确定出在参考方向上距离目标模型最近的参考模型;线段生成单元,被配置成沿参考方向,生成连接目标模型与参考模型的第一三维线段;辅助尺确定单元,被配置成将第一三维线段作为目标模型对应的第一三维辅助尺,并呈现第一三维线段的长度,第一三维线段的长度用于表征参考模型与目标模型在参考方向上的距离。
本公开的实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序产品;处理器,用于执行存储器中存储的计算机程序产品,且计算机程序产品被执行时,实现上述任一实施例中的方法。
本公开的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述任一实施例中的方法。
本公开的实施例提供的三维辅助尺的实现方法,可以根据用户的选取指令确定目标模型,并根据目标模型的外接包围盒确定至少一个参考方向;然后从三维场景中的各个三维模型中确定出在参考方向上距离目标模型最近的参考模型,并将连接参考模型与目标模型的第一三维线段作为第一三维辅助尺,通过第一三维线段的长度表征目标模型与参考模型在参考方向上的相对距离,可以更直观、更准确地表征三维模型在三维空间中的相对位置,有助于提高三维建模的效率和准确度。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的三维辅助尺的实现方法的一个实施例的流程图;
图2为本公开的三维辅助尺的实现方法的所适用的场景示意图;
图3为本公开的三维辅助尺的实现方法的一个实施例中确定参考模型的流程示意图;
图4为本公开的三维辅助尺的实现方法的又一个实施例的流程示意图;
图5为本公开的三维辅助尺的实现方法的又一个实施例的流程示意图;
图6为本公开三维辅助尺的实现装置一个实施例的结构示意图;
图7为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开概述
在实施本公开的过程中,发明人发现,设计师在利用三维建模软件搭建三维场景时,需要从三维模型的上下左右前后等多个方向对三维模型的空间位置进行计算,并以此对三维模型的空间位置和姿态进行调整。而目前的三维建模软件中仅提供简单的二维距离标记工具,无法从多个方向对三维模型的空间位置进行准确直观的表征,影响了三维场景的搭建效率和准确度。
示例性方法
下面结合图1对本公开的三维辅助尺的实现方法进行示例性说明。图1示出了本公开的三维辅助尺的实现方法的一个实施例的流程图,如图1所示,该流程包括以下步骤:
步骤110、响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型。
本实施例提供的三维辅助尺的实现方法可以用于三维场景的搭建过程,在此过程中,用户可以根据展示对象的外形和结构构建三维模型,并根据展示对象在实际场景中的相对位置,对三维模型进行布置,以此完成三维场景的搭建。
例如,在家装设计领域中,用户可以根据家装设计方案搭建三维场景,以此呈现房间的户型结构、空间布局以及房间中摆放的物品。在这里,执行主体可以是用户操作的终端设备,三维场景中的各个三维模型可以表征房间中摆放的物品的空间位置、结构和外形。当用户需要对三维模型的位置进行调整时,用户可以在三维建模软件的操作界面中选中该三维模型,此时可以将该三维模型确定为目标模型。
步骤120、基于目标模型的目标外接包围盒,确定至少一个参考方向。
作为示例,可以将目标外接包围盒的长度方向、宽度方向或高度方向中的一个或多个确定为参考方向。
再例如,还可以根据组成目标外接包围盒的平面确定一个或多个参考方向,具体的,可以将组成目标外接包围盒的6个平面的外法线方向均作为参考方向。
步骤130、从多个三维模型中确定出在参考方向上距离目标模型最近的参考模型。
在本实施例中,每个参考方向均对应一个参考模型。例如,当参考方向为目标外接包围盒的6个外法线方向时,可以在目标模型的上、下、左、右、前、后六个方向,分别确定一个参考模型。
步骤140、沿参考方向,生成连接目标模型与参考模型的第一三维线段。
作为示例,执行主体确定参考模型之后,可以将目标模型的中心与参考模型的中心作为端点,生成第一三维线段。
步骤150、将第一三维线段作为目标模型对应的第一三维辅助尺,并呈现第一三维线段的长度。
其中,第一三维线段的长度用于表征参考模型与目标模型在参考方向上的距离。
进一步结合图2进行示例性说明,图2示出了本公开的三维辅助尺的实现方法的所适用的场景示意图,如图2所示,执行主体可以将目标模型210的目标外接包围盒220的长度方向、宽度方向和高度方向作为三个参考方向,并确定出每个参考方向上距离目标模型210最近的参考模型230、240、250。之后,执行主体可以分别连接目标模型210与参考模型230、240、250,生成的第一三维线段260、270、280即为目标模型的第一三维辅助尺。
在本实施例中,可以根据用户的选取指令确定目标模型,并根据目标模型的外接包围盒确定至少一个参考方向;然后从三维场景中的各个三维模型中确定出在参考方向上距离目标模型最近的参考模型,并将连接参考模型与目标模型的第一三维线段作为第一三维辅助尺,通过第一三维线段的长度表征目标模型与参考模型在参考方向上的相对距离,可以更直观、更准确地表征三维模型在三维空间中的相对位置,有助于提高三维建模的效率和准确度。
在本实施例的一些可选的实施方式中,上述步骤120可以进一步包括:确定目标模型在三维场景中的目标外接包围盒,并将组成目标外接包围盒的各个平面确定为目标平面;将目标平面的外法线方向确定为参考方向。
在本实施方式中,执行主体可以根据目标模型在三维场景中的空间位姿确定目标外接包围盒在三维场景中的空间位姿,即可得到目标平面在三维场景中的空间位姿,进而确定目标平面的外法线在三维场景中的方向,并将目标平面的外法线方向确定为参考方向。可以根据目标模型在三维场景中的空间位姿确定参考方向,一方面可以确保三维模型的外形和结构与三维辅助尺的匹配程度,有助于提高三维辅助尺的视觉效果;另一方面,从多个方向确定目标模型对应的参考模型,可以从多个方向对目标模型的空间位置进行表征,有助于更准确、更全面、更直观地呈现目标模型的空间位置。
下面参考图3,图3示出了本公开的三维辅助尺的实现方法的一个实施例中确定参考模型的流程图,如图3所示,该流程包括以下步骤:
步骤310、确定目标模型之外的其他三维模型在三维场景中的候选外接包围盒,并将组成候选外接包围盒的平面确定为第一平面。
在本实施例中,执行主体可以根据目标模型之外的其他三维模型在三维场景中的空间位姿,确定多个候选外接包围盒,每个候选外接包围盒对应一组第一平面。
步骤320、将第一平面沿参考方向投影至目标平面所在的投影平面。
作为示例,执行主体可以以目标模型的目标平面为基准构建空间变换矩阵,通过对第一平面的空间位姿进行矩阵变换,将各个第一平面投影至目标平面所在的投影平面。
步骤330、若第一平面在投影平面中的投影与目标平面存在重叠区域,将第一平面确定为第二平面。
在本实施例中,若第一平面在投影平面中的投影与目标平面存在交集,表示目标模型沿参考方向移动时,第一平面与目标模型的移动路径相交,即第一平面对应的三维模型位于目标模型的移动路径上。
步骤340、确定第二平面与目标平面在参考方向上的距离,并将距离最小的第二平面确定为参考平面。
步骤350、将参考平面对应的三维模型确定为参考模型。
在图3所示的实施例中,基于参考方向和目标平面,通过投影碰撞算法确定参考方向对应的参考模型,有助于提高计算效率和准确度。
接着参考图4,图4示出了本公开的三维辅助尺的实现方法的又一个实施例的流程图,如图4所示,该流程包括以下步骤:
步骤410、响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型。
步骤420、基于目标模型的目标外接包围盒,确定至少一个参考方向。
步骤430、从多个三维模型中确定出在参考方向上距离目标模型最近的参考模型。
步骤440、沿参考方向,生成连接目标模型与参考模型的第一三维线段。
步骤450、将第一三维线段作为目标模型对应的第一三维辅助尺,并呈现第一三维线段的长度。
在本实施例中,步骤410至步骤450与前述步骤110至步骤150相对应,此处不再赘述。
步骤460、沿参考方向,生成连接目标模型与环境模型的第二三维线段。
在本实施例中,三维场景还包括环境模型,环境模型用于表征多个三维模型所处的空间环境。
在一个具体的示例中,环境模型可以表征房间的户型结构和空间布局。具体的,可以通过如下方式构建环境模型:提取房间的内墙线作为房间的墙线多边形轮廓;提取房间的内柱、烟道、包立管等多边形轮廓,作为剔除区域;然后,通过布尔运算,从墙线多边形轮廓中减去剔除区域,即可得到房间中可放置三维模型的内轮廓;之后,将内轮廓沿法线方向拉伸可以得到房间的多个墙面多边形,将内轮廓分别移动到房顶和地面可以得到房间的顶面多边形与地面多边形,从而得到房间对应的环境模型。进一步的,执行主体可以以目标外接包围盒的中心为起点,沿各个参考方向作射线,得到各个射线与环境模型的内表面的交点,连接目标外接包围盒的中心与各个交点,即可得到各个参考方向对应的第二三维线段。
步骤470、将第二三维线段作为目标模型的第二三维辅助尺,并呈现第二三维线段的长度。
在本实施例中,第二三维线段的长度表示目标模型在参考方向上与环境模型的相对位置。
在图4所示的实施例中,利用第一三维辅助尺表征目标模型与参考模型的相对位置,并利用第二三维辅助尺表征目标模型与环境模型的相对位置,可以从两个维度对目标模型的空间位置进行刻画,可以更准确、更全面地呈现三维模型的空间位置信息,有助于进一步提高三维场景的搭建效率和准确度。
在图4所示的实施例的一些可选的实施方式中,目标平面上预先确定有第一靶点和第二靶点。上述步骤440可以进一步包括:以第一靶点为起点,沿参考方向作第一射线,以确定第一射线与参考平面的第一交点;连接第一靶点与第一交点,得到第一三维线段。上述步骤450可以进一步包括:以第二靶点为起点,沿参考方向作第二射线,以确定第二射线与环境模型的至少一个交点;将至少一个交点中距离第二靶点最近的交点确定为第二交点;连接第二靶点与第二交点,得到第二三维线段。
在本实施方式中,第一靶点和第二靶点分别表示第一三维辅助尺和第二三维辅助尺在目标模型上的端点。作为示例,可以将目标平面的中心点作为第一靶点或第二靶点,将目标平面的预设边线的中点作为第二靶点或第一靶点。如此一来,可以在空间位置上区分第一三维辅助尺和第二三维辅助尺,避免造成混淆。
接着参考图5,图5示出了本公开的三维辅助尺的实现方法的又一个实施例的流程示意图,如图5所示,该流程包括以下步骤:
当执行主体生成第一三维线段和第二三维线段之后,可以每隔预设的时间间隔,执行步骤510:确定参考模型、生成第一三维线段和生成第二三维线段。
作为示例,可以通过节流器控制步骤510的执行周期。
步骤510之后,可以根据生成的第一三维线段和第二三维线段,重新确定第一三维辅助尺和第二三维辅助尺。
在本实施例中,通过周期性地执行步骤510,既可以周期性地更新目标模型与参考模型之间的相对位置信息,又可以降低用户无法感知的多余的计算任务,有助于提高三维场景模型的搭建过程中位置信息的时效性和运算效率。
在本实施例中,确定第一三维辅助尺和第二三维辅助尺之后,还可以接收用户针对目标模型的姿态编辑指令、针对其他三维模型的第一编辑指令以及针对环境模型的第二编辑指令,并根据接收到的指令对三维场景中的三维模型和环境模型进行调整。
具体的,当用户对目标模型的姿态进行调整时,可以执行步骤520:接收针对目标模型的姿态编辑指令;根据姿态编辑指令更新目标模型在三维场景中的姿态,并基于更新后的姿态,更新参考方向、参考模型、第一三维辅助尺和第二三维辅助尺。
作为示例,用户可以通过姿态编辑指令对目标模型在三维空间中的姿态进行调整,例如可以包括翻转、旋转等操作。当目标模型的姿态发生变化时,参考方向也会随之改变,执行主体可以基于更新后的姿态,重新确定参考方向、参考模型、第一三维辅助尺和第二三维辅助尺,以确保第一三维辅助尺、第二三维辅助尺与目标模型的姿态的一致性。
此外,当用户对其他三维模型和/或环境模型进行调整时,可以执行步骤530:接收针对其他三维模型的第一编辑指令;根据第一编辑指令,更新其他三维模型的位姿和/或三维结构,并基于更新后的其他三维模型,更新参考模型和第一三维辅助尺;接收针对环境模型的第二编辑指令;基于第二编辑指令,更新环境模型的三维结构,并基于更新后的环境模型,更新第二三维辅助尺。
在本实施例中,用户可以通过第一编辑指令对目标模型以外的其他三维模型进行编辑,例如可以调整其他三维模型的位置、姿态或三维结构,当其他三维模型的位置、姿态或三维结构发生变化时,可能会导致参考模型也随之变化,此时可以重新确定参考模型和第一三维辅助尺,以确保第一三维辅助尺的准确度。
用户还可以通过第二编辑指令对环境模的三维结构型进行编辑,当环境模型发生变化时,可能会导致第二三维辅助尺与变化后的环境模型不一致,此时,可以基于更新后的环境模型,重新确定第二三维辅助尺,以确保第二三维辅助尺的准确度。
在本实施例中,用户还可以直接对三维辅助尺进行编辑,以实现目标模型的移动,具体可以通过步骤540实现:接收针对第一三维辅助尺和/或第二三维辅助尺的长度编辑指令;按照长度编辑指令,沿第一三维辅助尺和/或第二三维辅助尺的延伸方向移动目标模型,并更新第一三维辅助尺和/或第二三维辅助尺。
作为示例,用户可以在三维建模软件的操作界面中选中第一三维辅助尺和/或第二三维辅助尺,并输入长度值,以控制目标模型与参考模型和/或环境模型的相对距离。例如,当输入的长度值大于第一三维辅助尺的原有长度时,可以沿参考方向的反方向移动目标模型,直至目标模型与参考模型的距离等于输入的长度值,可以精准地控制目标模型与参考模型之间的相对距离。再例如,当输入的长度值小于第二三维辅助尺的原有长度时,可以沿参考方向移动目标模型,直至目标模型与环境模型的距离等于输入的长度值,可以精准地控制目标模型与环境模型之间的相对距离。
在本实施例中,通过编辑第一三维辅助尺和/或第二三维辅助尺的长度值,可以实现目标模型的精准移动,有助于进一步提高准确度。
在图5所示的实施例的一些可选的实施方式中,可以将上一时刻的数据存入缓存,例如:上一个执行周期中步骤510得到的第一三维线段和第二三维线段;姿态编辑之前的目标模型的姿态、参考模型、第一三维辅助尺和第二三维辅助尺;第一编辑指令与第二编辑指令编辑之前的三维模型和环境模型的姿态、参考模型、第一三维辅助尺和第二三维辅助尺等数据。之后,可以在缓存中执行更新参考模型、第一三维辅助尺和第二三维辅助尺的步骤,如此一来,可以进一步提高三维辅助尺的实现过程中的运算效率。
示例性装置
下面结合图6对本公开的三维辅助尺的实现装置进行示例性说明,如图6所示,该装置包括:目标确定单元610,被配置成响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型;方向确定单元620,被配置成基于目标模型的目标外接包围盒,确定至少一个参考方向;模型确定单元630,被配置成从多个三维模型中确定出在参考方向上距离目标模型最近的参考模型;线段生成单元640,被配置成沿参考方向,生成连接目标模型与参考模型的第一三维线段;辅助尺确定单元650,被配置成将第一三维线段作为目标模型对应的第一三维辅助尺,并呈现第一三维线段的长度,第一三维线段的长度用于表征参考模型与目标模型在参考方向上的距离。
在其中一个实施方式中,方向确定单元620进一步包括:第一确定模块,被配置成确定目标模型在三维场景中的目标外接包围盒,并将组成目标外接包围盒的各个平面确定为目标平面;方向确定模块,被配置成将目标平面的外法线方向确定为参考方向。
在其中一个实施方式中,模型确定单元630进一步包括:第二确定模块,被配置成确定所述目标模型之外的其他三维模型在所述三维场景中的候选外接包围盒,并将组成候选外接包围盒的平面确定为第一平面;平面投影模块,被配置成将第一平面沿参考方向投影至目标平面所在的投影平面;第三确定模块,被配置成若第一平面在投影平面中的投影与目标平面存在重叠区域,将第一平面确定为第二平面;平面确定模块,被配置成确定第二平面与目标平面在参考方向上的距离,并将距离最小的第二平面确定为参考平面;模型确定模块,被配置成将参考平面对应的三维模型确定为参考模型。
在其中一个实施方式中,三维场景还包括环境模型,环境模型用于表征多个三维模型所处的空间环境;该装置还包括:第二线段单元,被配置成沿参考方向,生成连接目标模型与环境模型的第二三维线段;第二辅助尺单元,被配置成将第二三维线段作为目标模型的第二三维辅助尺,并呈现第二三维线段的长度。
在其中一个实施方式中,目标平面上预先确定有第一靶点和第二靶点;线段生成单元640进一步包括:第一射线模块,被配置成以第一靶点为起点,沿参考方向作第一射线,以确定第一射线与参考平面的第一交点;第一连接模块,被配置成连接第一靶点与第一交点,得到第一三维线段;第二线段单元进一步包括:第二射线单元,被配置成以第二靶点为起点,沿参考方向作第二射线,以确定第二射线与环境模型的至少一个交点;第二连接单元,被配置成将至少一个交点中距离第二靶点最近的交点确定为第二交点;连接第二靶点与第二交点,得到第二三维线段。
在其中一个实施方式中,该装置还包括:第一接收单元,被配置成接收针对第一三维辅助尺和/或第二三维辅助尺的长度编辑指令;第一编辑单元,被配置成按照长度编辑指令,沿第一三维辅助尺和/或第二三维辅助尺的延伸方向移动目标模型,并更新第一三维辅助尺和/或第二三维辅助尺。
在其中一个实施方式中,该装置还包括:迭代单元,被配置成每隔预设的时间周期,执行确定参考模型的操作、生成第一三维线段的操作和生成第二三维线段的操作。
在其中一个实施方式中,该装置还包括:第二接收单元,被配置成接收针对目标模型的姿态编辑指令;第二编辑单元,被配置成根据姿态编辑指令更新目标模型在三维场景中的姿态,并基于更新后的姿态,更新参考方向、参考模型、第一三维辅助尺和第二三维辅助尺。
在其中一个实施方式中,该装置还包括:第三接收单元,被配置成接收针对其他三维模型的第一编辑指令;第三编辑单元,被配置成根据第一编辑指令,更新其他三维模型的位姿和/或三维结构,并基于更新后的其他三维模型,更新参考模型和第一三维辅助尺;第四接收单元,被配置成接收针对环境模型的第二编辑指令;第四编辑单元,被配置成基于第二编辑指令,更新环境模型的三维结构,并基于更新后的环境模型,更新第二三维辅助尺。
示例性电子设备
下面,参考图7来描述根据本公开实施例的电子设备。
图7图示了根据本公开实施例的电子设备的框图。
如图7所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以存储一个或多个计算机程序产品,所述存储器可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序产品,处理器可以运行所述计算机程序产品,以实现上文所述的本公开的各个实施例的三维辅助尺的实现方法以及/或者其他期望的功能。
在一个示例中,电子装置还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图7中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的三维辅助尺的实现方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的三维辅助尺的实现方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (12)

1.一种三维辅助尺的实现方法,其特征在于,包括:
响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型;
基于所述目标模型的目标外接包围盒,确定至少一个参考方向,所述至少一个参考方向包括所述目标外接包围盒的长度方向、宽度方向或高度方向中的一个或多个,或者,所述至少一个参考方向根据组成所述目标外接包围盒的平面确定;
通过投影碰撞算法,从所述多个三维模型中确定出在所述参考方向上距离所述目标模型最近的参考模型;
沿所述参考方向,生成连接所述目标模型与所述参考模型的第一三维线段;
将所述第一三维线段作为所述目标模型对应的第一三维辅助尺,并呈现所述第一三维线段的长度,所述第一三维线段的长度用于表征所述参考模型与所述目标模型在所述参考方向上的距离。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标模型的目标外接包围盒,确定至少一个参考方向,包括:
确定所述目标模型在所述三维场景中的目标外接包围盒,并将组成所述目标外接包围盒的各个平面确定为目标平面;
将所述目标平面的外法线方向确定为参考方向。
3.根据权利要求2所述的方法,其特征在于,通过投影碰撞算法,从所述多个三维模型中确定出在所述参考方向上距离所述目标模型最近的参考模型,包括:
确定所述目标模型之外的其他三维模型在所述三维场景中的候选外接包围盒,并将组成所述候选外接包围盒的平面确定为第一平面;
将所述第一平面沿所述参考方向投影至所述目标平面所在的投影平面;
若所述第一平面在所述投影平面中的投影与所述目标平面存在重叠区域,将所述第一平面确定为第二平面;
确定所述第二平面与所述目标平面在所述参考方向上的距离,并将距离最小的第二平面确定为参考平面;
将所述参考平面对应的三维模型确定为所述参考模型。
4.根据权利要求3所述的方法,其特征在于,所述三维场景还包括环境模型,所述环境模型用于表征所述多个三维模型所处的空间环境;
所述方法还包括:
沿所述参考方向,生成连接所述目标模型与所述环境模型的第二三维线段;
将所述第二三维线段作为所述目标模型的第二三维辅助尺,并呈现所述第二三维线段的长度。
5.根据权利要求4所述的方法,其特征在于,所述目标平面上预先确定有第一靶点和第二靶点;
所述生成连接所述目标模型与所述参考模型的第一三维线段,包括:
以所述第一靶点为起点,沿所述参考方向作第一射线,以确定所述第一射线与所述参考平面的第一交点;
连接所述第一靶点与所述第一交点,得到所述第一三维线段;
所述生成连接所述目标模型与所述环境模型的第二三维线段,包括:
以所述第二靶点为起点,沿所述参考方向作第二射线,以确定所述第二射线与所述环境模型的至少一个交点;
将所述至少一个交点中距离所述第二靶点最近的交点确定为第二交点;
连接所述第二靶点与所述第二交点,得到所述第二三维线段。
6.根据权利要求5所述的方法,其特征在于,还包括:
接收针对所述第一三维辅助尺和/或所述第二三维辅助尺的长度编辑指令;
按照所述长度编辑指令,沿所述第一三维辅助尺和/或所述第二三维辅助尺的延伸方向移动所述目标模型,并更新所述第一三维辅助尺和/或所述第二三维辅助尺。
7.根据权利要求4至6之一所述的方法,其特征在于,所述方法还包括:
每隔预设的时间周期,执行确定所述参考模型的操作、生成所述第一三维线段的操作和生成所述第二三维线段的操作。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收针对所述目标模型的姿态编辑指令;
根据所述姿态编辑指令更新所述目标模型在所述三维场景中的姿态,并基于更新后的姿态,更新所述参考方向、所述参考模型、所述第一三维辅助尺和所述第二三维辅助尺。
9.根据权利要求8所述的方法,其特征在于,还包括:
接收针对所述其他三维模型的第一编辑指令;
根据所述第一编辑指令,更新所述其他三维模型的位姿和/或三维结构,并基于更新后的其他三维模型,更新所述参考模型和所述第一三维辅助尺;
接收针对所述环境模型的第二编辑指令;
基于所述第二编辑指令,更新所述环境模型的三维结构,并基于更新后的环境模型,更新所述第二三维辅助尺。
10.一种三维辅助尺的实现装置,其特征在于,包括:
目标确定单元,被配置成响应于用户的选取指令,从三维场景中预先放置的多个三维模型中确定出目标模型;
方向确定单元,被配置成基于所述目标模型的目标外接包围盒,确定至少一个参考方向,所述至少一个参考方向包括所述目标外接包围盒的长度方向、宽度方向或高度方向中的一个或多个,或者,所述至少一个参考方向根据组成所述目标外接包围盒的平面确定;
模型确定单元,被配置成通过投影碰撞算法,从所述多个三维模型中确定出在所述参考方向上距离所述目标模型最近的参考模型;
线段生成单元,被配置成沿所述参考方向,生成连接所述目标模型与所述参考模型的第一三维线段;
辅助尺确定单元,被配置成将所述第一三维线段作为所述目标模型对应的第一三维辅助尺,并呈现所述第一三维线段的长度,所述第一三维线段的长度用于表征所述参考模型与所述目标模型在所述参考方向上的距离。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1-9任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-9任一所述的方法。
CN202211411102.3A 2022-11-11 2022-11-11 三维辅助尺的实现方法、装置、设备和介质 Active CN115761122B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211411102.3A CN115761122B (zh) 2022-11-11 2022-11-11 三维辅助尺的实现方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211411102.3A CN115761122B (zh) 2022-11-11 2022-11-11 三维辅助尺的实现方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN115761122A CN115761122A (zh) 2023-03-07
CN115761122B true CN115761122B (zh) 2023-07-14

Family

ID=85369470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211411102.3A Active CN115761122B (zh) 2022-11-11 2022-11-11 三维辅助尺的实现方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN115761122B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109816704B (zh) * 2019-01-28 2021-08-03 北京百度网讯科技有限公司 物体的三维信息获取方法和装置
CN111760288B (zh) * 2020-06-10 2024-03-12 网易(上海)网络有限公司 虚拟三维场景中方位显示方法、装置、终端和存储介质
CN114842175B (zh) * 2022-04-22 2023-03-24 如你所视(北京)科技有限公司 三维标签的交互呈现方法、装置、设备和介质

Also Published As

Publication number Publication date
CN115761122A (zh) 2023-03-07

Similar Documents

Publication Publication Date Title
CN110363853B (zh) 家具摆放方案生成方法、装置以及设备、存储介质
US10916054B2 (en) Three-dimensional mesh deformation using deep learning neural networks
US20170092000A1 (en) Method and system for positioning a virtual object in a virtual simulation environment
JP3574202B2 (ja) 図形入出力装置
US11816397B2 (en) Generating designs for multi-family housing projects using rigid body simulations
US11663779B2 (en) Techniques for generating stylized quad-meshes from tri-meshes
CN107667365B (zh) 计算机辅助设计(cad)环境中自动组装部件的方法和设备
JP2023529790A (ja) フロアプランを生成するための方法、装置およびプログラム
US20160357880A1 (en) Computer-readable storage medium, design apparatus, and design method
CN115761122B (zh) 三维辅助尺的实现方法、装置、设备和介质
CN115861547B (zh) 一种基于投影的模型表面样条线生成方法
CN111080792B (zh) 模型简化处理方法、装置以及电子设备、存储介质
US20220111515A1 (en) Method and Apparatus for Managing Robot Program
De Amicis et al. Parametric interaction for cad application in virtual reality environment
CN111612874B (zh) 一种用于绘制复杂模型的3d画板
CN116245931B (zh) 物品属性参数的确定方法、装置、设备、介质和产品
CN113129362B (zh) 一种三维坐标数据的获取方法及装置
JP3651476B2 (ja) 分解組立図作成装置および方法
CN116433877B (zh) 确定物体模型摆放面的方法、电子设备及存储介质
CN117576359B (zh) 基于Unity网页平台的3D模型构建方法及装置
US20230205941A1 (en) Method and system for trimming intersecting bodies in a computer-aided design environment
JP2755398B2 (ja) ソリッドモデルに対する点の内外判定処理方法
WO2024005851A1 (en) Floor plan extraction
AU2022287679A1 (en) Responsive video canvas generation
KR20240057685A (ko) 공간 모델을 생성하는 방법, 장치 및 컴퓨터 프로그램

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