【类 型】:fix
【主 题】:2d错层函数 注释 和 输出日志修改 【描 述】: [原因]:日志不明确 [过程]:明确说明原因 [影响]: 【结 束】 # 类型 包含: # feat:新功能(feature) # fix:修补bug # docs:文档(documentation) # style: 格式(不影响代码运行的变动) # refactor:重构(即不是新增功能,也不是修改bug的代码变动) # test:增加测试 # chore:构建过程或辅助工具的变动
This commit is contained in:
parent
49484ca152
commit
0bc6b0ae36
@ -1554,24 +1554,24 @@ namespace FlightRouteV2
|
||||
return re_bVecs;
|
||||
}
|
||||
/// <summary>
|
||||
/// 智能错层
|
||||
/// 智能错层 说明:从A图上找出一个面(最多点组成的共面),以此面为错层基准,做错层计算。PS:A图 B图 都可以为多个平面图形组成,但这些图形都必须平行
|
||||
/// </summary>
|
||||
/// <param name="aVecs">起始坐标集合</param>
|
||||
/// <param name="bVecs">终点做标集合</param>
|
||||
/// <param name="StrPrint">日志输出 回调函数</param>
|
||||
/// <param name="layHight">错层层高</param>
|
||||
/// <returns>返回一个二维向量坐标集合 middle[0]是第一个中间航点 middle[1]是第二个中间航点 返回空数组则代表两个图形不在一个平面上或者不够4个点</returns>
|
||||
/// <returns>返回一个二维向量坐标集合 middle[0]是第一个中间航点 middle[1]是第二个中间航点 返回空数组有几种情况 1.A图直接飞B图无碰撞 2.A图未能找到4个点以上的共面 3.有碰撞可能是AB图初始就过近 4.AB图并不平行</returns>
|
||||
public static List<List<Vector3>> CollisionLayer(Vector3[] aVecs, Vector3[] bVecs,SomeCalculateWay StrPrint, double layHight = 300)
|
||||
{
|
||||
long t = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
|
||||
StrPrint("-------错层,开始-------");
|
||||
//StrPrint("-------错层,开始-------");
|
||||
List<List<Vector3>> re = new List<List<Vector3>>();
|
||||
///判断有没有碰撞 有碰撞继续 没有直接返回
|
||||
List<int[]> planesCollision = AirImitation(aVecs, bVecs); //获取碰撞组
|
||||
if (planesCollision.Count == 0)
|
||||
{
|
||||
StrPrint("没有检测到碰撞,故不用添加中间航点");
|
||||
StrPrint($"-------错层结束-------");
|
||||
StrPrint("执行成功:没有检测到碰撞,故不用添加中间航点");
|
||||
//StrPrint($"-------错层结束-------");
|
||||
return re;//直接返回
|
||||
}
|
||||
//获取飞机总数
|
||||
@ -1582,11 +1582,11 @@ namespace FlightRouteV2
|
||||
|
||||
///把所有点压在 主面“共面”上
|
||||
List<int> 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;
|
||||
}
|
||||
/// <summary>
|
||||
|
Loading…
Reference in New Issue
Block a user