CN108426579A - 一种楼层内部路径网自动生成方法 - Google Patents
一种楼层内部路径网自动生成方法 Download PDFInfo
- Publication number
- CN108426579A CN108426579A CN201810151645.3A CN201810151645A CN108426579A CN 108426579 A CN108426579 A CN 108426579A CN 201810151645 A CN201810151645 A CN 201810151645A CN 108426579 A CN108426579 A CN 108426579A
- Authority
- CN
- China
- Prior art keywords
- point
- doors
- room
- paths
- polygon
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种楼层内部路径网自动生成方法,所述方法包括如下步骤:计算所有房间多边形的抽象点RP;计算所有房间的门点DP;遍历所有房间,分别计算每个房间内门点至抽象点的路径、门点与门点之间的互联路径,得到每个房间的D‑R路径、D‑D路径;将所有房间的D‑R路径、D‑D路径合并得到整个楼层的路径;在计算D‑R路径、D‑D路径,若起点、终点之间不可视:在计算D‑R路径时,生成若干避开墙线的中间节点,门点与抽象点之间通过中间节点连接形成路径;在计算D‑D路径时,门点之间通过房间多边形抽象点绕行连接形成D‑D路径;房间多边形抽象点RP为位于房间多边形内部代表该房间的点。本发明的优点在于克服现有技术中的趋边性的缺陷。
Description
技术领域
本发明涉及矢量室内路径网自动生成领域,尤其涉及一种无趋边性的楼层内 路径网自动生成方法。
背景技术
随着社会的迅猛发展,城市中大型建筑物日益增多,这些建筑物结构复杂, 很容易让置身其中的人产生“位置焦虑”,室内路径实时规划和导航的需求愈发 突出。室内路径规划需要已知的室内行人通行网络,目前基于矢量建筑平面图 自动构建室内行人通行网络的方法主要基于可视图法和门-门建模法,但这两类 方法生成的路径均具有趋边性(路径贴墙),若以此为基础数据进行路径导航或 虚拟漫游时将会产生因相机贴墙带来的视角失常问题,显著降低了导航和虚拟 漫游的体验。并且,由于可视图法是在所有障碍物顶点之间生成路径,需要较 大的存储空间。
综上所述,现有基于矢量建筑平面图生成室内路径网的方法主要存在如下 技术问题:由于传统方法生成的路径具有趋边性导致室内导航和漫游的体验降 低,要求克服该缺点,设计出无趋边性的、占用较低存储空间的室内通行网络 自动生成方法。
发明内容
本发明的目的在于克服现有技术的不足,提供一种室内通行网络自动生成 方法,该方法生成的路径具有无趋边性。
为了实现上述目的,本发明采用的技术方案为:一种楼层内部路径网自动 生成方法,所述方法包括如下步骤:
计算所有房间多边形的抽象点RP;
计算所有房间的门点DP;
遍历所有房间,分别计算每个房间内门点至抽象点的路径、门点与门点之 间的互联路径,得到每个房间的D-R路径、D-D路径;
将所有房间的D-R路径、D-D路径合并得到整个楼层的路径;
在计算D-R路径、D-D路径,若起点、终点之间不可视:
在计算D-R路径时,生成若干避开墙线的中间节点,门点与抽象点之间通 过中间节点连接形成路径;
在计算D-D路径时,门点之间通过房间多边形抽象点绕行连接形成D-D路 径;
房间多边形抽象点RP为位于房间多边形内部代表该房间的点。
计算得到的D-D路径、D-R路径以节点链的形式存储,每个房间的路径集包 括D-D路径和D-R路径,以包含若干节点链的节点链列表的形式存储;
所有房间的D-R路径和D-D路径合并得到整个楼层的路径,将路径的节点 链表转化为路径的无向带权图。
计算房间多边形抽象点包括如下步骤:
步骤1:根据房间多边形通过向量即法判断房间多边形的凸凹性,并统计凹 顶点的数目;
步骤2:若判定房间多边形为凸多边形时,房间多边形抽象点RP为房间多 边形的几何中心;
步骤3:若多边形有一个凹点且多边形顶点个数为奇数时 先检索从凹点a出发分别沿顺逆时针两个方向经过相同顶点数之后至交汇点p, 以线段pa的中点作为多边形的抽象点RP;
步骤4:若多边形有一个凹点,且多边形顶点个数为偶数时 检索从凹点a出发沿顺逆时针两个方向经过相同顶点数之后构成交汇线段的 两个端点p1和p2,然后取交汇线段p1p2的中点p与凹点a连线的中点作为 房间多边形的抽象点RP;
步骤5:若房间多边形有两个凹点,且凹点a1、a2形成的线段中点位于房 间多边形的内部,则线段a1a2的中点作为房间多边形的抽象点;
步骤6:若房间多边形有两个凹点,且凹点a1、a2形成的线段的中点位于 房间多边形的边上或外部时,分别以a1为起点沿顺逆时针两个方向经过相同顶 点数之后交汇于P1点、以a2为起点沿逆顺时针两个方向经过相同顶点数之后 交汇于p2点,以p1、p2的连线的中点作为P点,以凹点a1、a2的中点为a点, 线段pa的中点坐标作为房间多边形的抽象点;
步骤7:若房间多边形凹点个数大于两个时且凹点共线时,以相邻凹点组合 构造成线段集,遍历线段集,分别计算线段集中线段的中点,以其中位于房间 多边形内部的线段中点作为房间多边形的抽象点;
步骤8:若房间多边形凹点个数大于两个时且凹点不共线时,以全部凹点构 造新的多边形,以该新多边形代替房间多边形返回步骤1迭代计算抽象点RP。
计算D-R路径的方法包括:
步骤1:遍历房间多边形对应门线集D,取门线任一点或门点中点作为相应 门线的门点DP;
步骤2:判断门点与抽象点之间是否可视;
步骤3:若门点与抽象点之间可视,此时门点与该相应抽象点之间通过连接 形成相对应的门点至抽象点之间的D-R路径;
步骤4、若门点与抽象点之间不可视,此时需生成中间节点以使门点和抽象 点之间通过中间节点连接形成D-R路径,其中中间节点生成的方法包括:
步骤a:计算门点、抽象点连线与房间多边形的边线形成的交点集,该交点 集除去门点后形成交点集IC,交点集中的交点个数为Count;
步骤b:遍历交点集IC,检索距离门点最近的交点以及该交点对应所在房 间多边形的边线dirS;
步骤c:过门点生成与边dirS平行的直线,并计算该直线与房间多边形的 交点集IC2,并从交点集IC2中检索除门点以外距离门点最近的点P;
步骤d:在房间多边形的边线dirS的两个端点中,检索距离门点最近的点 a1,然后计算出线段p-a1的中点n1;
步骤e:记录中点n1的位置;
步骤f:判断中点n1与房间多边形抽象点之间是否可视,若可视,则中间 节点生成结束,以步骤e中记录的节点作为全部的中间节点;
若不可视,则将中点n1的位置赋予门点,更新门点的位置,并反馈步骤a。
D-R路径以节点链的形式存储,当门点和抽象点之间可视时,节点链包括仅
包括门点和抽象点;当门点和抽象点不可视时,节点链包括门点、中间节
点和抽象点。
计算D-D路径的方法包括:
遍历房间多边形对应门线集D以及门线条数DCount,若门线条数DCount小 于2时,此时没有D-D路径;
若门线条数DCount≥2时,计算房间内两两门点之间形成的门点对集合;
对门点对集合内的每一门点对判断可视性,若门点对的两门点之间可视, 则以该两门点生成D-D路径;
若门点对的两门点之间不可视,则以两门点以及房间多边形的抽象点生成D-D路径。
判断门点与门点之间或门点与抽象点之间是否可视的方法为:
计算两点之间形成的直线与房间多边形的交点,并在交点中除去该两点形 成交点集,交点集中交点个数为零时,则该两点可视,否则该两点不可视。
节点链列表转换为无向带全图的方法包括:
1)创建顶点集
无向带权图的邻接矩阵存储结构使用一维数组存储顶点集,遍历节点 链列表中的每一条节点链,将节点链上的各节点逐次添加到顶点数组中即 可;
2)创建邻接矩阵
无向带权图的邻接矩阵存储结构使用矩阵存储节点之间的关系(边), 设节点链列表包含的节点数为n,则对应的邻接矩阵为n×n阶方阵,由于 节点链上的相邻节点即表示两节点之间可以直接到达,据此关系可确定矩 阵中每一个元素的值;
3)权值计算
在使用邻接矩阵存储带权图时,矩阵的元素值即为权值;权值用于存 储两节点之间的距离数据,该数据即为节点链上相邻节点之间的几何距离, 由节点坐标计算得到。
本发明的优点在于:克服现有算法生成路径带有趋边性的问题,而且具有 复杂度较低且采用算法实现时存储空间占用较小,采用该方法生成规划路线时 可以提高导航和虚拟漫游的体验。
附图说明
下面对本发明说明书各幅附图表达的内容及图中的标记作简要说明:
图1为本发明实施例中多边形顶点数为奇数且有一个凹点时房间多边形示 意图;
图2为本发明实施例中多边形有一个凹点且多边形顶点个数为偶数时房间 多边形示意图;
图3为本发明实施例中房间多边形有两个凹点,且凹点连线形成的线段中 点位于房间多边形的内部时房间多边形示意图;
图4为本发明实施例中房间多边形有两个凹点,且凹点连线形成的线段中 点位于房间多边形的边界时房间多边形示意图;
图5为本发明实施例中房间多边形有多个凹点且凹点共线时房间多边形示 意图;
图6为本发明实施例中房间多边形有多个凹点且凹点不共线时房间多边形 示意图;
图7为本发明实施例中房间多边形原始门点、抽象点示意图;
图8为本发明实施例中房间多边形生成可视路径示意图;
图9为本发明实施例中房间多边形中间节点生成示意图;
图10为本发明生成的室内网络路径图;
图11本发明一种实施例中矢量建筑平面图;
图12为本发明建筑平面图生成门点、抽象点示意图;
图13为本发明建筑矢量平面图上中间节点和路径的生成示意图;
图14为本发明路径时意图;
图15为本发明无向带权图形式的室内路径网结果;
图16为采用现有技术的可视图法生成的室内网络路径示意图;
图17为现有技术采用门门建模法生成的室内路径示意图;
图18为本发明的路径生成方法生成的室内路径示意图。
具体实施方式
下面对照附图,通过对最优实施例的描述,对本发明的具体实施方式作进 一步详细的说明。
本发明的室内通行网络自动生成方法,克服现有算法生成路径带有趋边性 的问题。现有方法在生成路径时,若起终点之间互不通视,则使用墙线上的点 作为中间节点,这是路径趋边性问题产生的根本原因。因此,本发明设计了一 种全新的中间节点生成方法,当起终点之间互不通视时将自动生成若干中间节 点插入到路径中,由于中间节点完全避开墙线要素,因此从根本上避免了路径 趋边性问题。
另外,本发明生成的路径更加丰富和实用。现有方法基于门点生成路径, 从房间A至房间B的路径规划结果实际上是从门点A至门点B的路径,由于门 点可被相邻房间共享,房间没有唯一能够代表自身的路径节点,因此在实际应 用中执行路径规划时将存在不确定性。鉴于此,本发明生成2类室内路径:门- 门路径(door to door,D-D)和门-房间路径(door to room,DR),其中D-D路 径代表门点之间的互联路径,D-R路径代表门点至房间抽象点之间的互联路径。 在生成路径节点时,门点(door point,DP)由门线中点计算;对于代表房间的 抽象点(room point,RP),由于矢量建筑平面图中不含任何相关信息,为此本 发明基于房间多边形的凹凸性设计了一种房间抽象点的求解算法,利用该算法 计算得出的房间抽象点大致位于房间的中部,且该抽象点具有唯一性。
一种基于矢量建筑平面图的无趋边性室内路径网自动生成方法,该方法包 括如下步骤:
计算所有房间多边形的抽象点RP;
计算所有房间所有门线的中点DP;
遍历所有房间,分别计算每个DP点至RP点的路径以及DP点之间的互联路 径,得到每个房间的D-R路径和D-D路径。每一条路径以节点链的形式存储 (List<Point>)存储,每个房间的路径集(包括D-R路径和D-D路径)以包含若干 节点链的节点链列表的形式存储(List<List<Point>>);
将所有房间的D-R路径和D-D路径合并得到整个楼层的路径,并将该中间 成果节点链列表(List<List<Point>>)转换为无向带权图(关联矩阵形式),无向 带权图即为本发明生成的最终室内路径网成果。
下面根据附图对本发明的关键步骤进行详细描述
1.1房间多边形RP点的求解算法
算法:房间多边形RP点的求解算法
输入:房间多边形Polygon(N条边的简单多边形).
输出:功能区抽象点rp.
具体如下:
Step1:利用向量积法判定Polygon的凹凸性,并统计凹顶点的数目Count。
Step2:若Count=0,即Polygon为凸多边形,则rp取值于Polygon的几 何中心,其中xi、yi为Polygon各顶点的坐标分量。
Step3:若Count=1且N%2=1,即一个凹点且多边形顶点数为奇数时,如图 1所示,则先检索从凹点a出发沿顺逆时针两个方向经过相同顶点数之后交 汇点p,交汇点p的具体计算方法是:设凹点a的索引号为m,则交汇点p的 索引号index=(m+N/2)%N,多边形的顶点以数组的形式存储,某点的索 引号即为该顶点在该数组中基于0的序号;再以线段pa的中点作为rp, xa、xp、ya、yp分别为a点、p点的坐标分量。
Step4:若Count=1且N%2=0,即一个凹点且多边形顶点数为偶数时,如图 2所示,则检索从凹点出发沿顺逆时针两个方向经过相同顶点数之后构成交汇 线段的两个端点p1和p2。实际上,如图2此时p1、P2为相同的点。设凹点 a的索引号为m,则p1和p2的索引号分别为: 然后取交汇 线段p1p2的中点p与凹点a连线的中点作为rp,
Step5:若Count=2且线段a1a2的中点位于Polygon的内部时即两个凹点 且凹点连线中点位于多边形内部,如图3所示,则取线段a1a2的中点作为rp,
Step6:若Count=2且线段a1a2的中点位于Polygon的边上或外部,即两 个凹点且凹点连线中点位于多边形边界或外部,如图4所示,则分别以a1、 a2为起点确定交汇点(同step3中的方法,即a1为起点沿顺(逆)方向经过 相同顶点数之后交汇于P1点、以a2为起点沿逆(顺)时针方向经过相同顶 点数之后交汇于p2点,以p1、p2的连线的中点作为P点,以凹点a1、a2的 中点为a点,线段pa的中点坐标作为房间多边形的抽象点;),不论两交汇 点是否重合,
Step7:若Count>2且所有凹点共线,即多个凹点且凹点共线,如图5所 示,则以相邻凹点组合构造线段集SC,遍历SC计算出第一个线段中点位于 Polygon内部的点p。由于肯定存在中间间隔多边形空白区域的凹点对,故p 点肯定存在,此时rp取值于p。
Step8:若Count>2且所有凹点不共线,如图6所示,则以凹点构造新多 边形Polygon2,并令Polygon=Polygon2,返回step1迭代计算点rp的坐标。
1.2室内路径网的生成方法
本发明中室内路径网由D-D路径和D-R路径构成。若起终点之间可视,无需 生成中间节点;否则,对于D-R路径,如果门点(dp1)与功能区抽象点(rp)之间 不可视,则需要生成中间节点(n1);对于D-D路径,若两门点之间不可视(dp1 与dp2),则两门点可通过功能区抽象点(rp)绕行连接,此时不进行中间节点的 生成,因为门点之间不可视的大部分情形是门点相距较远,此时功能区抽象点 大致位于门点之间,两门点之间的路径可由各门点与功能区抽象点之间的路径 组合得到,故没有必要再另行计算门点之间的中间节点。生成房间内部路径的 算法如下:
算法:房间内部路径生成算法
输入:房间多边形Polygon,房间多边形对应的门线集D
输出:包含多条路径节点链的列表Routes(List<List<Point>>)
具体如下:
Step1:遍历D,对于每一门线d∈D,取其中点dp,然后为每个dp创建路 径节点列表D_RPath(List<Point>),并将dp作为DPath的第一项,D_RPath 将包含从门点dp出发到达功能区抽象点rp的所有节点。
Step2:计算直线dp-rp与Polygon的交点集。由于门点是固有交点,故 将其从交点集中剔除。设剔除门点后的交点集为IC,包含的交点个数为Count。
Step3:若Count=0,如图7中线段dp3-rp,则表示点dp3与点rp之间可 视,即门点与功能区特征点之间可以直接相互通达,此时无需生成中间节点, 从点dp3出发至点rp的路径只需两个节点即可描述,因此需将点rp3添加进 D_RPath:D_RPath={dp3,rp}。
Step4:若Count>0,如图8中线段dp1-rp,则表示dp1与rp之间不可视, 即门点与功能区特征点之间存在障碍物,此时需要生成中间节点以使两点之 间可以通过中间节点绕行抵达。中间节点的计算方法如下:①遍历交点集IC (IC={i1,i2,i3,i4,i5}),检索距离dp1最近的点i1,然后在Polygon的边 集中检索包含该点的边,设该边为dirS;②过点dp1生成与dirS平行的直线 dp1-p,计算该直线与Polygon的交点集IC2(IC2={dp1,p}),并从IC2中检 索除门点dp1之外距离点dp1最近的点p;④在dirS的两个端点中检索距离 dp1距离最近的点a1,然后计算线段p-a1的中点n1,n1即为中间节点。计 算出中间节点n1之后,令dp=n1返回step2进行迭代计算,直到dp与rp之 间可视时停止迭代。以门点dp1为起点的D-R路径为例,最终生成的D-R路 径节点列表D_RPath={dp1,n1,rp}。
Step5:设D包含的门线条数为DCount,若DCount<2,则表示功能区只有 一扇门,无需生成D-D路径;若DCount≥2,则按如下方法生成D-D路径:① 对D中的门线两两组合,并计算对应的门点得到门点对集合Couple_DP,易知 Couple_DP包含的元素数目为即单个功能区多可生成条D-D 路径;②遍历Couple_DP,对每一门点对cdp∈Couple_DP,使用step3中同 样的方法测试cdp中两门点之间的可见性。若两门点之间可见,如图8中dp2 和dp3,则创建D-D路径列表D-DPath并将dp1和dp2添加到列表中(顺序可 颠倒):D_DPath={dp1,dp2};若两门点之间不可见,如图9中dp1和dp3,则 不创建路径,两门点可通过rp点关联的路径绕行到达。
Step6:将上述步骤中生成的所有路径节点列表(D_RPath和D_DPath)添 加到Routes,最终返回Routes。上述说明中对生成路径的方法采用计算机存 储形式方便本方法的实现。最终生成的图10的路径列表为存储形式为:
Routes={{dp1,n1,rp},{dp2,n2,rp},{dp3,rp},{dp2,dp3}}
1.3路径成果(节点链列表)转换为无向带权图的方法
节点链列表是本发明为便于算法实现而设计的用来存储路径节点信息的中 间数据结构,需要将其转化为存储路径信息的标准图结构。本文将节点链列表 转换为关联矩阵表示的无向带权图,转化方法如下:
1)创建顶点集。无向带权图的邻接矩阵存储结构使用一维数组存储顶点集。 因此,遍历节点链列表中的每一条节点链,将节点链上的各节点逐次添加到顶 点数组中即可。
2)创建邻接矩阵。无向带权图的邻接矩阵存储结构使用矩阵存储节点之间 的关系(边)。设节点链列表包含的节点数为n,则对应的邻接矩阵为n×n阶方 阵。由于节点链上的相邻节点即表示两节点之间可以直接到达,据此关系可确 定矩阵中每一个元素的值。
3)权值计算。在使用邻接矩阵存储带权图时,矩阵的元素值即为权值。在 本文中,权值用于存储两节点之间的距离数据,该数据即为节点链上相邻节点 之间的几何距离,可由节点坐标计算得到。对于无向带权图的转换:假设某个 房间有2条路径,则对应2条节点链,分别为a1,a2,a3;b1,b2,b3,b4,这7个 顶点构成无向带权图的顶点集;对于两条节点链,每条节点链上某一节点与紧 邻的节点均具有连通关系,通过节点相邻性可以确定顶点集中哪些节点连通; 对于权值,本专利使用直线距离表达,该值可直接通过顶点坐标计算。
下面以图11的房间多边形为例说明,具体包括如下步骤:
步骤1:遍历所有房间,依次计算每个房间的rp、dp点,其中rp点7个,dp点7个,计算结果如图12所示。
步骤2:遍历所有房间,首先计算每个房间的D-D路径,共生成8条D-D路 径;然后计算D-R路径,在此过程中若dp与rp不通视(如图13中dp1与rp3), 则将生成中间节点(图13中n2点),共生成2个中间节点,10条D-R路径,每 一条路径为一个节点链,所有房间的所有节点链构成整个楼层的路径网——节 点链列表。
步骤3:将节点链列表转换为无向带权图即为本发明方法得到的路径示意 图,如图14所示,与之对应的关联矩阵如图15所示。
图16、17、18次展示了针对同一张矢量建筑平面图11分别采用可视图法、 门-门建模法、本发明方法生成的室内路径网。从直观路网复杂度、存储空间占 用、是否具有路径趋边性三个维度进行分析,
(1)路网复杂度
可见图法生成的路网最复杂,本发明方法次之,门-门建模法最简单;
(2)存储空间占用
可见图法、门-门建模法、本发明方法需要存储的路径节点个数分别为34、 10、16,对应需要34、10、16阶关联矩阵进行存储,可视图法占用的存储空间 最大,本发明方法次之,门-门建模法最小。这是因为可视图法的顶点取自障碍 物顶点;本发明方法路径顶点取自门点、房间抽象点以及少量的中间节点;门- 门建模法的路径节点取自门点和少量障碍物顶点,该顶点仅在两门点不通视时 使用。一般情况下,室内障碍物的顶点数目要多余本发明生成的顶点数;
(3)趋边性
可视图法生成的趋边路径最多,因为可视图法的路径节点全部取自障碍物 顶点,因此障碍物顶点之间的路径全部为趋边路径。图16中的所有墙线均是趋 边路径;门-门建模法仅在两门点之间无法通视时生成趋边路径,一般情况,门 -门建模法均会生成趋边路径;本发明方法无趋边路径,因为本发明在两点之间 不通视时通过生成完全避开障碍物的中间节点,从根本上解决了路径趋边性问 题。
显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构 思和技术方案进行的各种非实质性的改进,均在本发明的保护范围之内。
Claims (8)
1.一种楼层内部路径网自动生成方法,其特征在于:所述方法包括如下步骤:
计算所有房间多边形的抽象点RP;
计算所有房间的门点DP;
遍历所有房间,分别计算每个房间内门点至抽象点的路径、门点与门点之间的互联路径,得到每个房间的D-R路径、D-D路径;
将所有房间的D-R路径、D-D路径合并得到整个楼层的路径;
在计算D-R路径、D-D路径,若起点、终点之间不可视:
在计算D-R路径时,生成若干避开墙线的中间节点,门点与抽象点之间通过中间节点连接形成路径;
在计算D-D路径时,门点之间通过房间多边形抽象点绕行连接形成D-D路径;
房间多边形抽象点RP为位于房间多边形内部代表该房间的点。
2.如权利要求1所述的一种楼层内部路径网自动生成方法,其特征在于:
计算得到的D-D路径、D-R路径以节点链的形式存储,每个房间的路径集包括D-D路径和D-R路径,以包含若干节点链的节点链列表的形式存储;
所有房间的D-R路径和D-D路径合并得到整个楼层的路径,将路径的节点链表转化为路径的无向带权图。
3.如权利要求1所述的一种楼层内部路径网自动生成方法,其特征在于:
计算房间多边形抽象点包括如下步骤:
步骤1:根据房间多边形通过向量即法判断房间多边形的凸凹性,并统计凹顶点的数目;
步骤2:若判定房间多边形为凸多边形时,房间多边形抽象点RP为房间多边形的几何中心;
步骤3:若多边形有一个凹点且多边形顶点个数为奇数时先检索从凹点a出发分别沿顺逆时针两个方向经过相同顶点数之后至交汇点p,以线段pa的中点作为多边形的抽象点RP;
步骤4:若多边形有一个凹点,且多边形顶点个数为偶数时检索从凹点a出发沿顺逆时针两个方向经过相同顶点数之后构成交汇线段的两个端点p1和p2,然后取交汇线段p1p2的中点p与凹点a连线的中点作为房间多边形的抽象点RP;
步骤5:若房间多边形有两个凹点,且凹点a1、a2形成的线段中点位于房间多边形的内部,则线段a1a2的中点作为房间多边形的抽象点;
步骤6:若房间多边形有两个凹点,且凹点a1、a2形成的线段的中点位于房间多边形的边上或外部时,分别以a1为起点沿顺/逆时针两个方向经过相同顶点数之后交汇于P1点、以a2为起点沿逆/顺时针两个方向经过相同顶点数之后交汇于p2点,以p1、p2的连线的中点作为P点,以凹点a1、a2的中点为a点,线段pa的中点坐标作为房间多边形的抽象点;
步骤7:若房间多边形凹点个数大于两个时且凹点共线时,以相邻凹点组合构造成线段集,遍历线段集,分别计算线段集中线段的中点,以其中位于房间多边形内部的线段中点作为房间多边形的抽象点;
步骤8:若房间多边形凹点个数大于两个时且凹点不共线时,以全部凹点构造新的多边形,以该新多边形代替房间多边形返回步骤1迭代计算抽象点RP。
4.如权利要求1所述的一种楼层内部路径网自动生成方法,
其特征在于:计算D-R路径的方法包括:
步骤1:遍历房间多边形对应门线集D,取门线任一点或门点中点作为相应门线的门点DP;
步骤2:判断门点与抽象点之间是否可视;
步骤3:若门点与抽象点之间可视,此时门点与该相应抽象点之间通过连接形成相对应的门点至抽象点之间的D-R路径;
步骤4、若门点与抽象点之间不可视,此时需生成中间节点以使门点和抽象点之间通过中间节点连接形成D-R路径,其中中间节点生成的方法包括:
步骤a:计算门点、抽象点连线与房间多边形的边线形成的交点集,该交点集除去门点后形成交点集IC,交点集中的交点个数为Count;
步骤b:遍历交点集IC,检索距离门点最近的交点以及该交点对应所在房间多边形的边线dirS;
步骤c:过门点生成与边dirS平行的直线,并计算该直线与房间多边形的交点集IC2,并从交点集IC2中检索除门点以外距离门点最近的点P;
步骤d:在房间多边形的边线dirS的两个端点中,检索距离门点最近的点a1,然后计算出线段p-a1的中点n1;
步骤e:记录中点n1的位置;
步骤f:判断中点n1与房间多边形抽象点之间是否可视,若可视,则中间节点生成结束,以步骤e中记录的节点作为全部的中间节点;
若不可视,则将中点n1的位置赋予门点,更新门点的位置,并返回步骤a。
5.如权利要求4所述的一种楼层内部路径网自动生成方法,其特征在于:D-R路径以节点链的形式存储,当门点和抽象点之间可视时,节点链包括仅包括门点和抽象点;当门点和抽象点不可视时,节点链包括门点、中间节点和抽象点。
6.如权利要求1所述一种楼层内部路径网自动生成方法,其特征在于:计算D-D路径的方法包括:
遍历房间多边形对应门线集D以及门线条数DCount,若门线条数DCount小于2时,此时没有D-D路径;
若门线条数DCount≥2时,计算房间内两两门点之间形成的门点对集合;
对门点对集合内的每一门点对判断可视性,若门点对的两门点之间可视,则以该两门点生成D-D路径;
若门点对的两门点之间不可视,则以两门点以及房间多边形的抽象点生成D-D路径。
7.如权利要求1-6所述的一种楼层内部路径网自动生成方法,其特征在于:判断门点与门点之间或门点与抽象点之间是否可视的方法为:
计算两点之间形成的直线与房间多边形的交点,并在交点中除去该两点形成交点集,交点集中交点个数为零时,则该两点可视,否则该两点不可视。
8.如权利要求2所述的一种楼层内部路径网自动生成方法,其特征在于:节点链列表转换为无向带权图的方法包括:
1)创建顶点集
无向带权图的邻接矩阵存储结构使用一维数组存储顶点集,遍历节点链列表中的每一条节点链,将节点链上的各节点逐次添加到顶点数组中即可;
2)创建邻接矩阵
无向带权图的邻接矩阵存储结构使用矩阵存储节点之间的关系(边),设节点链列表包含的节点数为n,则对应的邻接矩阵为n×n阶方阵,由于节点链上的相邻节点即表示两节点之间可以直接到达,据此关系可确定矩阵中每一个元素的值;
3)权值计算
在使用邻接矩阵存储带权图时,矩阵的元素值即为权值;权值用于存储两节点之间的距离数据,该数据即为节点链上相邻节点之间的几何距离,由节点坐标计算得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810151645.3A CN108426579B (zh) | 2018-02-14 | 2018-02-14 | 一种楼层内部路径网自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810151645.3A CN108426579B (zh) | 2018-02-14 | 2018-02-14 | 一种楼层内部路径网自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108426579A true CN108426579A (zh) | 2018-08-21 |
CN108426579B CN108426579B (zh) | 2021-08-27 |
Family
ID=63157029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810151645.3A Active CN108426579B (zh) | 2018-02-14 | 2018-02-14 | 一种楼层内部路径网自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108426579B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110146072A (zh) * | 2019-05-17 | 2019-08-20 | 深圳来电科技有限公司 | 一种路径规划方法、服务器及可读存储介质 |
CN110686678A (zh) * | 2019-10-23 | 2020-01-14 | 众虎物联网(广州)有限公司 | 一种基于电磁指纹采集路径的路网生成方法及装置 |
CN113205601A (zh) * | 2021-05-27 | 2021-08-03 | 北京有竹居网络技术有限公司 | 漫游路径生成方法、装置、存储介质及电子设备 |
CN113297662A (zh) * | 2021-06-10 | 2021-08-24 | 第三维度(河南)软件科技有限公司 | 一种基于扫描线的户型归属自动识别方法 |
CN113642092A (zh) * | 2021-10-18 | 2021-11-12 | 西南交通大学 | 一种建筑空间路径捕获方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014145721A (ja) * | 2013-01-30 | 2014-08-14 | Hitachi Ltd | ネットワークデータ生成システム、方法、及びプログラム |
CN105066997A (zh) * | 2015-07-28 | 2015-11-18 | 中国地质大学(武汉) | 一种面向室内导航的动态路径生成方法 |
CN106197419A (zh) * | 2016-06-23 | 2016-12-07 | 北京建筑大学 | 顾及障碍物和子空间剖分的室内导航方法及系统 |
CN107110651A (zh) * | 2014-09-08 | 2017-08-29 | 应美盛股份有限公司 | 用于使用地图信息辅助的增强型便携式导航的方法和装置 |
CN107588767A (zh) * | 2012-04-18 | 2018-01-16 | 知谷(上海)网络科技有限公司 | 一种室内智能定位导航方法 |
-
2018
- 2018-02-14 CN CN201810151645.3A patent/CN108426579B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107588767A (zh) * | 2012-04-18 | 2018-01-16 | 知谷(上海)网络科技有限公司 | 一种室内智能定位导航方法 |
JP2014145721A (ja) * | 2013-01-30 | 2014-08-14 | Hitachi Ltd | ネットワークデータ生成システム、方法、及びプログラム |
CN107110651A (zh) * | 2014-09-08 | 2017-08-29 | 应美盛股份有限公司 | 用于使用地图信息辅助的增强型便携式导航的方法和装置 |
CN105066997A (zh) * | 2015-07-28 | 2015-11-18 | 中国地质大学(武汉) | 一种面向室内导航的动态路径生成方法 |
CN106197419A (zh) * | 2016-06-23 | 2016-12-07 | 北京建筑大学 | 顾及障碍物和子空间剖分的室内导航方法及系统 |
Non-Patent Citations (3)
Title |
---|
WENJIE YUAN等: "iNav: An Indoor Navigation Model Supporting Length-Dependent Optimal Routing", 《GEOSPATIAL THINKING》 * |
林雕等: "基于图的语义室内导航模型构建研究", 《测绘工程》 * |
牛磊等: "一种自动提取室内通行网络的方法", 《测绘科学》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110146072A (zh) * | 2019-05-17 | 2019-08-20 | 深圳来电科技有限公司 | 一种路径规划方法、服务器及可读存储介质 |
CN110686678A (zh) * | 2019-10-23 | 2020-01-14 | 众虎物联网(广州)有限公司 | 一种基于电磁指纹采集路径的路网生成方法及装置 |
CN113205601A (zh) * | 2021-05-27 | 2021-08-03 | 北京有竹居网络技术有限公司 | 漫游路径生成方法、装置、存储介质及电子设备 |
CN113297662A (zh) * | 2021-06-10 | 2021-08-24 | 第三维度(河南)软件科技有限公司 | 一种基于扫描线的户型归属自动识别方法 |
CN113642092A (zh) * | 2021-10-18 | 2021-11-12 | 西南交通大学 | 一种建筑空间路径捕获方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108426579B (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108426579A (zh) | 一种楼层内部路径网自动生成方法 | |
CN109116841A (zh) | 一种基于蚁群算法的路径规划平滑优化方法 | |
CN106197419B (zh) | 顾及障碍物和子空间剖分的室内导航方法及系统 | |
CN106289260B (zh) | 一种基于室内电子地图实现室内外跨域导航功能的算法及其实现方法 | |
CN106403925B (zh) | 面向室内与地下空间导航的空间网络构造及路径规划方法 | |
CN108896052A (zh) | 一种基于动态复杂环境下的移动机器人平滑路径规划方法 | |
Efrat et al. | New similarity measures between polylines with applications to morphing and polygon sweeping | |
CN107063258A (zh) | 一种基于语义信息的移动机器人室内导航方法 | |
CN110744543B (zh) | 基于ur3机械臂的改进式prm避障运动规划方法 | |
CN111836199B (zh) | 一种室内导航动态避障寻径方法 | |
CN106211256B (zh) | 一种基于数据关键性节点的无人机数据收集方法 | |
CN107728608A (zh) | 一种移动机器人路径规划方法 | |
WO2022121288A1 (zh) | 核电厂房三维寻路导航方法及系统 | |
CN109409662A (zh) | 基于空间句法的城市交通与商业空间关联的测度方法 | |
CN111080786A (zh) | 基于bim的室内地图模型构建方法及装置 | |
CN108665117A (zh) | 一种室内空间最短路径的计算方法、装置、终端设备以及存储介质 | |
CN104219153B (zh) | 基于mac 地址定向搜索的网络拓扑自发现方法和装置 | |
CN105894124A (zh) | 一种应用于逻辑可视化编程的基于区域边界的优化寻路方法 | |
Amiriparyan et al. | Analyzing the homogenous nature of central courtyard structure in formation of Iranian traditional houses | |
Xu et al. | An indoor navigation approach considering obstacles and space subdivision of 2D plan | |
CN110081889A (zh) | 一种基于随机采样和强化学习的机器人路径规划方法 | |
CN115391878A (zh) | 适用于建筑人居环境仿真的建筑图纸识别与模型构建方法 | |
CN104699791A (zh) | 一种用于有损浮动车轨迹的路径还原方法 | |
Lee et al. | Combining space syntax and shape grammar to investigate architectural style | |
Jorgensen et al. | From geometry to spatial reasoning: automatic structuring of 3d virtual environments |
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 |