寻路算法结果可视化

任一存 abc9cbe3ca chore 1 ano atrás
input-data a239cc3d22 手动修复真实数据文件里的空格缺失 3 anos atrás
public 762c4f0cd2 bug fix: 上下翻转后忘了相应调整路径和起点终点坐标的计算逻辑。 1 ano atrás
src abc9cbe3ca chore 1 ano atrás
.browserslistrc 414f9965ed init 3 anos atrás
.env abc9cbe3ca chore 1 ano atrás
.env.dev abc9cbe3ca chore 1 ano atrás
.env.mytest abc9cbe3ca chore 1 ano atrás
.env.prod abc9cbe3ca chore 1 ano atrás
.eslintrc.js 16bfc54a73 提高eslint严格度 3 anos atrás
.gitignore c5eb0710e7 git忽略压缩文件 3 anos atrás
README.md 6e16b67614 y轴反转 1 ano atrás
babel.config.js 414f9965ed init 3 anos atrás
package-lock.json f676836bc2 改成从接口拿全部数据,从input组件输入路径数据 3 anos atrás
package.json abc9cbe3ca chore 1 ano atrás
vue.config.js f1888b8c99 配置正式打包时publicPath 3 anos atrás
yarn.lock 254f8c9b2b 补点操作的上传、撤销、重做功能 1 ano atrás

README.md

测试环境

部署位置:

访问url:

补点功能(复杂度:框选区域面积的平方)

得到点位所遵循的网格信息:横竖斜率和最近两点间距离和次最近两点间距离。

得到框选区域px坐标

px坐标转为原始坐标

连通规则设置:默认是大于一米认为不连通,可手动调整。

高度设置功能:必须指定高度。

筛选出框选区域可能影响到的所有外围和内部已存在的点,记录其idx。只在符合当前连通高度限制的点中做筛选。

如果有重叠的点(只能两两比较了),则要求重设连通高度限制以避免。 todo

要求框选区域中必须有已存在的点,选择一个作为起始点

先记录两个列表:外围点位表和框内已有点位表。

要补的点构成一个稀疏图,用邻接表存储。补点的过程就是邻接表不断增长的过程:依次处理每个点n,把n的所有还没有被添加进顶点表的相邻点push进顶点表,同时记录到n的边表,然后处理顶点表中下一个点。如果相邻点在选中区域以外,则忽略。直到邻接表不再增长,就说明选中空间内已经补全了点。

框内已有点位表用来初始化顶点表,但相邻关系信息清零。

for 每个当前点
  推算相邻点位置
  <!-- 记录与其关系 -->
  if 推算出的相邻点位置在区域外
    if 在外围点位表中能搜到
      记录与其关系
      酌情修改这个外围点位与自己的关系
    else 即不存在
      记录与其关系:-1
  else 即推算出的相邻点位置在区域内
    if 已加入顶点表
      记录与其关系
    else 即还未加入顶点表
      加入顶点表
      记录与其关系

新补的点颜色半透明。

( 我具体看了下一些点位的相邻点列表(ids),没有确定的顺序,唯一的规律似乎只是上下左右的相邻点排在前四位,斜角上的相邻点排在后四位,而且“-1”分别都放在前四位和后四位的最后部分。其他规则就没了。 判断是否相邻,会考虑高度差吗?不然有的点位说不通。旧数据里甚至还有点位和自身相连的。 给不出具体规则,我就只能按照这个规则了。 )

todo

history最大条数

多楼层?

默认值去掉 check

复原功能 check

双击选中这个点,可以修改他的weight和z值 check

编辑框搞宽点 check

单击点位高亮周围的点,并展示id,并填充补点的高度。 check

y轴反转 check

补点后已有点位的数据未及时更新

上次激活的点无法hover高亮