diff --git a/FlightRouteV2/FlightRouteV2.cs b/FlightRouteV2/FlightRouteV2.cs
index 998d59a..400a803 100644
--- a/FlightRouteV2/FlightRouteV2.cs
+++ b/FlightRouteV2/FlightRouteV2.cs
@@ -1554,24 +1554,24 @@ namespace FlightRouteV2
return re_bVecs;
}
///
- /// 智能错层
+ /// 智能错层 说明:从A图上找出一个面(最多点组成的共面),以此面为错层基准,做错层计算。PS:A图 B图 都可以为多个平面图形组成,但这些图形都必须平行
///
/// 起始坐标集合
/// 终点做标集合
/// 日志输出 回调函数
/// 错层层高
- /// 返回一个二维向量坐标集合 middle[0]是第一个中间航点 middle[1]是第二个中间航点 返回空数组则代表两个图形不在一个平面上或者不够4个点
+ /// 返回一个二维向量坐标集合 middle[0]是第一个中间航点 middle[1]是第二个中间航点 返回空数组有几种情况 1.A图直接飞B图无碰撞 2.A图未能找到4个点以上的共面 3.有碰撞可能是AB图初始就过近 4.AB图并不平行
public static List> CollisionLayer(Vector3[] aVecs, Vector3[] bVecs,SomeCalculateWay StrPrint, double layHight = 300)
{
long t = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
- StrPrint("-------错层,开始-------");
+ //StrPrint("-------错层,开始-------");
List> re = new List>();
///判断有没有碰撞 有碰撞继续 没有直接返回
List planesCollision = AirImitation(aVecs, bVecs); //获取碰撞组
if (planesCollision.Count == 0)
{
- StrPrint("没有检测到碰撞,故不用添加中间航点");
- StrPrint($"-------错层结束-------");
+ StrPrint("执行成功:没有检测到碰撞,故不用添加中间航点");
+ //StrPrint($"-------错层结束-------");
return re;//直接返回
}
//获取飞机总数
@@ -1582,11 +1582,11 @@ namespace FlightRouteV2
///把所有点压在 主面“共面”上
List maxVecsOfCoplane = FindMaxPlaneIndices(aVecs);// 找出A图共面最多点的索引
- StrPrint("正在进行“共面”检测,需要一些时间请耐心等待。。。");
+ StrPrint("提示:正在进行“共面”检测,需要一些时间请耐心等待。。。");
if (maxVecsOfCoplane.Count < 4) //a图至少要有4个点 共面
{
- StrPrint("a图案至少有4个点以上共面,否则不可执行错层处理");
- StrPrint($"-------错层结束-------");
+ StrPrint("执行失败:起始图案至少有4个点以上共面");
+ //StrPrint($"-------错层结束-------");
return re;
}
///共面上取三个点
@@ -1637,15 +1637,15 @@ namespace FlightRouteV2
{
re.Add(new_aVecs.ToList());
re.Add(new_bVecs.ToList());
- StrPrint($"错层成功");
+ StrPrint($"执行成功。");
}
else
{
- StrPrint($"检测有碰撞,错层失败");
+ StrPrint($"执行失败:计算完成后,检测有碰撞。可能原因:1.起始图形或结束图形点阵距离有过近情况。2.起始图形和结束图形点阵所在面不平行");
}
t = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - t;
StrPrint($"用时:{t}秒");
- StrPrint($"-------错层结束-------");
+ //StrPrint($"-------错层结束-------");
return re;
}
///