tonny-zhang / node-micaps

micaps数据解析并在地图上叠加
8 stars 4 forks source link

不规则线分割不规则面的讨论 #1

Open tonny-zhang opened 9 years ago

tonny-zhang commented 9 years ago

前提

  1. 线大部分都在面中(线的两头可能会超出即不在面中)
  2. 不规则线不相交

    实现思路

  3. 分别找到开头和结尾在面内和面外的四个点,组成了两条和面的边界相交的线
  4. 遍历面上所有的点,相邻的两点组成的线必有和1上找到的两个线有相交,得到了四条直接相交的两个点
  5. 切割面上点集合,找到线和面相交的点的片段
  6. 根据线上在面内的点的数组里两端点和3中得到的点的片段集合两距离比较出拼接顺序
  7. 拼接两个点数组,得到一个新的数组
  8. 5中得到的点数组即可组成一个新的面,在前端显示的时候即可先画大的面,然后再叠加新得到的面,这样就可以实现线分割面