CN112200861B - 柱类型的确定方法和装置、存储介质及电子设备 - Google Patents
柱类型的确定方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112200861B CN112200861B CN202011193965.9A CN202011193965A CN112200861B CN 112200861 B CN112200861 B CN 112200861B CN 202011193965 A CN202011193965 A CN 202011193965A CN 112200861 B CN112200861 B CN 112200861B
- Authority
- CN
- China
- Prior art keywords
- target
- point
- line segment
- endpoint
- determining
- 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
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种点与线位置关系的确定方法和装置、存储介质及电子设备。其中,该方法包括:通过获取目标线段的第一端点的坐标值和第二端点的坐标值;获取目标点的坐标值;计算目标点与第一端点或第二端点之间的目标距离;根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上,达到了根据目标点与目标线段之间的距离确定点与线之间位置关系的目的,进而解决了现有技术中,确定点与线之间的位置关系效率较低的技术问题。
Description
技术领域
本发明涉及建筑模型辅助设计技术领域,具体而言,涉及一种点与线位置关系的确定方法和装置、存储介质及电子设备。
背景技术
在目前的开发设计中,常会遇到类似的问题,比如判断柱的类型是角柱、边柱还是中柱。如果没有提供一个统一接口给开发人员,每次需要使用功能,开发人员都会自己去思考、设计、实现。其中可能存在漏洞,执行效率不高等问题,这会增加开发人员工作时间,降低开发效率。
需要说明的是,框架结构中生成柱时,需要判断应该在某个位置放置什么类型的柱,如边柱、角柱、中柱等。在选择放置时需要根据柱上的点与放置位置所有房间的外墙线和内墙线之间的关系,即需要判断柱上点的关系与线之间的位置关系,进而根据位置关系选择对应的柱类型。
现有技术中,每次选择类型时都需要人工计算点与线之间的位置关系,导致框架结构生成效率较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种点与线位置关系的确定方法和装置、存储介质及电子设备,以至少解决现有技术中,确定点与线之间的位置关系效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种点与线位置关系的确定方法,包括:获取目标线段的第一端点的坐标值和第二端点的坐标值;获取目标点的坐标值;计算所述目标点与所述第一端点或所述第二端点之间的目标距离;根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系,其中,所述第一位置关系包括所述目标点位于所述目标线段上,或所述目标点不位于所述目标线段上。
可选的,所述根据所述目标距离确定所述目标点与所述目标线段之间的位置关系,包括:在所述目标距离为零的情况下,确定所述目标点位于所述目标线段上;在所述目标距离不为零的情况下,确定所述目标点不位于所述目标线段上。
可选的,所述计算所述目标点与所述第一端点或所述第二端点之间的目标距离,包括:通过向量点积算法计算所述目标点与所述第一端点或所述第二端点之间的目标距离,其中,所述目标距离包括所述目标点与所述第一端点之间的第一距离,所述目标点与所述第二端点之间的第二距离。
可选的,所述通过向量点积算法计算所述目标点与所述目标线段之间的目标距离,包括:获取所述目标点的映射点与所述目标线段之间的第二位置关系,其中,其中,所述映射点与所述目标点的连线垂直于所述目标线段或所述目标线段延长线,所述第二位置关系包括所述映射点位于以所述第一端点为起点的延长线上,或所述映射点位于以所述第二端点为起始点的延长线上;在所述映射点位于以所述第一端点为起点的延长线上的情况下,计算所述目标点与所述第一端点之间的第一距离;在所述映射点位于以所述第二端点为起始点的延长线上的情况下,计算所述目标点与所述第二端点之间的第二距离。
可选的,所述获取所述目标点的映射点与所述目标线段之间的第二位置关系,包括:获取所述第一端点和所述目标点之间的第一向量,其中,所述第一向量的方向为从所述第一端点指向所述目标点,所述第一向量的大小记为第一数据;获取所述第一端点和所述第二端点之间的第二向量,其中,所述第二向量的方向为从所述第一端点指向所述第二端点,所述第二向量的大小记为第二数据;根据所述第一向量和所述第二向量计算目标参数;根据所述目标参数用于确定所述映射点与所述目标线段之间的第二位置关系。
可选的,所述根据所述第一向量和所述第二向量计算目标参数,包括:根据所述第一向量点积除以所述第二向量点积计算所述目标参数。
可选的,所述根据所述目标参数用于确定所述映射点与所述目标线段之间的第二位置关系,包括:在所述目标参数取值范围在区间[0,1]之间的情况下,确定所述映射点位于所述目标线段上;在所述目标参数小于0的情况下,确定所述映射点位于以所述第一端点为起点的延长线上;在所述目标参数大于1的情况下,确定所述映射点位于以所述第二端点为起点的延长线上。
可选的,根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系之后,所述方法还包括:在第一目标点位于第一目标线段上、且第二目标点位于第二目标线段上的情况下,确定目标位置为角柱,其中,所述目标点至少包括所述第一目标点和所述第二目标点,所述第一目标线段和所述第二目标线段是目标房间的外墙线,所述目标点是角柱;或在第三目标点位于第三目标线段上的情况下,确定目标位置为边柱,其中,所述目标点包括所述第三目标点,所述第三目标线段是目标房间的外墙线,所述目标点是所述边柱;在第四目标点不位于第四目标线段上的情况下,确定目标位置为中柱,其中,所述目标点包括所述第四目标点,所述第四目标线段是目标房间的任意的外墙线,所述目标点是所述中柱。
根据本发明实施例的另一方面,还提供了一种点与线位置关系的确定装置,包括:第一获取单元,用于获取目标线段的第一端点的坐标值和第二端点的坐标值;第二获取单元,用于获取目标点的坐标值;计算单元,用于计算所述目标点与所述第一端点或所述第二端点之间的目标距离;确定单元,用于根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系,其中,所述第一位置关系包括所述目标点位于所述目标线段上,或所述目标点不位于所述目标线段上。
可选的,上述确定单元,包括:第一确定模块,用于在所述目标距离为零的情况下,确定所述目标点位于所述目标线段上;第二确定模块,用于在所述目标距离不为零的情况下,确定所述目标点不位于所述目标线段上。
可选的,上述计算单元,包括:计算模块,用于通过向量点积算法计算所述目标点与所述第一端点或所述第二端点之间的目标距离,其中,所述目标距离包括所述目标点与所述第一端点之间的第一距离,所述目标点与所述第二端点之间的第二距离。
可选的,上述计算模块,包括:第一获取子模块,用于获取所述目标点的映射点与所述目标线段之间的第二位置关系,其中,其中,所述映射点与所述目标点的连线垂直于所述目标线段或所述目标线段延长线,所述第二位置关系包括所述映射点位于以所述第一端点为起点的延长线上,或所述映射点位于以所述第二端点为起始点的延长线上;第一计算子模块,用于在所述映射点位于以所述第一端点为起点的延长线上的情况下,计算所述目标点与所述第一端点之间的第一距离;第二计算子模块,用于在所述映射点位于以所述第二端点为起始点的延长线上的情况下,计算所述目标点与所述第二端点之间的第二距离。
可选的,上述第一获取子模块,用于获取所述第一端点和所述目标点之间的第一向量,其中,所述第一向量的方向为从所述第一端点指向所述目标点,所述第一向量的大小记为第一数据;获取所述第一端点和所述第二端点之间的第二向量,其中,所述第二向量的方向为从所述第一端点指向所述第二端点,所述第二向量的大小记为第二数据;根据所述第一向量和所述第二向量计算目标参数;根据所述目标参数用于确定所述映射点与所述目标线段之间的第二位置关系。
可选的,上述第一计算子模块,还用于根据所述第一向量点积除以所述第二向量点积计算所述目标参数。
可选的,上述第一计算子模块,还用于执行如下操作:在所述目标参数取值范围在区间[0,1]之间的情况下,确定所述映射点位于所述目标线段上;在所述目标参数小于0的情况下,确定所述映射点位于以所述第一端点为起点的延长线上;在所述目标参数大于1的情况下,确定所述映射点位于以所述第二端点为起点的延长线上。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述点与线位置关系的确定方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的点与线位置关系的确定方法。
在本发明实施例中,通过获取目标线段的第一端点的坐标值和第二端点的坐标值;获取目标点的坐标值;计算目标点与第一端点或第二端点之间的目标距离;根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上,达到了根据目标点与目标线段之间的距离确定点与线之间位置关系的目的,进而解决了现有技术中,确定点与线之间的位置关系效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的点与线位置关系的确定方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的点与线位置关系的确定方法的流程图;
图3是根据本发明实施例的一种可选的框架结构中不同柱类型的示意图;
图4是根据本发明实施例的一种可选的目标距离的计算示意图;
图5是根据本发明实施例的一种可选的目标线段向量的示意图;
图6是根据本发明实施例的一种可选的映射点与目标线段映射关系计算示意图(一);
图7是根据本发明实施例的一种可选的映射点与目标线段映射关系计算示意图(二);
图8是根据本发明实施例的一种可选的映射点与目标线段映射关系计算示意图(三);
图9是根据本发明实施例的一种可选的目标点的映射点在目标线段内的示意图;
图10是根据本发明实施例的一种可选的目标点的映射点在目标线段延长线上的示意图(一);
图11是根据本发明实施例的一种可选的目标点的映射点在目标线段延长线上的示意图(二);
图12是根据本发明实施例的一种可选的点与线位置关系的确定装置的结构示意图;
图13是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种点与线位置关系的确定方法,可选地,作为一种可选的实施方式,上述点与线之间位置关系的确定方法可以但不限于应用于如图1所示的环境中。如图1所示,终端设备102上运行有几何画图的客户端(例如,CAD、UG或solidwork)。其中,该几何画图客户端可以包括但不限于应用建筑、机械等行业,通过该客户端,用户可以进行绘制建筑或机械零件。终端设备112获取目标线段的第一端点坐标值和第二端点坐标值,并将第一端点坐标值和第二端点坐标值发送至服务器104。服务器104可以是客户端的后台服务器。服务器104确定目标点与目标线段之间的第一位置关系,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上,然后通过网络110将位置关系发送给终端设备102,然后在终端设备102中,显示点与线的位置关系,例如,服务器114确定目标点与目标线段的位置关系为目标点位于目标线段上。以上仅为一种示例,本申请实施例在此不作限定。
可以理解,上述点与线位置关系的确定方法可以封装在应用客户端的库文件中,在进行点与新线位置关系的确定中,可以直接获取点的坐标值和线段两端点的坐标值,便可以调用封装好的功能快速获得结果。
可选地,在本实施例中,上述终端设备102可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是画图客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述点与线位置关系的确定方法包括:
步骤S202,获取目标线段的第一端点的坐标值和第二端点的坐标值.
步骤S204,获取目标点的坐标值。
步骤S206,计算目标点与第一端点或第二端点之间的目标距离。
步骤S208,根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上。
可选的,在本实施例中,上述点与线位置关系的确定方法可以包括但不限于空间点与线之间的位置关系的确定,以及根据点与线之间的位置关系,确定框架结构中生成柱时,需要判断应该在某个位置放置什么类型的柱,如边柱、角柱、中柱等,也就是说,应用在几何画图中,获取点与线之间的位置关系,进一步的,确定下一步操作。
通过本申请提供的实施例,获取目标线段的第一端点的坐标值和第二端点的坐标值;获取目标点的坐标值;计算目标点与第一端点或第二端点之间的目标距离;根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上,达到了根据目标点与目标线段之间的距离确定点与线之间位置关系的目的,进而解决了现有技术中,确定点与线之间的位置关系效率较低的技术问题。
下面结合图2说明本实施例中一种点与线位置关系的确定方案。
在步骤S202中,获取目标线段的第一端点的坐标值,第二端点的坐标值。
目标线段是由确定长度的直线,包括两个端点,即第一端点和第二端点。在画图工具(客户端)中,可以获取目标线段的第一端点的坐标值和第二端点的坐标值。在平面空间中,坐标值可以是二维坐标,坐标值可以为(x,y),在三维空间中,坐标值可以是三维坐标,坐标值为(x,y,z)。
在步骤S204中,获取目标点坐标值,即在画图工具中获取任意一点的坐标值,其中,该坐标值代表柱所在的位置,即将柱抽象一个点,通过目标点的坐标值表示柱。进一步的根据目标点与目标线段之间的位置关系,判断位于目标点位置的柱的类型。如图3所示,框架结构中不同柱类型的示意图。在图3中包括,边柱、角柱、中柱。其中,判断框架结构中柱的类型逻辑如下:取得所有房间的外墙线和内墙线;角柱:至少在两个外墙线上;边柱:在一个外墙线上;中柱:没有在外墙线上。
可选的,在本实施例中,根据目标距离确定目标点与目标线段之间的第一位置关系之后,上述方法还可以包括:在第一目标点位于第一目标线段上、且第二目标点位于第二目标线段上的情况下,确定目标位置为角柱,其中,目标点至少包括第一目标点和第二目标点,第一目标线段和第二目标线段是目标房间的外墙线,目标点是角柱;或在第三目标点位于第三目标线段上的情况下,确定目标位置为边柱,其中,目标点包括第三目标点,第三目标线段是目标房间的外墙线,目标点是边柱;在第四目标点不位于第四目标线段上的情况下,确定目标位置为中柱,其中,目标点包括第四目标点,第四目标线段是目标房间的任意的外墙线,目标点是中柱。
在本实施例中,可以根据点与线之间的位置关系可以确定目标位置处安装的是角柱、边柱还是中柱。
可以理解,根据目标坐标值与线之间的位置关系,可以判断出柱的类型。类似的,可以还可以判断出三角形、圆等类型。上述仅是一种示例,本实施例中对此不作任何限定。
在步骤S206中,计算目标点与第一端点或第二端点之间的目标距离。也就是说,根据目标点与第一端点和第二端点之间的位置关系,计算目标点与目标线段之间的目标距离。如图4所示,目标距离的计算示意图。在目标点位于第一端点的左侧,则计算目标点与第一端点之间的目标距离,在目标点位于第二端点的右侧,则计算目标点与第二端点之间的目标距离,以及目标点位于第一端点与第二端点之间,目标点与目标点映射在目标线段上映射点之间的目标距离。
可选的,根据目标距离确定目标点与目标线段之间的位置关系,可以包括:在目标距离为零的情况下,确定目标点位于目标线段上;在目标距离不为零的情况下,确定目标点不位于目标线段上。
可选的,计算目标点与第一端点或第二端点之间的目标距离,可以包括:通过向量点积算法计算目标点与第一端点或第二端点之间的目标距离,其中,目标距离包括目标点与第一端点之间的第一距离,目标点与第二端点之间的第二距离。
其中,向量点积是:一条边向另一条边的投影,具体的是:第一向量在第二向量上的投影。其中,向量点积是数学中的物理含义。
可选的,通过向量点积算法计算目标点与目标线段之间的目标距离,包括:获取目标点的映射点与目标线段之间的第二位置关系,其中,映射点与目标点的连线垂直于目标线段或目标线段延长线,第二位置关系包括映射点位于以第一端点为起点的延长线上,或映射点位于以第二端点为起始点的延长线上;在映射点位于以第一端点为起点的延长线上的情况下,计算目标点与第一端点之间的第一距离;在映射点位于以第二端点为起始点的延长线上的情况下,计算目标点与第二端点之间的第二距离。
在本实施例中,目标点的映射点位于目标线段上是,根据向量点积算法可以确定目标距离为0,确定目标点位于目标线段上,需要说明的是,目标点可以位于目标线段的第一端点或第二端点。
可选的,获取目标点的映射点与目标线段之间的第二位置关系,包括:获取第一端点和目标点之间的第一向量,其中,第一向量的方向为从第一端点指向目标点,第一向量的大小记为第一数据;获取第一端点和第二端点之间的第二向量,其中,第二向量的方向为从第一端点指向第二端点,第二向量的大小记为第二数据;根据第一向量和第二向量计算目标参数;根据目标参数用于确定映射点与目标线段之间的第二位置关系。
可选的,根据第一向量和第二向量计算目标参数,包括:根据第一向量点积除以第二向量点积计算目标参数。
在本实施例中,如图5所示,目标线段向量的示意图。在图5中,第一端点记为start、第二端点记为end、端点记为point。目标线段向量dir记为第一端点1到第二端点2的向量。
目标参数可以包括是双精度浮点数t,该t的计算方式为第一端点到第二端点的向量点积除以dir与dir的点积,根据t的值判断映射点的位置。
可选的,根据目标参数用于确定映射点与目标线段之间的第二位置关系的情况:
情况一:在目标参数取值范围在区间[0,1]之间的情况下,确定映射点位于目标线段。
情况二:在目标参数小于0的情况下,确定映射点位于以第一端点为起点的延长线上。
情况三:在目标参数大于1的情况下,确定映射点位于以第二端点为起点的延长线上。
在本实施例中,目标点的映射点与目标线段位置关系根据目标参数t判断逻辑如下:
如果0≤t≤1,那么映射点在线段中或者在线段的第一端点或者第二端点上。也就是说,映射点在目标线段上。如图6所示,映射点与目标线段映射关系计算示意图(一)。
在图6中,第一向量:point-p,第二向量dir。目标参数t=第一向量点积/第二向量点积。在图6中的目标点垂直于目标线段,夹角θ为90度,目标参数为0。
如果t<0,那么映射点取端点1,表示在端点1外侧一端。如图7所示,映射点与目标线段映射关系计算示意图(二)。在图7中,夹角θ为大于90度,目标参数小于0。
如果t>1,那么映射点取端点2,表示在端点2外侧一端。如图8所示,映射点与目标线段映射关系计算示意图(三)。在图8中,夹角θ为小于90度,目标参数大于1。
通过向量点积算法计算目标点与目标线段之间的目标距离,在目标距离计算时,分为第一端点与目标点计算目标距离,第二端点与目标点计算目标距离。
如图9所示,目标点的映射点在目标线段内的示意图;
如图10所示,目标点的映射点在目标线段延长线上的示意图(一);
如图11所示,目标点的映射点在目标线段延长线上的示意图(二);
通过本申请通过的实施例,使用者只需在项目中引用库文件中上述与线位置关系确定功能,获取功能接口的相应参数(目标点坐标值、目标线段的两端点坐标值),调用封装好的功能快速获得结果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述点与线位置关系的确定方法的点与线位置关系的确定装置。如图12所示,该点与线位置关系的确定装置包括:第一获取单元1201、第二获取单元1203、计算单元1205及确定单元1207。
第一获取单元1201,用于获取目标线段的第一端点的坐标值和第二端点的坐标值;
第二获取单元1203,用于获取目标点的坐标值;
计算单元1205,用于计算目标点与第一端点或第二端点之间的目标距离;
确定单元1207,用于根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上。
可选的,在本实施例中,上述确定单元,可以包括:
第一确定模块,用于在目标距离为零的情况下,确定目标点位于目标线段上;
第二确定模块,用于在目标距离不为零的情况下,确定目标点不位于目标线段上。
可选的,在本实施例中,上述计算单元,可以包括:
计算模块,用于通过向量点积算法计算目标点与第一端点或第二端点之间的目标距离,其中,目标距离包括目标点与第一端点之间的第一距离,目标点与第二端点之间的第二距离。
其中,上述计算模块,可以包括:
第一获取子模块,用于获取目标点的映射点与目标线段之间的第二位置关系,其中,其中,映射点与目标点的连线垂直于目标线段或目标线段延长线,第二位置关系包括映射点位于以第一端点为起点的延长线上,或映射点位于以第二端点为起始点的延长线上;
第一计算子模块,用于在映射点位于以第一端点为起点的延长线上的情况下,计算目标点与第一端点之间的第一距离;
第二计算子模块,用于在映射点位于以第二端点为起始点的延长线上的情况下,计算目标点与第二端点之间的第二距离。
通过本申请提供的实施例,第一获取单元1201获取目标线段的第一端点的坐标值和第二端点的坐标值;第二获取单元1203获取目标点的坐标值;计算单元1205计算目标点与第一端点或第二端点之间的目标距离;确定单元1207根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上。达到了根据目标点与目标线段之间的距离确定点与线之间位置关系的目的,进而解决了现有技术中,确定点与线之间的位置关系效率较低的技术问题。
可选的,在本实施例中,上述第一获取子模块,用于获取第一端点和目标点之间的第一向量,其中,第一向量的方向为从第一端点指向目标点,第一向量的大小记为第一数据;用于获取第一端点和第二端点之间的第二向量,其中,第二向量的方向为从第一端点指向第二端点,第二向量的大小记为第二数据;用于根据第一向量和第二向量计算目标参数;用于根据目标参数用于确定映射点与目标线段之间的第二位置关系。
可选的,在本实施例中,上述第一计算子模块,还用于根据第一向量点积除以第二向量点积计算目标参数。
可选的,在本实施例中,上述第一计算子模块,还用于在目标参数取值范围在区间[0,1]之间的情况下,确定映射点位于目标线段上;
还用于在目标参数小于0的情况下,确定映射点位于以第一端点为起点的延长线上;
还用于在目标参数大于1的情况下,确定映射点位于以第二端点为起点的延长线上。
根据本发明实施例的又一个方面,还提供了一种用于实施上述点与线位置关系的确定方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图13所示,该电子设备包括存储器1302和处理器1304,该存储器1302中存储有计算机程序,该处理器1304被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标线段的第一端点的坐标值和第二端点的坐标值;
S2,获取目标点的坐标值;
S3,计算目标点与第一端点或第二端点之间的目标距离;
S4,根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上。
可选地,本领域普通技术人员可以理解,图13所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图13其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图13中所示更多或者更少的组件(如网络接口等),或者具有与图13所示不同的配置。
其中,存储器1302可用于存储软件程序以及模块,如本发明实施例中的点与线位置关系的确定方法和装置对应的程序指令/模块,处理器1304通过运行存储在存储器1302内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的点与线位置关系的确定方法。存储器1302可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1302可进一步包括相对于处理器1304远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1302具体可以但不限于用于目标点坐标值、第一端点坐标值、第二端点坐标值以及点与线的位置关系等信息。作为一种示例,如图13所示,上述存储器1302中可以但不限于包括上述点与线位置关系的确定装置中的第一获取单元1201、第二获取单元1203、计算单元1205及确定单元1207。此外,还可以包括但不限于上述点与线位置关系的确定装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1306包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1306为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1308,用于显示上述点与线位置关系;和连接总线1310,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述点与线位置关系的确定方面或者点与线位置关系的确定方面的各种可选实现方式中提供的点与线位置关系的确定方法,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标线段的第一端点的坐标值和第二端点的坐标值;
S2,获取目标点的坐标值;
S3,计算目标点与第一端点或第二端点之间的目标距离;
S4,根据目标距离确定目标点与目标线段之间的第一位置关系,其中,第一位置关系包括目标点位于目标线段上,或目标点不位于目标线段上。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种柱类型的确定方法,其特征在于,包括:
获取目标线段的第一端点的坐标值和第二端点的坐标值;
获取目标点的坐标值;
计算所述目标点与所述第一端点或所述第二端点之间的目标距离;
根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系,其中,所述第一位置关系包括所述目标点位于所述目标线段上,或所述目标点不位于所述目标线段上;
根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系之后,所述方法还包括:
在第一目标点位于第一目标线段上、且第二目标点位于第二目标线段上的情况下,确定所述第一目标点和第二目标点为角柱,其中,所述目标点至少包括所述第一目标点和所述第二目标点,所述第一目标线段和所述第二目标线段是目标房间的外墙线,所述目标点是角柱;或
在第三目标点位于第三目标线段上的情况下,确定所述第三目标点为边柱,其中,所述目标点包括所述第三目标点,所述第三目标线段是目标房间的外墙线,所述目标点是所述边柱;或
在第四目标点不位于第四目标线段上的情况下,确定所述第四目标点为中柱,其中,所述目标点包括所述第四目标点,所述第四目标线段是目标房间的任意的外墙线,所述目标点是所述中柱。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系,包括:
在所述目标距离为零的情况下,确定所述目标点位于所述目标线段上;
在所述目标距离不为零的情况下,确定所述目标点不位于所述目标线段上。
3.根据权利要求1所述的方法,其特征在于,所述计算所述目标点与所述第一端点或所述第二端点之间的目标距离,包括:
通过向量点积算法计算所述目标点与所述目标线段之间的目标距离;
其中,所述通过向量点积算法计算所述目标点与所述目标线段之间的目标距离,包括:获取所述目标点的映射点与所述目标线段之间的第二位置关系,其中,所述映射点与所述目标点的连线垂直于所述目标线段或所述目标线段延长线,所述第二位置关系包括所述映射点位于以所述第一端点为起点的延长线上,或所述映射点位于以所述第二端点为起始点的延长线上;在所述映射点位于以所述第一端点为起点的延长线上的情况下,计算所述目标点与所述第一端点之间的第一距离;在所述映射点位于以所述第二端点为起始点的延长线上的情况下,计算所述目标点与所述第二端点之间的第二距离;所述获取所述目标点的映射点与所述目标线段之间的第二位置关系,包括:获取所述第一端点和所述目标点之间的第一向量,其中,所述第一向量的方向为从所述第一端点指向所述目标点,所述第一向量的大小记为第一数据;获取所述第一端点和所述第二端点之间的第二向量,其中,所述第二向量的方向为从所述第一端点指向所述第二端点,所述第二向量的大小记为第二数据;根据所述第一向量和所述第二向量计算目标参数;根据所述目标参数用于确定所述映射点与所述目标线段之间的第二位置关系;所述根据所述第一向量和所述第二向量计算目标参数,包括:根据所述第一向量与所述第二向量点积除以所述第二数据的平方计算所述目标参数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标参数用于确定所述映射点与所述目标线段之间的第二位置关系,包括:
在所述目标参数取值范围在区间[0,1]之间的情况下,确定所述映射点位于所述目标线段上;
在所述目标参数小于0的情况下,确定所述映射点位于以所述第一端点为起点的延长线上;
在所述目标参数大于1的情况下,确定所述映射点位于以所述第二端点为起点的延长线上。
5.一种柱类型的确定装置,其特征在于,包括:
第一获取单元,用于获取目标线段的第一端点的坐标值和第二端点的坐标值;
第二获取单元,用于获取目标点的坐标值;
计算单元,用于计算所述目标点与所述第一端点或所述第二端点之间的目标距离;
确定单元,用于根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系,其中,所述第一位置关系包括所述目标点位于所述目标线段上,或所述目标点不位于所述目标线段上;
所述装置还用于根据所述目标距离确定所述目标点与所述目标线段之间的第一位置关系之后,在第一目标点位于第一目标线段上、且第二目标点位于第二目标线段上的情况下,确定目标点为角柱,其中,所述目标点至少包括所述第一目标点和所述第二目标点,所述第一目标线段和所述第二目标线段是目标房间的外墙线,所述目标点是角柱;或,在第三目标点位于第三目标线段上的情况下,确定目标点为边柱,其中,所述目标点包括所述第三目标点,所述第三目标线段是目标房间的外墙线,所述目标点是所述边柱;或,在第四目标点不位于第四目标线段上的情况下,确定目标点为中柱,其中,所述目标点包括所述第四目标点,所述第四目标线段是目标房间的任意的外墙线,所述目标点是所述中柱。
6.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至4任一项中所述的方法。
7.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至4任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011193965.9A CN112200861B (zh) | 2020-10-30 | 2020-10-30 | 柱类型的确定方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011193965.9A CN112200861B (zh) | 2020-10-30 | 2020-10-30 | 柱类型的确定方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112200861A CN112200861A (zh) | 2021-01-08 |
CN112200861B true CN112200861B (zh) | 2023-02-17 |
Family
ID=74012205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011193965.9A Active CN112200861B (zh) | 2020-10-30 | 2020-10-30 | 柱类型的确定方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112200861B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946895A (zh) * | 2021-10-22 | 2022-01-18 | 深圳须弥云图空间科技有限公司 | 建筑模型的墙体标注方法、装置、电子设备及可读介质 |
CN114880980B (zh) * | 2022-05-25 | 2022-11-25 | 上海合见工业软件集团有限公司 | 用于eda工具的位置数据处理方法、电子设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909187A (zh) * | 2017-10-19 | 2018-04-13 | 东南大学 | 一种快速匹配电子地图中公交站点与路段的方法 |
CN110851896A (zh) * | 2019-09-29 | 2020-02-28 | 成都信息工程大学 | 基于局部邻域信息的cad外墙体识别方法及装置 |
CN111737802A (zh) * | 2020-06-24 | 2020-10-02 | 广州华建工智慧科技有限公司 | 一种基于三维模型及语义描述信息的自动柱拆分梁的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6473593B2 (ja) * | 2014-09-30 | 2019-02-20 | センクシア株式会社 | 柱接合用部材、柱の接合構造 |
CN108376248B (zh) * | 2018-02-09 | 2020-09-11 | 广州大学 | 基于建筑图纸的柱和墙自动识别方法 |
-
2020
- 2020-10-30 CN CN202011193965.9A patent/CN112200861B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909187A (zh) * | 2017-10-19 | 2018-04-13 | 东南大学 | 一种快速匹配电子地图中公交站点与路段的方法 |
CN110851896A (zh) * | 2019-09-29 | 2020-02-28 | 成都信息工程大学 | 基于局部邻域信息的cad外墙体识别方法及装置 |
CN111737802A (zh) * | 2020-06-24 | 2020-10-02 | 广州华建工智慧科技有限公司 | 一种基于三维模型及语义描述信息的自动柱拆分梁的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112200861A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109461199B (zh) | 画面渲染方法和装置、存储介质及电子装置 | |
CN112200861B (zh) | 柱类型的确定方法和装置、存储介质及电子设备 | |
CN111145294B (zh) | 二维户型图构建方法及装置、存储介质 | |
CN113077548B (zh) | 针对物体的碰撞检测方法、装置、设备和存储介质 | |
CN111309445B (zh) | 程序运行方法和装置及存储介质 | |
CN103593861A (zh) | 一种面向2.5维地图服务的瓦片加载方法 | |
CN111259037A (zh) | 一种基于规则配置的数据查询方法、装置、存储介质及终端 | |
CN115543514A (zh) | 指针显示方法、装置、芯片、电子表及可读存储介质 | |
CN113205601B (zh) | 漫游路径生成方法、装置、存储介质及电子设备 | |
WO2019068108A1 (en) | GLOBAL POSITIONING OF INCREASED REALITY CONTENT | |
CN115859749B (zh) | 三维模型的约束建立方法、装置、电子设备及存储介质 | |
JP7422222B2 (ja) | 物体に対する衝突検出方法、装置、電子デバイス、記憶媒体およびコンピュータプログラム | |
CN108170499B (zh) | 3d应用图标的显示方法、装置及电子设备 | |
CN113872798A (zh) | 空间网络拓扑图的构建方法、装置、存储介质及电子设备 | |
CN115511701A (zh) | 一种地理信息的转换方法及装置 | |
CN107038176B (zh) | 网络图页面渲染方法、装置及设备 | |
CN112073505A (zh) | 在云服务器上进行卸载的方法、控制装置、存储介质 | |
CN112199754A (zh) | 坐标定位方法和装置、存储介质及电子设备 | |
CN113779459B (zh) | 页面显示方法、装置及电子设备 | |
CN111915674B (zh) | 一种物体姿态识别精度的计算方法、装置、存储介质及终端 | |
CN111832104B (zh) | 三维设备模型的建立方法及相关设备 | |
US20230259245A1 (en) | Method and apparatus for adjusting perspective of direction indicator, electronic device, and storage medium | |
US20220358671A1 (en) | Methods of estimating pose graph and transformation matrix between cameras by recognizing markers on the ground in panorama images | |
CN110688192B (zh) | 事件监听响应方法、装置、设备和存储介质 | |
CN112199756A (zh) | 自动确定直线间距离的方法和装置 |
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 | ||
CB02 | Change of applicant information |
Address after: Room 701, East Building, innovation and Research Center, 8 Yanzheng West Avenue, Wujin District, Changzhou City, Jiangsu Province, 213100 Applicant after: Jiuling (Jiangsu) Digital Intelligent Technology Co.,Ltd. Address before: Room d1-9999, 58 Fumin Branch Road, Hengsha Township, Chongming District, Shanghai, 201914 (Shanghai Hengtai Economic Development Zone) Applicant before: Jiuling (Jiangsu) Digital Intelligent Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |