From 9999891cded1d77a50f04db57804e9ca9899d452 Mon Sep 17 00:00:00 2001 From: szdot Date: Fri, 5 Jan 2024 21:22:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=8D=E8=90=BD=E7=9F=A9=E9=98=B5=20?= =?UTF-8?q?=E6=8B=89=E6=95=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlightRouteV2/.vs/FlyBase/v16/.suo | Bin 0 -> 49152 bytes FlightRouteV2/FlightRouteV2.cs | 1997 +++++++++++++++++ FlightRouteV2/FlightRouteV2.csproj | 50 + FlightRouteV2/Properties/AssemblyInfo.cs | 36 + FlightRouteV2/Vector3.cs | 154 ++ FlightRouteV2/bin/Debug/FlightRouteV2.dll | Bin 0 -> 31232 bytes FlightRouteV2/bin/Debug/FlightRouteV2.pdb | Bin 0 -> 83456 bytes FlightRouteV2/bin/Debug/FlyBase.dll | Bin 0 -> 26112 bytes FlightRouteV2/bin/Debug/FlyBase.pdb | Bin 0 -> 73216 bytes FlightRouteV2/bin/Release/FlightRouteV2.dll | Bin 0 -> 28160 bytes FlightRouteV2/bin/Release/FlightRouteV2.pdb | Bin 0 -> 71168 bytes FlightRouteV2/bin/Release/FlyBase.dll | Bin 0 -> 23040 bytes FlightRouteV2/bin/Release/FlyBase.pdb | Bin 0 -> 62976 bytes ...ework,Version=v4.6.2.AssemblyAttributes.cs | 4 + ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + ...amework,Version=v4.8.AssemblyAttributes.cs | 4 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 11 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6782 bytes ...ightRouteV2.csproj.AssemblyReference.cache | Bin 0 -> 5341 bytes ...ightRouteV2.csproj.CoreCompileInputs.cache | 1 + .../FlightRouteV2.csproj.FileListAbsolute.txt | 12 + FlightRouteV2/obj/Debug/FlightRouteV2.dll | Bin 0 -> 31232 bytes FlightRouteV2/obj/Debug/FlightRouteV2.pdb | Bin 0 -> 83456 bytes .../FlyBase.csproj.AssemblyReference.cache | Bin 0 -> 5361 bytes .../FlyBase.csproj.CoreCompileInputs.cache | 1 + .../Debug/FlyBase.csproj.FileListAbsolute.txt | 12 + FlightRouteV2/obj/Debug/FlyBase.dll | Bin 0 -> 26112 bytes FlightRouteV2/obj/Debug/FlyBase.pdb | Bin 0 -> 73216 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + ...amework,Version=v4.8.AssemblyAttributes.cs | 4 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6810 bytes ...ightRouteV2.csproj.AssemblyReference.cache | Bin 0 -> 5341 bytes ...ightRouteV2.csproj.CoreCompileInputs.cache | 1 + .../FlightRouteV2.csproj.FileListAbsolute.txt | 6 + FlightRouteV2/obj/Release/FlightRouteV2.dll | Bin 0 -> 28160 bytes FlightRouteV2/obj/Release/FlightRouteV2.pdb | Bin 0 -> 71168 bytes .../FlyBase.csproj.AssemblyReference.cache | Bin 0 -> 5361 bytes .../FlyBase.csproj.CoreCompileInputs.cache | 1 + .../FlyBase.csproj.FileListAbsolute.txt | 6 + .../FlyBase.csprojAssemblyReference.cache | Bin 0 -> 8212 bytes FlightRouteV2/obj/Release/FlyBase.dll | Bin 0 -> 23040 bytes FlightRouteV2/obj/Release/FlyBase.pdb | Bin 0 -> 62976 bytes FlyCube/MainWindow.xaml.cs | 8 +- 43 files changed, 2304 insertions(+), 1 deletion(-) create mode 100644 FlightRouteV2/.vs/FlyBase/v16/.suo create mode 100644 FlightRouteV2/FlightRouteV2.cs create mode 100644 FlightRouteV2/FlightRouteV2.csproj create mode 100644 FlightRouteV2/Properties/AssemblyInfo.cs create mode 100644 FlightRouteV2/Vector3.cs create mode 100644 FlightRouteV2/bin/Debug/FlightRouteV2.dll create mode 100644 FlightRouteV2/bin/Debug/FlightRouteV2.pdb create mode 100644 FlightRouteV2/bin/Debug/FlyBase.dll create mode 100644 FlightRouteV2/bin/Debug/FlyBase.pdb create mode 100644 FlightRouteV2/bin/Release/FlightRouteV2.dll create mode 100644 FlightRouteV2/bin/Release/FlightRouteV2.pdb create mode 100644 FlightRouteV2/bin/Release/FlyBase.dll create mode 100644 FlightRouteV2/bin/Release/FlyBase.pdb create mode 100644 FlightRouteV2/obj/Debug/.NETFramework,Version=v4.6.2.AssemblyAttributes.cs create mode 100644 FlightRouteV2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 FlightRouteV2/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs create mode 100644 FlightRouteV2/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 FlightRouteV2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 FlightRouteV2/obj/Debug/FlightRouteV2.csproj.AssemblyReference.cache create mode 100644 FlightRouteV2/obj/Debug/FlightRouteV2.csproj.CoreCompileInputs.cache create mode 100644 FlightRouteV2/obj/Debug/FlightRouteV2.csproj.FileListAbsolute.txt create mode 100644 FlightRouteV2/obj/Debug/FlightRouteV2.dll create mode 100644 FlightRouteV2/obj/Debug/FlightRouteV2.pdb create mode 100644 FlightRouteV2/obj/Debug/FlyBase.csproj.AssemblyReference.cache create mode 100644 FlightRouteV2/obj/Debug/FlyBase.csproj.CoreCompileInputs.cache create mode 100644 FlightRouteV2/obj/Debug/FlyBase.csproj.FileListAbsolute.txt create mode 100644 FlightRouteV2/obj/Debug/FlyBase.dll create mode 100644 FlightRouteV2/obj/Debug/FlyBase.pdb create mode 100644 FlightRouteV2/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 FlightRouteV2/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs create mode 100644 FlightRouteV2/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 FlightRouteV2/obj/Release/FlightRouteV2.csproj.AssemblyReference.cache create mode 100644 FlightRouteV2/obj/Release/FlightRouteV2.csproj.CoreCompileInputs.cache create mode 100644 FlightRouteV2/obj/Release/FlightRouteV2.csproj.FileListAbsolute.txt create mode 100644 FlightRouteV2/obj/Release/FlightRouteV2.dll create mode 100644 FlightRouteV2/obj/Release/FlightRouteV2.pdb create mode 100644 FlightRouteV2/obj/Release/FlyBase.csproj.AssemblyReference.cache create mode 100644 FlightRouteV2/obj/Release/FlyBase.csproj.CoreCompileInputs.cache create mode 100644 FlightRouteV2/obj/Release/FlyBase.csproj.FileListAbsolute.txt create mode 100644 FlightRouteV2/obj/Release/FlyBase.csprojAssemblyReference.cache create mode 100644 FlightRouteV2/obj/Release/FlyBase.dll create mode 100644 FlightRouteV2/obj/Release/FlyBase.pdb diff --git a/FlightRouteV2/.vs/FlyBase/v16/.suo b/FlightRouteV2/.vs/FlyBase/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..893da3a4b5b43928312f0f41f6a6f3242617724e GIT binary patch literal 49152 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 H*GBq(Lv + /// 构造函数,接受四个 Vector3 对象 + /// + /// 向量1 + /// 向量2 + /// 向量3 + /// 向量4 + public Matrix(Vector3 row1, Vector3 row2, Vector3 row3, Vector3 row4) + { + M11 = row1.X; M12 = row1.Y; M13 = row1.Z; + M21 = row2.X; M22 = row2.Y; M23 = row2.Z; + M31 = row3.X; M32 = row3.Y; M33 = row3.Z; + M41 = row4.X; M42 = row4.Y; M43 = row4.Z; + } + /// + /// 通过方法实现通过索引的访问 + /// + /// + public Vector3 this[int index] + { + get + { + switch (index) + { + case 0: return new Vector3(M11, M12, M13); + case 1: return new Vector3(M21, M22, M23); + case 2: return new Vector3(M31, M32, M33); + case 3: return new Vector3(M41, M42, M43); + default: + throw new IndexOutOfRangeException("Index out of range for Matrix"); + } + } + } + /// + /// // 重写 ToString 方法,以便能够直接打印矩阵 + /// + public override string ToString() + { + return $"v1:{M11}, {M12}, {M13}\n" + + $"v2:{M21}, {M22}, {M23}\n" + + $"v3:{M31}, {M32}, {M33}\n" + + $"off:{M41}, {M42}, {M43}"; + } + } + //向量类 + public struct Vector3 + { + public double X { get; set; } + public double Y { get; set; } + public double Z { get; set; } + /// + /// [数组下标]方式 访问XYZ属性 + /// + /// + /// [0]X [1]Y [2]Z + /// 访问下标0-2 + public double this[int index] + { + get + { + switch (index) + { + case 0: + return X; + case 1: + return Y; + case 2: + return Z; + default: + throw new IndexOutOfRangeException($"Index {index} is out of range for Vector3"); + } + } + set + { + switch (index) + { + case 0: + X = value; + break; + case 1: + Y = value; + break; + case 2: + Z = value; + break; + default: + throw new IndexOutOfRangeException($"Index {index} is out of range for Vector3"); + } + } + } + // 静态属性表示单位向量 + public static Vector3 UnitX { get { return new Vector3(1.0, 0.0, 0.0); } } + public static Vector3 UnitY { get { return new Vector3(0.0, 1.0, 0.0); } } + public static Vector3 UnitZ { get { return new Vector3(0.0, 0.0, 1.0); } } + /// + /// 构造 初始化 + /// + /// x坐标 + /// y坐标 + /// z坐标 + public Vector3(double x, double y, double z) + { + this.X = x; + this.Y = y; + this.Z = z; + } + /// + /// 重载二元坐标加法+ 向量+向量 + /// + /// 向量加数 + /// 向量加数 + /// + public static Vector3 operator +(Vector3 v1, Vector3 v2) + { + return new Vector3(v1.X + v2.X, v1.Y + v2.Y, v1.Z + v2.Z); + } + /// + /// 重载一元坐标加法+ 向量+小数 + /// + /// 向量 + /// 小数 + /// + public static Vector3 operator +(Vector3 v1, double i) + { + return new Vector3(v1.X + i, v1.Y + i, v1.Z + i); + } + /// + /// 重载一元坐标加法+ 向量+整数 + /// + /// 向量 + /// 整数 + /// + public static Vector3 operator +(Vector3 v1, int i) + { + return new Vector3(v1.X + (double)i, v1.Y + (double)i, v1.Z + (double)i); + } + /// + /// 重载二元坐标减法- 向量-向量 + /// + /// 向量被减数 + /// 向量减数 + /// + public static Vector3 operator -(Vector3 v1, Vector3 v2) + { + return new Vector3(v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z); + } + /// + /// 重载一元坐标加法- 向量-小数 + /// + /// 向量被减数 + /// 小数减数 + /// + public static Vector3 operator -(Vector3 v1, double i) + { + return new Vector3(v1.X - i, v1.Y - i, v1.Z - i); + } + /// + /// 重载一元坐标加法- 向量-整数 + /// + /// 向量被减数 + /// 整数减数 + /// + public static Vector3 operator -(Vector3 v1, int i) + { + return new Vector3(v1.X - (double)i, v1.Y - (double)i, v1.Z - (double)i); + } + /// + /// 重载一元坐标乘法* 向量*小数 + /// + /// 向量 + /// 小数乘数 + /// 得到向量的倍数向量 + public static Vector3 operator *(Vector3 v1, double i) + { + return new Vector3(v1.X * i, v1.Y * i, v1.Z * i); + } + /// + /// 重载一元坐标乘法* 向量*整数 + /// + /// 向量 + /// 整数乘数 + /// 得到向量的倍数向量 + public static Vector3 operator *(Vector3 v1, int i) + { + return new Vector3(v1.X * (double)i, v1.Y * (double)i, v1.Z * (double)i); + } + /// + /// 重载一元坐标除法/ 向量/小数 + /// + /// 向量 + /// 小数除数 + /// 得到向量的商向量 + public static Vector3 operator /(Vector3 v1, double i) + { + return new Vector3(v1.X / i, v1.Y / i, v1.Z / i); + } + /// + /// 重载一元坐标除法/ 向量/整数 + /// + /// 向量 + /// 整数除数 + /// 得到向量的商向量 + public static Vector3 operator /(Vector3 v1, int i) + { + return new Vector3(v1.X / (double)i, v1.Y / (double)i, v1.Z / (double)i); + } + /// + /// 重载== 向量==向量 + /// + /// 向量1 + /// 向量2 + /// 布尔值 判断向量是否相等 + public static bool operator ==(Vector3 v1, Vector3 v2) + { + if (v1.X == v2.X && v1.Y == v2.Y && v1.Z == v2.Z) return true; + return false; + } + /// + /// 重载!= 向量!=向量 + /// + /// 向量1 + /// 向量2 + /// 布尔值 判断向量是否不相等 + public static bool operator !=(Vector3 v1, Vector3 v2) + { + if (v1.X != v2.X || v1.Y != v2.Y || v1.Z != v2.Z) return true; + return false; + } + /// + /// 确定指定的对象是否等于当前向量。 + /// + /// 要与当前向量比较的对象。 + /// 如果指定的对象等于当前向量,则为 true;否则为 false + public override bool Equals(object obj) + { + // 检查对象是否与当前向量具有相同的类型 + if (obj is Vector3) + { + Vector3 vector = (Vector3)obj; + // 比较向量的每个分量 + return X == vector.X && + Y == vector.Y && + Z == vector.Z; + } + + // 如果对象不是 Vector3 类型,则它们不相等 + return false; + } + /// + /// 向量按矩阵旋转和偏移 + /// + /// 矩阵 + /// 返回一个新的向量 + public Vector3 Multiply(Matrix mat) + { + Vector3 re = new Vector3(); + //矩阵相乘 ps:旋转角度 + re.X = this.X * mat[1].X + this.Y * mat[2].X + this.Z * mat[0].X; + re.Y = this.X * mat[1].Y + this.Y * mat[2].Y + this.Z * mat[0].Y; + re.Z = this.X * mat[1].Z + this.Y * mat[2].Z + this.Z * mat[0].Z; + //off偏移 + re = re + mat[3]; + return re; + } + /// + /// 求模长 + /// + /// 向量到原点的模长 + public double GetMag() + { + return Math.Sqrt(Math.Pow(this.X, 2) + Math.Pow(this.Y, 2) + Math.Pow(this.Z, 2)); + } + /// + /// 求模长 平方 + /// + /// 向量到原点的模长的平方值 + public double GetMagSquared() + { + return Math.Pow(this.X, 2) + Math.Pow(this.Y, 2) + Math.Pow(this.Z, 2); + } + /// + /// 标准化坐标 无返回值 直接改变愿坐标 + /// + /// 标准化单位 + public void Normalize(double multiple = 1.0) + { + double magSq = Math.Pow(this.X, 2) + Math.Pow(this.Y, 2) + Math.Pow(this.Z, 2); + if (magSq > 0) + { + double oneOverMag = multiple / Math.Sqrt(magSq); + this.X *= oneOverMag; + this.Y *= oneOverMag; + this.Z *= oneOverMag; + } + } + /// + /// 标准化 返回一个标准化之后的值 不改变自身 + /// + /// 标准化单位 + /// 标准化之后的值 + public Vector3 NormalizEd(double multiple = 1.0) + { + Vector3 re = new Vector3(); + double magSq = Math.Pow(this.X, 2) + Math.Pow(this.Y, 2) + Math.Pow(this.Z, 2); + if (magSq > 0) + { + double oneOverMag = multiple / Math.Sqrt(magSq); + re.X = this.X * oneOverMag; + re.Y = this.Y * oneOverMag; + re.Z = this.Z * oneOverMag; + } + return re; + } + /// + /// 归零 改变自身数值 一般配合归位使用 + /// + /// + public void SetZero(Vector3 v2) + { + this.X -= v2.X; + this.Y -= v2.Y; + this.Z -= v2.Z; + } + /// + /// 归零 返回一个归零值 不改变自身 + /// + /// + /// + public Vector3 SetZeroEd(Vector3 v2) + { + Vector3 re = new Vector3(this.X - v2.X, this.Y - v2.Y, this.Z - v2.Z); + return re; + } + /// + /// 归位 + /// + /// + public void SetFormerly(Vector3 v2) + { + this.X += v2.X; + this.Y += v2.Y; + this.Z += v2.Z; + } + /// + /// 重写ToString 打印坐标 + /// + /// 坐标字符串 + public override string ToString() + { + string x = Convert.ToString(this.X); + string y = Convert.ToString(this.Y); + string z = Convert.ToString(this.Z); + return string.Format($"X轴:{x} Y轴:{y} Z轴:{z}"); + } + /// + /// 哈希码是一个整数值,用于对对象进行快速比较和索引 + /// + /// 哈希码 + public override int GetHashCode() + { + int hashCode = -307843816; + hashCode = hashCode * -1521134295 + X.GetHashCode(); + hashCode = hashCode * -1521134295 + Y.GetHashCode(); + hashCode = hashCode * -1521134295 + Z.GetHashCode(); + return hashCode; + } + } + //坐标操作与验证 + public static class FlyVecFun + { + /// + /// 航线 线间距 平方值 + /// + public static double LineDistanceSquare { get; set; } = 32400; + /// + /// 飞行过程中间距 平方值 + /// + public static double SpaceBetweenSquare { get; set; } = 90000; + /// + /// 输出日志回调函数 + /// + /// 日志内容 + public delegate void SomeCalculateWay(string str); + /// + /// 输出进度日志回调函数 + /// + /// 进度值ps:0-100 + public delegate void Schedule(int val); + /// + /// Arraylist 转 Vector3[] 坐标集 + /// + /// Arraylist 坐标集 + /// Vector3[] 坐标集 + public static Vector3[] ArrToVec(ArrayList arr) + { + int cou = arr.Count; + Vector3[] re = new Vector3[cou]; + int key = 0; + foreach (Vector3 item in arr) + { + re[key] = item; + key++; + } + return re; + } + /// + /// 取数组最大 或者最小值 + /// + /// 数组 + /// true返回最大值 false返回最小值 + /// 根据参数返回 最大或者最小值 + private static double GetMaxOrMin(double[] arr, bool isMax = true) + { + Array.Sort(arr);//给数组arr排序 + if (isMax) + return arr[arr.Length - 1]; + else + return arr[0]; + } + /// + /// 取数组最大 或者最小值 的数组下标 + /// + /// 数组 + /// true返回最大值 false返回最小值 + /// 数组下标 + private static int GetIndexOfMaxOrMin(double[] arr, bool isMax = true) + { + int[] indexes = new int[arr.Length]; + for (int i = 0; i < arr.Length; i++) + { + indexes[i] = i; // 保存每个元素的原始索引 + } + + Array.Sort(arr, indexes); // 按值排序同时更新索引数组 + + // 根据 isMax 参数返回相应的索引 + return isMax ? indexes[arr.Length - 1] : indexes[0]; + } + /// + /// 获取列表中最小值的随机下标 + /// + /// 输入的列表 + /// 最小值的随机下标 + private static int GetRandomMinIndex(List list) + { + // 检查输入的列表是否为 null 或为空 + if (list == null || list.Count == 0) + { + throw new ArgumentException("列表不能为 null 或为空"); + } + + int minValue = int.MaxValue; // 初始化为 int 类型的最大值 + List minIndices = new List(); // 存储最小值的下标列表 + + for (int i = 0; i < list.Count; i++) + { + // 如果当前元素比最小值小,更新最小值和清空之前的下标列表 + if (list[i] < minValue) + { + minValue = list[i]; + minIndices.Clear(); // 清空之前的下标列表 + minIndices.Add(i); // 添加当前下标 + } + // 如果当前元素等于最小值,添加当前下标到列表 + else if (list[i] == minValue) + { + minIndices.Add(i); + } + } + + // 如果最小值下标列表为空,表示没有找到最小值 + if (minIndices.Count == 0) + { + throw new InvalidOperationException("列表中没有找到最小值"); + } + + // 生成一个随机数,用于从最小值下标列表中随机选择一个下标 + Random random = new Random(); + return minIndices[random.Next(minIndices.Count)]; + } + /// + /// 二维数组转一维数组 并去重 + /// + /// 二维数组 + /// 去重一维数组 + private static List TwoArrToArr(List twoArr) + { + // 创建一个用于存储去重后的一维数组的列表 + List arr = new List(); + // 遍历二维数组的每个子数组 + foreach (int[] item in twoArr) + { + // 查找第一个元素在一维数组中的索引 + int i = arr.IndexOf(item[0]); + // 如果索引小于0,表示该元素在一维数组中不存在,将其添加到一维数组 + if (i < 0) + { + arr.Add(item[0]); + } + // 查找第二个元素在一维数组中的索引 + int x = arr.IndexOf(item[1]); + // 如果索引小于0,表示该元素在一维数组中不存在,将其添加到一维数组 + if (x < 0) + { + arr.Add(item[1]); + } + } + // 返回去重后的一维数组 + return arr; + } + /// + /// 获取交叉序列 ps:处理二维数组 把有关联的子数组合并 例如:[[0,2][0,3][3,4][5,6]] 结果[[0,2,3,4][5,6]] + /// + /// 需要处理的二维数组 + /// 交叉序列 + private static List> FindConnected(List arr) + { + Dictionary> graph = new Dictionary>(); + Dictionary visited = new Dictionary(); + List> result = new List>(); + + // 构建图 + foreach (var edge in arr) + { + foreach (var node in edge) + { + if (!graph.ContainsKey(node)) + { + graph[node] = new List(); + visited[node] = false; + } + } + } + foreach (var edge in arr) + { + graph[edge[0]].Add(edge[1]); + graph[edge[1]].Add(edge[0]); + } + foreach (var node in graph.Keys) + { + if (!visited[node]) + { + List connected = new List(); + DFS(node, connected, graph, visited); + result.Add(connected); + } + } + return result; + } + private static void DFS(int node, List connected, Dictionary> graph, Dictionary visited) + { + visited[node] = true; + connected.Add(node); + + foreach (var neighbor in graph[node]) + { + if (!visited[neighbor]) + { + DFS(neighbor, connected, graph, visited); + } + } + } + /// + /// 获取一组序列的所有排列方式 ps:[0,1,2] 结果[[0, 1, 2],[0, 2, 1],[1, 0, 2],[1, 2, 0],[2, 0, 1],[2, 1, 0]] + /// + /// 一组序列 + /// 所有序列的排列方式 + private static List> Permutations(List array) + { + List> result = new List>(); + GeneratePermutations(array, 0, array.Count - 1, result); + return result; + } + private static void GeneratePermutations(List array, int start, int end, List> result) + { + if (start == end) + { + result.Add(new List(array)); + } + else + { + for (int i = start; i <= end; i++) + { + int temp = array[start]; + array[start] = array[i]; + array[i] = temp; + GeneratePermutations(array, start + 1, end, result); + temp = array[start]; + array[start] = array[i]; + array[i] = temp; + } + } + } + /// + /// 按照对应关系 生成新的b坐标集合 + /// + /// a坐标集合 + /// b坐标集合 + /// a b集合的对应关系 + /// 坐标集合 + private static Vector3[] CreateNewBVecs(Vector3[] bVecs, List match) + { + Vector3[] new_bVecs = new Vector3[bVecs.Length]; + foreach (int[] m in match) + { + new_bVecs[m[0]] = bVecs[m[1]]; + } + return new_bVecs; + } + /// + /// 从一组向量集合中 不重复的随机选择4个向量为一组 最多100组 组合成二维数组 如:[[1,2,3,4][5,6,7,8]...] + /// + /// 坐标集和 + /// re空数组则代表不够4个坐标 + private static List RandomSel4Vec(Vector3[] vecs) + { + List result = new List(); + int len = vecs.Length; + // 如果坐标数组少于4个,或者为空,则返回空列表 + if (len < 4) + { + return result; + } + // 确定最大可选择的组数,最多为100组 + int numGroups = Math.Min(len / 4, 100); + List flattenedList = vecs.ToList(); + Random random = new Random(); + // 遍历每一组 + for (int i = 0; i < numGroups; i++) + { + List selectedGroup = new List(); + + // 随机选择4个不重复的坐标 + for (int j = 0; j < 4; j++) + { + int index = random.Next(flattenedList.Count); + selectedGroup.Add(flattenedList[index]); + flattenedList.RemoveAt(index); + } + + // 将选择的坐标组成的 List 转换为数组,并添加到结果中 + result.Add(selectedGroup.ToArray()); + } + return result; + } + /// + /// 设置中间航点 + /// + /// 起点 + /// 目标点 + /// 比例 + /// + private static Vector3 SetMiddleVec(Vector3 aVec, Vector3 bVec, double middlePos = 0.5) + { + return (bVec - aVec) * middlePos + aVec; + } + /// + /// 两点距离 + /// + /// 坐标1 + /// 坐标2 + /// 两点之间距离 + private static double GageLength(Vector3 v1, Vector3 v2) + { + return Math.Sqrt(GageLengthSquare(v1, v2)); + } + /// + /// 两点距离的平方 + /// + /// 坐标1 + /// 坐标2 + /// 两点距离的平方 + private static double GageLengthSquare(Vector3 v1, Vector3 v2) + { + return Math.Pow(v1.X - v2.X, 2) + Math.Pow(v1.Y - v2.Y, 2) + Math.Pow(v1.Z - v2.Z, 2); + } + /// + /// 点积 + /// + /// 向量1 + /// 向量2 + /// 点积 + private static double DotPro(Vector3 v1, Vector3 v2) + { + return v1.X * v2.X + v1.Y * v2.Y + v1.Z * v2.Z; + } + /// + /// 叉积 + /// + /// 向量1 + /// 向量2 + /// 两个向量叉积 + private static Vector3 CrossPro(Vector3 v1, Vector3 v2) + { + double x = v1.Y * v2.Z - v1.Z * v2.Y; + double y = v1.Z * v2.X - v1.X * v2.Z; + double z = v1.X * v2.Y - v1.Y * v2.X; + return new Vector3(x, y, z); + } + /// + /// 计算两个向量之间的夹角 角度 + /// + /// 第一个向量 + /// 第二个向量 + /// 角度 + public static double AngleBetween(Vector3 v1, Vector3 v2) + { + // 计算点积 + double dotProduct = DotPro(v1, v2); + + // 计算向量长度 + double magnitude1 = v1.GetMag(); + double magnitude2 = v2.GetMag(); + + // 使用 Atan2 计算弧度 + double thetaRadians = Math.Atan2(CrossPro(v1, v2).GetMag(), dotProduct); + + // 弧度转角度 + double thetaDegrees = thetaRadians * (180 / Math.PI); + + return thetaDegrees; + } + /// + /// 检查4个点是否在一个平面上 + /// + /// 点1 + /// 点2 + /// 点3 + /// 点4 + /// true在一个平面 false不在一个平面 + public static bool IsVecsOnPlane(Vector3 vec1, Vector3 vec2, Vector3 vec3, Vector3 vec4) + { + //计算三个向量 + Vector3 v1v2 = vec2 - vec1; + Vector3 v1v3 = vec3 - vec1; + Vector3 v1v4 = vec4 - vec1; + //计算法线向量 + Vector3 normal_vector = CrossPro(v1v2,v1v3); + //计算点到平面的距离 + double distance = DotPro(normal_vector, v1v4) / normal_vector.GetMag(); + //设置一个阈值,判断是否共面 + double epsilon = 10; //单位厘米 + return Math.Abs(distance) < epsilon; + } + /// + /// 判断3个点是否在同一条直线上 + /// + /// 点1 + /// 点2 + /// 点3 + /// true在一条直线上 false不在一条直线上 + private static bool IsVecsOnLine(Vector3 vec1, Vector3 vec2, Vector3 vec3) + { + Vector3 v1 = vec2 - vec1; + Vector3 v2 = vec3 - vec1; + // 计算点积 + double dotProduct = DotPro(v1, v2); + // 计算向量长度 + double magnitude1 = v1.GetMag(); + double magnitude2 = v2.GetMag(); + // 使用 Atan2 计算弧度 + double thetaRadians = Math.Atan2(CrossPro(v1, v2).GetMag(), dotProduct); + // 弧度转角度 + double thetaDegrees = thetaRadians * (180 / Math.PI); + if (Math.Abs(thetaDegrees) < 10) return true; + else return false; + } + /// + /// 从顶视图 判断点是否在两条内之间 + /// + /// 线段1端点 + /// 线段1端点 + /// 线段2端点 + /// 线段2端点 + /// 被判断点 + /// true点在两条线内部 false点不在两条线内部 + private static bool IsPointBetweenLines(Vector3 A, Vector3 B, Vector3 C, Vector3 D, Vector3 P) + { + /// Y轴亚平 即顶视图 + A = new Vector3(A.X,0,A.Z); + B = new Vector3(B.X, 0, B.Z); + C = new Vector3(C.X, 0, C.Z); + D = new Vector3(D.X, 0, D.Z); + P = new Vector3(P.X, 0, P.Z); + Vector3 dirAB = new Vector3(B.X - A.X, B.Y - A.Y, B.Z - A.Z); + Vector3 dirCD = new Vector3(D.X - C.X, D.Y - C.Y, D.Z - C.Z); + Vector3 vecAP = new Vector3(P.X - A.X, P.Y - A.Y, P.Z - A.Z); + Vector3 vecCP = new Vector3(P.X - C.X, P.Y - C.Y, P.Z - C.Z); + + double cross1 = dirAB.X * vecAP.Z - dirAB.Z * vecAP.X; + double cross2 = dirCD.X * vecCP.Z - dirCD.Z * vecCP.X; + + return cross1 * cross2 < 0; + } + /// + /// 辅助方法,用于检查向量是否为零向量 + /// + /// 向量 + /// + private static bool IsZero(this Vector3 vector) + { + return vector.X == 0 && vector.Y == 0 && vector.Z == 0; + } + /// + /// 获取两条线段 的最近位置的距离和占比 + /// + /// 线段1起始点 + /// 线段1起终点 + /// 线段2起始点 + /// 线段2起终点 + /// [在线段1占比,在线段2占比,最近距离] + private static double RecentlySquareOfLine(Vector3 a1, Vector3 a2, Vector3 b1, Vector3 b2) + { + if (a1 == a2) a2 += 1;// 防止线段长度为0 + if (b1 == b2) b2 += 1; + double ux = a2.X - a1.X; + double uy = a2.Y - a1.Y; + double uz = a2.Z - a1.Z; + double vx = b2.X - b1.X; + double vy = b2.Y - b1.Y; + double vz = b2.Z - b1.Z; + double wx = a1.X - b1.X; + double wy = a1.Y - b1.Y; + double wz = a1.Z - b1.Z; + double a = (ux * ux + uy * uy + uz * uz); + double b = (ux * vx + uy * vy + uz * vz); + double c = (vx * vx + vy * vy + vz * vz); + double d = (ux * wx + uy * wy + uz * wz); + double e = (vx * wx + vy * wy + vz * wz); + double dt = a * c - b * b; + double sd = dt; + double td = dt; + double sn = 0.0; + double tn = 0.0; + if (IsEqual(dt, 0.0)) + { + sn = 0.0; + sd = 1.00; + tn = e; + td = c; + } + else + { + sn = (b * e - c * d); + tn = (a * e - b * d); + if (sn < 0.0) + { + sn = 0.0; + tn = e; + td = c; + } + else if (sn > sd) + { + sn = sd; + tn = e + b; + td = c; + } + } + if (tn < 0.0) + { + tn = 0.0; + if (-d < 0.0) sn = 0.0; + else if (-d > a) sn = sd; + else + { + sn = -d; + sd = a; + } + } + else if (tn > td) + { + tn = td; + if ((-d + b) < 0.0) sn = 0.0; + else if ((-d + b) > a) sn = sd; + else + { + sn = (-d + b); + sd = a; + } + + } + double sc = 0.0; + double tc = 0.0; + if (IsEqual(sn, 0.0)) sc = 0.0; + else sc = sn / sd;//最近点在第一条线占比 + if (IsEqual(tn, 0.0)) tc = 0.0; + else tc = tn / td;//最近点在第二条线占比 + double dx = wx + (sc * ux) - (tc * vx); + double dy = wy + (sc * uy) - (tc * vy); + double dz = wz + (sc * uz) - (tc * vz); + return dx * dx + dy * dy + dz * dz;//两线最近距离的平方 + } + private static bool IsEqual(double x, double y) + { + if (Math.Abs(x - y) < 1e-7) + { + return true; + } + return false; + } + /// + /// 按比例在两条线段上截取对应点间的最小距离 平方 + /// + /// 线段1起始点 + /// 线段1起终点 + /// 线段2起始点 + /// 线段2起终点 + /// 最小距离的平方值 + private static double MinDistanceSquareOfLine(Vector3 a1, Vector3 a2, Vector3 b1, Vector3 b2) + { + //相对位置和相对速度 + Vector3 d0 = b1 - a1; + Vector3 v_rel = (b2 - b1) - (a2 - a1); + //计算最小距离位置 占比 + double vd = DotPro(v_rel, v_rel); + double proportion;//最近距离占比 + if (vd != 0) + { + proportion = Math.Max(0, Math.Min(1, -DotPro(d0, v_rel) / vd));//max min函数把比例限制在0-1 保证比例在线段上 + } + else + { + proportion = 0; + } + //计算最小距离平方 + Vector3 d_min = d0 + v_rel * proportion; + return d_min.GetMagSquared(); + } + /// + /// 获取坐标集合的重心或中心 + /// + /// 坐标集合 + /// 默认返回为true重心 false则为中心 + /// 重心或中心坐标 + public static Vector3 GetPosCenter(Vector3[] pos, bool isCentroid = true) + { + int cou = pos.Length; + if (isCentroid)//重心 + { + double x = 0; + double y = 0; + double z = 0; + foreach (var item in pos) + { + x += item.X; + y += item.Y; + z += item.Z; + } + x = x / cou; + y = y / cou; + z = z / cou; + return new Vector3(x, y, z); + } + else//中心 + { + double[] x = new double[cou]; + double[] y = new double[cou]; + double[] z = new double[cou]; + int key = 0; + foreach (var item in pos) + { + x[key] = item.X; + y[key] = item.Y; + z[key] = item.Z; + key++; + } + double xc = (GetMaxOrMin(x) + GetMaxOrMin(x, false)) * .5; + double yc = (GetMaxOrMin(y) + GetMaxOrMin(y, false)) * .5; + double zc = (GetMaxOrMin(z) + GetMaxOrMin(z, false)) * .5; + return new Vector3(xc, yc, zc); + } + } + /// + /// 获取坐标集合的重心或中心 + /// + /// 坐标集合 + /// 默认返回为true重心 false则为中心 + /// 重心或中心坐标 + private static Vector3 GetPosCenter(List pos, bool isCentroid = true) + { + int cou = pos.Count; + if (isCentroid)//重心 + { + double x = 0; + double y = 0; + double z = 0; + foreach (var item in pos) + { + x += item.X; + y += item.Y; + z += item.Z; + } + x = x / cou; + y = y / cou; + z = z / cou; + return new Vector3(x, y, z); + } + else//中心 + { + double[] x = new double[cou]; + double[] y = new double[cou]; + double[] z = new double[cou]; + int key = 0; + foreach (var item in pos) + { + x[key] = item.X; + y[key] = item.Y; + z[key] = item.Z; + key++; + } + double xc = (GetMaxOrMin(x) + GetMaxOrMin(x, false)) * .5; + double yc = (GetMaxOrMin(y) + GetMaxOrMin(y, false)) * .5; + double zc = (GetMaxOrMin(z) + GetMaxOrMin(z, false)) * .5; + return new Vector3(xc, yc, zc); + } + } + /// + /// 获取坐标集合 的总宽度 高度 长度 + /// + /// 坐标集合 + /// 返回数组[0]宽度[1]高度[2]长度 + public static double[] GetVecsWithHighLength(Vector3[] pos) + { + List w = new List(); + List h = new List(); + List l = new List(); + foreach (var item in pos) + { + w.Add(item.X); + h.Add(item.Y); + l.Add(item.Z); + } + double[] re = new double[3]; + re[0] = w.Max() - w.Min(); + re[1] = h.Max() - h.Min(); + re[2] = l.Max() - l.Min(); + return re; + } + /// + /// 碰撞检测 + /// + /// 始点坐标集合 + /// 终点坐标集合 + /// + private static List AirImitation(Vector3[] aVecs, Vector3[] bVecs) + { + List planesCollision = new List(); //所有碰撞的组 + int planeCou = aVecs.Length; //获取飞机总数 + for (int a = 0; a < planeCou; a++) + { + for (int b = 0; a + 1 + b < planeCou; b++) + { + //判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (distanceSquare < LineDistanceSquare) + { + //判断飞机距离是否过近 + double planeLenSquare = MinDistanceSquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (planeLenSquare < SpaceBetweenSquare) + { + planesCollision.Add(new int[] { a, a + 1 + b }); + } + } + } + } + return planesCollision; + } + /// + /// 碰撞检测 + /// + /// 始点坐标集合 + /// 终点坐标集合 + /// + private static List AirImitation(List aVecs, List bVecs) + { + List planesCollision = new List(); //所有碰撞的组 + int planeCou = aVecs.Count; //获取飞机总数 + for (int a = 0; a < planeCou; a++) + { + for (int b = 0; a + 1 + b < planeCou; b++) + { + //判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (distanceSquare < LineDistanceSquare) + { + //判断飞机距离是否过近 + double planeLenSquare = MinDistanceSquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (planeLenSquare < SpaceBetweenSquare) + { + planesCollision.Add(new int[] { a, a + 1 + b }); + } + } + } + } + return planesCollision; + } + /// + /// 碰撞检测 + /// + /// 始点坐标集合 + /// 终点坐标集合 + /// + private static List AirImitation(Vector3[] aVecs , List bVecs) + { + List planesCollision = new List(); //所有碰撞的组 + int planeCou = aVecs.Length; //获取飞机总数 + for (int a = 0; a < planeCou; a++) + { + for (int b = 0; a + 1 + b < planeCou; b++) + { + //判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (distanceSquare < LineDistanceSquare) + { + //判断飞机距离是否过近 + double planeLenSquare = MinDistanceSquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (planeLenSquare < SpaceBetweenSquare) + { + planesCollision.Add(new int[] { a, a + 1 + b }); + } + } + } + } + return planesCollision; + } + /// + /// 碰撞检测 + /// + /// 始点坐标集合 + /// 终点坐标集合 + /// + private static List AirImitation( List aVecs, Vector3[] bVecs) + { + List planesCollision = new List(); //所有碰撞的组 + int planeCou = aVecs.Count; //获取飞机总数 + for (int a = 0; a < planeCou; a++) + { + for (int b = 0; a + 1 + b < planeCou; b++) + { + //判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (distanceSquare < LineDistanceSquare) + { + //判断飞机距离是否过近 + double planeLenSquare = MinDistanceSquareOfLine(aVecs[a], bVecs[a], aVecs[a + 1 + b], bVecs[a + 1 + b]); + if (planeLenSquare < SpaceBetweenSquare) + { + planesCollision.Add(new int[] { a, a + 1 + b }); + } + } + } + } + return planesCollision; + } + /// + /// 单机碰撞检测 + /// + /// 飞机的id PS:id从0开始 + /// 飞机起始坐标集合 + /// 飞机终点坐标集合 + /// true:有碰撞 false:无碰撞 + private static bool OnlyImitation(int onlyPlaneId, Vector3[] aVecs, Vector3[] bVecs) + { + //选出与指定飞机 航线有交叉的飞机 用于模拟飞行碰撞检测 + for (int contrastId = 0; contrastId < aVecs.Length; contrastId++) + { + if (onlyPlaneId == contrastId) continue;//不和自己比较 + // 判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//航线最小距离 + if (distanceSquare < LineDistanceSquare) + { + double minDistanceSquare = MinDistanceSquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//按比例飞行最小间距 + if (minDistanceSquare < SpaceBetweenSquare) + { + return true;//返回有碰撞 + } + } + } + return false;//返回没有碰撞; + } + /// + /// 单机碰撞检测 + /// + /// 飞机的id PS:id从0开始 + /// 飞机起始坐标集合 + /// 飞机终点坐标集合 + /// true:有碰撞 false:无碰撞 + private static bool OnlyImitation(int onlyPlaneId, List aVecs, List bVecs) + { + //选出与指定飞机 航线有交叉的飞机 用于模拟飞行碰撞检测 + for (int contrastId = 0; contrastId < aVecs.Count; contrastId++) + { + if (onlyPlaneId == contrastId) continue;//不和自己比较 + // 判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//航线最小距离 + if (distanceSquare < LineDistanceSquare) + { + double minDistanceSquare = MinDistanceSquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//按比例飞行最小间距 + if (minDistanceSquare < SpaceBetweenSquare) + { + return true;//返回有碰撞 + } + } + } + return false;//返回没有碰撞; + } + /// + /// 单机碰撞检测 + /// + /// 飞机的id PS:id从0开始 + /// 飞机起始坐标集合 + /// 飞机终点坐标集合 + /// true:有碰撞 false:无碰撞 + private static bool OnlyImitation(int onlyPlaneId, Vector3[] aVecs, List bVecs) + { + //选出与指定飞机 航线有交叉的飞机 用于模拟飞行碰撞检测 + for (int contrastId = 0; contrastId < aVecs.Length; contrastId++) + { + if (onlyPlaneId == contrastId) continue;//不和自己比较 + // 判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//航线最小距离 + if (distanceSquare < LineDistanceSquare) + { + double minDistanceSquare = MinDistanceSquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//按比例飞行最小间距 + if (minDistanceSquare < SpaceBetweenSquare) + { + return true;//返回有碰撞 + } + } + } + return false;//返回没有碰撞; + } + /// + /// 单机碰撞检测 + /// + /// 飞机的id PS:id从0开始 + /// 飞机起始坐标集合 + /// 飞机终点坐标集合 + /// true:有碰撞 false:无碰撞 + private static bool OnlyImitation(int onlyPlaneId, List aVecs, Vector3[] bVecs) + { + //选出与指定飞机 航线有交叉的飞机 用于模拟飞行碰撞检测 + for (int contrastId = 0; contrastId < aVecs.Count; contrastId++) + { + if (onlyPlaneId == contrastId) continue;//不和自己比较 + // 判断两条轨迹 之间的最小距离 + double distanceSquare = RecentlySquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//航线最小距离 + if (distanceSquare < LineDistanceSquare) + { + double minDistanceSquare = MinDistanceSquareOfLine(aVecs[onlyPlaneId], bVecs[onlyPlaneId], aVecs[contrastId], bVecs[contrastId]);//按比例飞行最小间距 + if (minDistanceSquare < SpaceBetweenSquare) + { + return true;//返回有碰撞 + } + } + } + return false;//返回没有碰撞; + } + /// + /// 智能路径 规则:找ab组共同最外圈的点 然后对应找a或b里面最近点 为一组匹配 最后进行碰撞交叉互换 + /// + /// 起始点坐标组 + /// 目标点坐标组 + /// 日志输出 回调函数 + /// 交叉航线是否进行交换 + /// 交换次数 + /// 交叉线路数量上限 ps:超过这个数量则不进行交换 + /// 新的目标点 + public static Vector3[] ContactABOut(Vector3[] aVecs, Vector3[] bVecs, SomeCalculateWay StrPrint, bool isSwap = true, int swapCount = 5, int crossingLimit = 6) + { + long t = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); + StrPrint("-------智能选择路径计算,开始-------"); + int planeCou = aVecs.Length; // 飞机总数 + List match = new List(); // ab对应关系 + ///记录a b集合索引 + List aIndex = new List(); + List bIndex = new List(); + for (int k = 0; k < planeCou; k++) + { + aIndex.Add(k); + bIndex.Add(k); + } + /// 遍历找出 AB集合对应关系 + for (int k = 0; k < planeCou; k++) + { + + // 遍历每次刷新 剩下为未匹配总数 + int remainCou = aIndex.Count; + // 遍历每次刷新 重心 + List allVecs = new List(); + for (int i = 0; i < remainCou; i++) + { + allVecs.Add(aVecs[aIndex[i]]); + allVecs.Add(bVecs[bIndex[i]]); + } + Vector3 centerVec = GetPosCenter(allVecs);//重心点 + // 遍历所有ab点距离重心点的距离 + double[] aLens = new double[remainCou]; + double[] bLens = new double[remainCou]; + for (int i = 0; i < remainCou; i++) + { + aLens[i] = GageLengthSquare(aVecs[aIndex[i]], centerVec); + bLens[i] = GageLengthSquare(bVecs[bIndex[i]], centerVec); + } + // 找出ab集合最外层坐标的下标 即离重心点最远的点 + int aMaxIndex = GetIndexOfMaxOrMin(aLens); // a集合到重心点最长的距离 数组的下标 + int bMaxIndex = GetIndexOfMaxOrMin(bLens); // b集合到重心点最长的距离 数组的下标 + if (aLens[aMaxIndex] > bLens[bMaxIndex])//找出 最外层如果为A集合点 对应B集合最近点 的下标 + { + double[] outAtoBLen = new double[remainCou];//最外层A点到 B集合所有点的距离 + for (int i = 0; i < remainCou; i++) + { + outAtoBLen[i] = GageLengthSquare(aVecs[aIndex[aMaxIndex]], bVecs[bIndex[i]]); + } + int bMinIndex = GetIndexOfMaxOrMin(outAtoBLen, false);// 最短距离 + match.Add(new int[] { aIndex[aMaxIndex], bIndex[bMinIndex] });// 映射到配对 + aIndex.RemoveAt(aMaxIndex); // 删除已经配对的a集合 ID + bIndex.RemoveAt(bMinIndex); // 删除已经配对的b集合 ID + } + else//找出 最外层如果为B集合点 对应A集合最近点 的下标 + { + double[] outBtoALen = new double[remainCou];//最外层B点到 A集合所有点的距离 + for (int i = 0; i < remainCou; i++) + { + outBtoALen[i] = GageLengthSquare(aVecs[aIndex[i]], bVecs[bIndex[bMaxIndex]]); + } + int aMinIndex = GetIndexOfMaxOrMin(outBtoALen, false);// 最短距离 + match.Add(new int[] { aIndex[aMinIndex], bIndex[bMaxIndex] });// 映射到配对 + aIndex.RemoveAt(aMinIndex); // 删除已经配对的a集合 ID + bIndex.RemoveAt(bMaxIndex); // 删除已经配对的b集合 ID + } + } + Vector3[] new_bVecs = CreateNewBVecs(bVecs, match);// 按照映射 获取a 对应的 新的b集合 + if (!isSwap) + { + return new_bVecs; + } + ///交叉 交换 + for (int i = 0; i < swapCount; i++) + { + List planesCollision = AirImitation(aVecs, new_bVecs);// 获取碰撞组 + List> formatCollision = FindConnected(planesCollision);// 获取交叉序列 例如:[[0,2][0,3][3,4][5,6]] 结果[[0,2,3,4][5,6]] + List> filteredCollision = formatCollision.Where(sublist => sublist.Count <= crossingLimit).ToList();// 过滤 只保留交叉数量小于等于crossingLimit的序列 + if (filteredCollision.Count == 0) break; + ///日志输出 + string log = ""; + foreach (List item in filteredCollision) + { + log += "["; + foreach (int itemInt in item) + { + log += $"{itemInt},"; + } + log += "]"; + } + StrPrint($"共迭代{swapCount}次交换,第{i}次。共{filteredCollision.Count}组,交换组为:{log}。"); + /// 遍历所有交叉组 分组做交换 + int cou = 0; + foreach (List swap_indices in filteredCollision) + { + cou++; + StrPrint($"进度:{cou}/{filteredCollision.Count}。交换组:[{string.Join(", ", swap_indices)}]。"); + ///交叉 生成所有排列 + List> all_permutations = Permutations(swap_indices);//所有排列组合 + List original = all_permutations[0];//原始排列 + all_permutations.RemoveAt(0);//删掉第一个 既原始排列 + /// 按所有的排列 互换航线 并检测出最佳的对应目标点 + List tempLen = new List(); //记录最少碰撞的 排列 + List tempNew_bVecsS = new List();//记录最少碰撞的 排列交换之后的目标坐标集 + foreach (List indices in all_permutations) + { + Vector3[] current_array = new Vector3[planeCou]; + Array.Copy(new_bVecs, current_array, planeCou);//复制一个new_bVecs 副本 + for (int k = 0; k < indices.Count; k++) + { + current_array[original[k]] = new_bVecs[indices[k]]; + } + ///把最少碰撞的排列 录入到数组 + int collisionsCou = (AirImitation(aVecs, current_array)).Count;//此排列的碰撞次数 + if (tempLen.Count == 0 || tempLen[0] == collisionsCou)//如果第一次添加 或者 碰撞次数等于最少碰撞 + { + ///录入数组 + tempLen.Add(collisionsCou); + tempNew_bVecsS.Add(current_array); + } + else if (tempLen[0] > collisionsCou) + { + /// 如果最小值 大于 当前碰撞次数,清空之前记录 + tempLen.Clear(); + tempNew_bVecsS.Clear(); + ///录入数组 + tempLen.Add(collisionsCou); + tempNew_bVecsS.Add(current_array); + } + } + new_bVecs = tempNew_bVecsS[GetRandomMinIndex(tempLen)]; + } + } + + t = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - t; + StrPrint($"用时:{t}秒"); + StrPrint($"-------智能选择路径计算,结束-------"); + return new_bVecs; + } + /// + /// 智能错层 + /// + /// 起始坐标集合 + /// 终点做标集合 + /// 起始坐标航点名称 + /// 终点坐标航点名称 + /// 日志输出 回调函数 + /// 错层层高 + /// 返回一个二维向量坐标集合 middle[0]是第一个中间航点 middle[1]是第二个中间航点 返回空数组则代表两个图形不在一个平面上或者不够4个点 + public static List> CollisionLayer(Vector3[] aVecs, Vector3[] bVecs,string aName,string bName ,SomeCalculateWay StrPrint, double layHight = 220) + { + long t = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); + StrPrint("-------错层,开始-------"); + List> re = new List>(); + ///判断有没有碰撞 有碰撞继续 没有直接返回 + List planesCollision = AirImitation(aVecs, bVecs); //获取碰撞组 + if (planesCollision.Count == 0) + { + StrPrint("没有检测到碰撞,故不用添加中间航点"); + StrPrint($"-------错层结束-------"); + return re;//直接返回 + } + //获取飞机总数 + int planeCou = aVecs.Length; + if (planeCou < 2)//至少不少于2架飞机 才开始错层 + { + StrPrint("图案至少要两个点阵!"); + return re; + } + + ///从ab图案中取最外层3个点 确定一个面 ps:方便后续叉积算法线标量 + Vector3 vec0 = new Vector3(0, 0, 0); //记录最外圈一个坐标 + Vector3 vec1 = new Vector3(0, 0, 0); //记录离最外圈坐标最远的一个点坐标 + Vector3 vec2 = new Vector3(0, 0, 0); //最外圈距离 和最远距离 之和最远的一个点 + // 求重心 + List allVecs = new List(); + for (int i = 0; i < planeCou; i++) + { + allVecs.Add(aVecs[i]); + allVecs.Add(bVecs[i]); + } + Vector3 centerVec = GetPosCenter(allVecs);//重心点 + // 遍历所有ab点 + double tempLong = 0; + double currentLong; + for (int i = 0; i < planeCou * 2; i++) //取最外圈一个坐标 + { + currentLong = GageLength(allVecs[i], centerVec); + if (tempLong < currentLong) + { + vec0 = allVecs[i]; + tempLong = currentLong; + } + } + tempLong = 0; + for (int i = 0; i < planeCou * 2; i++) //取最外圈点 + { + currentLong = GageLength(allVecs[i], vec0); + if (tempLong < currentLong) + { + vec1 = allVecs[i]; + tempLong = currentLong; + } + } + tempLong = 0; + for (int i = 0; i < planeCou * 2; i++) //取最外圈点 + { + currentLong =(GageLength(allVecs[i], vec0) + GageLength(allVecs[i], vec1)); + if (tempLong < currentLong) + { + vec2 = allVecs[i]; + tempLong = currentLong; + } + } + ///遍历两个图形所有点 是否在一个平面上 + string aNoPlaneSN= "";//记录a图案所有不在一个平面上的点 + string bNoPlaneSN = "";//记录b图案所有不在一个平面上的点 + for (int i = 0; i < planeCou; i++) + { + if (!IsVecsOnPlane(vec0, vec1, vec2, aVecs[i])) aNoPlaneSN += $"{i+1},"; + if (!IsVecsOnPlane(vec0, vec1, vec2, bVecs[i])) bNoPlaneSN += $"{i+1},"; + } + if (aNoPlaneSN != "" || bNoPlaneSN != "") + { + if (aNoPlaneSN != "") StrPrint($"“{aName}”:{aNoPlaneSN}号飞机 ,不在一个平面,故不能做搓层处理!"); + if (bNoPlaneSN != "") StrPrint($"“{bName}”:{bNoPlaneSN}号飞机 ,不在一个平面,故不能做搓层处理!"); + StrPrint($"-------错层,结束-------"); + return re;//两个图形不在一个平面上 返回 空数组 + } + ///检查完毕后 + //计算法线向量 + Vector3 side1 = vec1 - vec0; + Vector3 side2 = vec2 - vec0; + Vector3 normal = CrossPro(side1, side2); + Vector3 normalScalar = normal.NormalizEd();//法线标量 + //开始错层 + for (int i = 0; i < planeCou; i++) + { + int shiftCou = 1; //记录循环次数 即层数 + Vector3 aOrigin = aVecs[i]; //原点位置 + Vector3 bOrigin = bVecs[i]; //原点位置 + while (OnlyImitation(i, aVecs, bVecs)) + { + Vector3 shiftVec = normalScalar * ((shiftCou + 1) / 2 * layHight); + if (shiftCou % 2 == 1) + { + aVecs[i] = aOrigin + shiftVec; + bVecs[i] = bOrigin + shiftVec; + } + else + { + aVecs[i] = aOrigin - shiftVec; + bVecs[i] = bOrigin - shiftVec; + } + shiftCou += 1; + } + } + re.Add(aVecs.ToList()); + re.Add(bVecs.ToList()); + StrPrint($"错层成功"); + t = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - t; + StrPrint($"用时:{t}秒"); + StrPrint($"-------错层结束-------"); + return re; + } + /// + /// 路径绕行 + /// + /// 起始坐标集合 + /// 终点做标集合 + /// 日志输出 回调函数 + /// 返回一个二维数组 返回值长度0没有检测到碰撞或绕行失败 长度1为一个中间航点 长度为3为三个中间航点顺序(前中后) + public static List> ABypassB(Vector3[] aVecs, Vector3[] bVecs, SomeCalculateWay StrPrint, Schedule GetVal) + { + long t = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); + StrPrint("-------3D绕行,开始-------"); + List> re = new List>(); + ///判断有没有碰撞 有碰撞继续 没有直接返回 + List planesCollision = AirImitation(aVecs, bVecs); //获取碰撞组 + if (planesCollision.Count == 0) + { + StrPrint("没有检测到碰撞,故不用添加中间航点"); + StrPrint($"-------3D绕行,结束-------"); + return re;//直接返回 + } + ///飞机总数 + int planeCou = aVecs.Length; + ///第一次绕行 中间1航点 + List collisionGroup = TwoArrToArr(planesCollision); //整合数组 + List middleVecs = new List(); //中心航点坐标组 + for (int i = 0; i < planeCou; i++) + { + middleVecs.Add(SetMiddleVec(aVecs[i], bVecs[i])); //添加默认中间航点 + } + for (int c = 0; c < 2; c++) + { + foreach (int i in collisionGroup)//开始绕碰撞组 + { + List grv = GetRingVec(aVecs[i], bVecs[i], 0.5, 40, 4);//中间可绕行航点列表 + foreach (Vector3 v in grv) + { + middleVecs[i] = v; + if (!OnlyImitation(i, aVecs, middleVecs) && !(OnlyImitation(i, middleVecs, bVecs))) + { + break; + } + } + } + planesCollision = AirImitation(aVecs, middleVecs).Concat(AirImitation(middleVecs, bVecs)).ToList(); //获取碰撞组 + collisionGroup = TwoArrToArr(planesCollision); //整合数组 + } + //没有碰撞 返回一个中间航点 并返回 + if (collisionGroup.Count == 0) + { + StrPrint("第一次绕行成功!"); + t = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - t; + StrPrint($"用时:{t}秒"); + StrPrint($"-------3D绕行,结束-------"); + re.Add(middleVecs); + return re; + } + else + { + StrPrint($"{string.Join("号, ", collisionGroup)}号,有碰撞,共{collisionGroup.Count}架!"); + StrPrint("第一次绕行未成功,准备开始第二次绕行!"); + } + + ///第二次绕行 两头 两航点 + bool isPassMark = false; + planesCollision = AirImitation(aVecs, bVecs); //获取碰撞组 + collisionGroup = TwoArrToArr(planesCollision); //整合数组 + List secondMiddleVecsOne = new List(); //中心航点坐标组1 + List secondMiddleVecsTwo = new List(); //中心航点坐标组2 + for (int i = 0; i < planeCou; i++) + { + secondMiddleVecsOne.Add(SetMiddleVec(aVecs[i], bVecs[i], 0.1)); //添加中间航点1 + secondMiddleVecsTwo.Add(SetMiddleVec(aVecs[i], bVecs[i], 0.9)); //添加中间航点2 + } + for (int c = 0; c < 2; c++) + { + int progress = 0;//进度 + foreach (int i in collisionGroup)//开始绕碰撞组 + { + progress++; + //StrPrint($"迭代{c}次{i}号绕行"); + List sgrv1 = GetRingVec(aVecs[i], bVecs[i], 0.1, 40, 8);//中间可绕行航点列表 + List sgrv2 = GetRingVec(aVecs[i], bVecs[i], 0.9, 40, 8);//中间可绕行航点列表 + //if (sgrv1.Count > 250) sgrv1.RemoveRange(250, sgrv1.Count - 250); + //if (sgrv2.Count > 250) sgrv2.RemoveRange(250, sgrv2.Count - 250); + StrPrint($"进度:{progress}/{collisionGroup.Count},本次绕行{Math.Pow(sgrv2.Count,2)}次"); + foreach (Vector3 v1 in sgrv1) + { + secondMiddleVecsOne[i] = v1; + foreach (Vector3 v2 in sgrv2) + { + secondMiddleVecsTwo[i] = v2; + if (!OnlyImitation(i, aVecs, secondMiddleVecsOne) && !OnlyImitation(i, secondMiddleVecsOne, secondMiddleVecsTwo) && !OnlyImitation(i, secondMiddleVecsTwo, bVecs)) + { + isPassMark = true; + break; + } + isPassMark = false; + } + if (isPassMark) + { + break; //不撞则跳出 进行下一航线的绕行 + } + } + } + planesCollision = AirImitation(aVecs, secondMiddleVecsOne).Concat(AirImitation(secondMiddleVecsOne, secondMiddleVecsTwo)).ToList(); //获取碰撞组 + planesCollision = planesCollision.Concat(AirImitation(secondMiddleVecsTwo, bVecs)).ToList(); + collisionGroup = TwoArrToArr(planesCollision); //整合数组 + } + //没有碰撞 返回两个中间航点 并返回 + if (collisionGroup.Count == 0) + { + StrPrint("第二次绕行成功!"); + t = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - t; + StrPrint($"用时:{t}秒"); + StrPrint($"-------3D绕行,结束-------"); + re.Add(secondMiddleVecsOne); + re.Add(secondMiddleVecsTwo); + return re; + } + else + { + StrPrint($"{string.Join("号, ", collisionGroup)}号,有碰撞,共{collisionGroup.Count}架!"); + StrPrint("第二次绕行未通过,准备开始第三次绕行!"); + } + + ///第三次绕行 两头 两航点 中间一行点 沿用第二次绕行 + isPassMark = false; + List thirdMiddleVecs = new List(); //中心航点坐标组 + for (int i = 0; i < planeCou; i++) + { + thirdMiddleVecs.Add(SetMiddleVec(secondMiddleVecsOne[i], secondMiddleVecsTwo[i], 0.5)); //添加中间航点(保持二次绕行的两端航点 在两端航点中间添加) + } + for (int c = 0; c < 2; c++) + { + int progress = 0;//进度 + foreach (int i in collisionGroup)//开始绕碰撞组 + { + progress++; + //StrPrint($"迭代{c}次{i}号绕行"); + List sgrv1 = GetRingVec(aVecs[i], bVecs[i], 0.1, 220, 8);//中间可绕行航点列表 + List sgrv2 = GetRingVec(aVecs[i], bVecs[i], 0.9, 220, 8);//中间可绕行航点列表 + List grv = GetRingVec(secondMiddleVecsOne[i], secondMiddleVecsTwo[i], 0.5, 220, 4);//中间可绕行航点列表 + //if (sgrv1.Count > 300) sgrv1.RemoveRange(300, sgrv1.Count - 300); + //if (sgrv2.Count > 300) sgrv2.RemoveRange(300, sgrv2.Count - 300); + //if (grv.Count > 300) grv.RemoveRange(300, grv.Count - 300); + StrPrint($"进度:{progress}/{collisionGroup.Count},本次绕行{Math.Pow(sgrv2.Count, 3)}次"); + foreach (Vector3 vm in grv) + { + thirdMiddleVecs[i] = vm; + foreach (Vector3 v1 in sgrv1) + { + secondMiddleVecsOne[i] = v1; + foreach (Vector3 v2 in sgrv2) + { + secondMiddleVecsTwo[i] = v2; + if (!OnlyImitation(i, aVecs, secondMiddleVecsOne) && !OnlyImitation(i, secondMiddleVecsOne, thirdMiddleVecs ) && !OnlyImitation(i, thirdMiddleVecs, secondMiddleVecsTwo) && !OnlyImitation(i, secondMiddleVecsTwo, bVecs)) + { + isPassMark = true; + break; + } + isPassMark = false; + } + if (isPassMark) + { + break; //不撞则跳出 进行下一航线的绕行 + } + } + if (isPassMark) + { + break; //不撞则跳出 进行下一航线的绕行 + } + } + } + planesCollision = AirImitation(aVecs, secondMiddleVecsOne).Concat(AirImitation(secondMiddleVecsOne, thirdMiddleVecs)).ToList(); //获取碰撞组 + planesCollision = planesCollision.Concat(AirImitation(thirdMiddleVecs, secondMiddleVecsTwo)).ToList(); + planesCollision = planesCollision.Concat(AirImitation(secondMiddleVecsTwo, bVecs)).ToList(); + collisionGroup = TwoArrToArr(planesCollision); //整合数组 + } + //没有碰撞 返回三个中间航点 并返回 + if (collisionGroup.Count == 0) + { + StrPrint("第三次绕行成功!"); + t = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - t; + StrPrint($"用时:{t}秒"); + StrPrint($"-------3D绕行,结束-------"); + re.Add(secondMiddleVecsOne); + re.Add(thirdMiddleVecs); + re.Add(secondMiddleVecsTwo); + return re; + } + else + { + StrPrint($"{string.Join("号, ", collisionGroup)}号,有碰撞,共{collisionGroup.Count}架!"); + StrPrint("第三次绕行未成功,准备开始第四次绕行!"); + } + + ///end + t = DateTimeOffset.UtcNow.ToUnixTimeSeconds() - t; + StrPrint($"用时:{t}秒"); + StrPrint($"-------3D绕行,结束-------"); + return re; + } + /// + /// 在圆圈上 用固定弦长手拉手 分割点 + /// + /// 大圆半径 + /// 固定弦长 ps:这个值决定绕行点一圈的密集成都值越小越密集 + /// + private static List GetVecsOnCircle(double radius, double chordLength) + { + List vecs = new List(); + // 计算圆的周长 + double circumference = (double)(2 * Math.PI * radius); + // 计算弧上的点数 + int numberOfPoints = (int)(circumference / chordLength); + // 计算每个点的弧度 + double angleIncrement = (double)(2 * Math.PI / numberOfPoints); + // 生成点的坐标 + for (int i = 0; i < numberOfPoints; i++) + { + double angle = i * angleIncrement; + double x = radius * (double)Math.Cos(angle); + double y = radius * (double)Math.Sin(angle); + double z = 0.0; // 如果是在平面上,Z 可能是 0 + vecs.Add(new Vector3(x, y, z)); + } + return vecs; + } + /// + /// 获取a指向b的向量矩阵 ps:偏移次数 加1 会在终点前后往返偏移 + /// + /// a向量 + /// b向量 + /// 默认中点位置比例 + /// 偏移次数 从0开始,每+1在中点前后往返偏移 + /// 偏移层高 + /// 层排布方向 "retrun"前后堆叠 "forward"向前排列(如:起点向目标点方向) "backward"向后排列 + /// 矩阵 + private static Matrix GetBasisMatrix(Vector3 aVec, Vector3 bVec, double middleProportion, int offCount, double layHight,string direction) + { + /// 计算前向向量 k帽 + Vector3 k_hat = (bVec - aVec).NormalizEd(); + /// 计算右向量,使用 Vector3.UnitY 作为上向量 i帽 + //Vector3 i_hat = CrossPro(Vector3.UnitY, k_hat).NormalizEd(); //固定方向i帽 + Random random = new Random();// 生成一个随机的单位向量 + Vector3 randomVector = new Vector3((double)random.NextDouble(), (double)random.NextDouble(), (double)random.NextDouble()); + Vector3 i_hat = CrossPro(k_hat, randomVector).NormalizEd();// 随机方向i帽 + /// 计算上向量 j帽 + Vector3 j_hat = CrossPro(k_hat, i_hat); + ///计算 对应的偏移比例 + double length = (bVec - aVec).GetMag(); + double offShift = middleProportion;//偏移比例 + if (direction == "retrun") + { + if (offCount % 2 == 1) //奇数 + offShift = middleProportion + (offCount + 2) / 2 * layHight / length; + else //偶数 + offShift = middleProportion - (offCount + 1) / 2 * layHight / length; + } + else if (direction == "forward") + { + offShift = middleProportion + offCount * layHight / length; + } + else if(direction == "backward") + { + offShift = middleProportion - offCount * layHight / length; + } + + /// 计算偏向量 + Vector3 off = aVec + (bVec - aVec) * offShift; + + /// 构建矩阵 + Matrix matrix = new Matrix + { + M11 = k_hat.X, + M12 = k_hat.Y, + M13 = k_hat.Z, + M21 = i_hat.X, + M22 = i_hat.Y, + M23 = i_hat.Z, + M31 = j_hat.X, + M32 = j_hat.Y, + M33 = j_hat.Z, + M41 = off.X, + M42 = off.Y, + M43 = off.Z + }; + return matrix; + } + /// + /// a b点中间的绕行航点列表 + /// + /// 起点 + /// 目标点 + /// 中间航点位置比例 + /// 绕行航点密度(值越小密度越大) ps:传递圈函数的弦长 向量矩阵函数的层高 + /// 绕行航点范围(值越小范围越大) ps:决定层的厚度 和 圈的直径 为 paunch/航线长度 + /// 绕行航点列表 + private static List GetRingVec(Vector3 aVec, Vector3 bVec, double middleProportion, double transfer, double paunch,bool singleCircle =true, string direction = "retrun") + { + List ringVec = new List(); //记录所有绕行中间航点坐标 + /// 根据a到b的长度 算出中间绕行几圈 + int ringCou = (int)Math.Ceiling(GageLength(aVec, bVec) / paunch / transfer); //算层数和圈数 ps:层的厚度 和 圈的直径 为 paunch/航线长度 + if (ringCou < 2) ringCou = 2; //最少两圈 两层 + /// 不是单圈的话 设置层数跟圈数相等 + int layCou = ringCou; + if (singleCircle) layCou = 1; + ///遍历出所有绕行航点 + for (int z = 0; z < layCou; z++) //迭代层 + { + Matrix mat = GetBasisMatrix(aVec, bVec, middleProportion, z, transfer, direction); //根据圈数越多 偏移层数也越多 即每层矩阵off位置 + for (int i = 0; i < ringCou; i++) //迭代圈 + { + if (i != 0) + { + List tempCi = GetVecsOnCircle(i * transfer, transfer); + foreach (Vector3 vec in tempCi) + { + ringVec.Add(vec.Multiply(mat));//按照矩阵旋转之后 添加到中间航点列表 + } + } + else + { + ringVec.Add(mat[3]); //第一次循环 并非圈 只在航线上 按层比例取点 即可 + } + } + } + return ringVec; + } + /// + /// 按照矩阵 拉散图案 + /// + /// 平面图案坐标组 + /// 回归矩阵坐标组 + /// 日志输出 回调函数 + /// 拉散图案的坐标组 + public static Vector3[] NormalPull(Vector3[] aVecs, Vector3[] bVecs, SomeCalculateWay StrPrint) + { + int planeCou = aVecs.Length; //获取飞机总数 + ///a图b图 中心 + Vector3 aCenterPos = GetPosCenter(aVecs, false); + Vector3 bCenterPos = GetPosCenter(bVecs, false); + ///判断bVec 矩阵的数量长宽 + for (int i = 0; i < planeCou; i++)//把矩阵高度压平 + { + bVecs[i] = new Vector3(bVecs[i].X, 0, bVecs[i].Z); + } + int row = 1 ; + for (int i = 0; i < planeCou-2; i++) + { + if (!(IsVecsOnLine(bVecs[i], bVecs[i + 1], bVecs[i + 2]))) + { + row = i+2;//列 + break; + } + } + int ran = (int)Math.Ceiling((double)planeCou/(double)row);//行 + ///计算a图的法线标量 + Vector3 side1 = aVecs[1] - aVecs[0]; + Vector3 side2 = aVecs[2] - aVecs[0]; + Vector3 normal = CrossPro(side1, side2); + Vector3 normalScalar = normal.NormalizEd();//法线标量 + normalScalar.Y = 0;//高度上压平 + ///判断a图 法线朝向 和 矩阵“平行”方向 获取此方向层数 ps:用于a图的拉散 + if (GageLength(normalScalar, bVecs[0]) < GageLength(normalScalar * -1, bVecs[0])) + { + normalScalar *= -1;//法线选择方向为 靠近矩阵1号机的方向 ps:由于取的三个点位置随机 按照右手定则 法线方向也随机 + } + if (Math.Abs(AngleBetween(bVecs[row] - bVecs[0], normalScalar) - 90) < Math.Abs(AngleBetween(bVecs[1] - bVecs[0], normalScalar) - 90)) + { + /// 图案“如平行于0 21 41..” 平行于列 + for (int k = 0; k < row; k++) + { + for (int i = 0; i < ran; i++) + { + int cou = i * row + k; + if (cou > planeCou) break;// 溢出跳出 + ///判断图在矩阵的左方 还是右方 + if (GageLength(aCenterPos, bVecs[0]) > GageLength(aCenterPos, bVecs[row - 1])) + { + aVecs[cou] -= normalScalar * (row - k) * 300;//左方 + } + else + { + aVecs[cou] += normalScalar * k * 300;//右方 + } + } + } + ///判断a图的中心点 是否在矩阵内部 在矩阵内部 做一个a b两组中心点对其 ps:相当于朝两边拉散 + if (IsPointBetweenLines(bVecs[(int)Math.Ceiling(((double)row/5))-1], bVecs[(int)Math.Ceiling(((double)row / 5)) - 1+row], bVecs[row-((int)Math.Ceiling(((double)row / 5)) - 1)], bVecs[(row - ((int)Math.Ceiling(((double)row / 5)) - 1))+row], aCenterPos)) + { + aCenterPos = GetPosCenter(aVecs, false);//重新算下中心点 + Vector3 offPos = aCenterPos - bCenterPos;//偏移量 + for (int i = 0; i < planeCou; i++) + { + aVecs[i] -= offPos; + } + } + + } + else + { + /// 图案“如平行于 0-20” 平行于行 + for (int k = 0; k < ran; k++) + { + for (int i = 0; i < row; i++) + { + int cou = k * row + i; + if (cou > planeCou) break;// 溢出跳出 + ///判断图在矩阵的上方 还是下方 + if (GageLength(aCenterPos, bVecs[0]) > GageLength(aCenterPos, bVecs[row * (ran - 1)])) + { + aVecs[cou] -= normalScalar * (ran - k) * 300;//上方 + } + else + { + aVecs[cou] += normalScalar * k * 300;//下方 + } + } + } + ///判断a图的中心点 是否在矩阵内部 在矩阵内部 做一个a b两组中心点对其 ps:相当于朝两边拉散 + if (IsPointBetweenLines(bVecs[(int)Math.Ceiling((double)ran / 5) * row - row], bVecs[(int)Math.Ceiling((double)ran / 5) * row - 1], bVecs[(ran - (int)Math.Ceiling((double)ran / 5)) * row], bVecs[(ran - (int)Math.Ceiling((double)ran / 5)) * row + row - 1], aCenterPos)) + { + aCenterPos = GetPosCenter(aVecs, false);//重新算下中心点 + Vector3 offPos = aCenterPos - bCenterPos;//偏移量 + for (int i = 0; i < planeCou; i++) + { + aVecs[i] -= offPos; + } + } + } + return aVecs; + } + } +} \ No newline at end of file diff --git a/FlightRouteV2/FlightRouteV2.csproj b/FlightRouteV2/FlightRouteV2.csproj new file mode 100644 index 0000000..da4f76c --- /dev/null +++ b/FlightRouteV2/FlightRouteV2.csproj @@ -0,0 +1,50 @@ + + + + + Debug + AnyCPU + {626A9BFA-07DE-4063-A178-360EB7057ED6} + Library + Properties + FlightRouteV2 + FlightRouteV2 + v4.8 + 512 + true + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FlightRouteV2/Properties/AssemblyInfo.cs b/FlightRouteV2/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..331cefd --- /dev/null +++ b/FlightRouteV2/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("FlyBase")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("FlyBase")] +[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("626a9bfa-07de-4063-a178-360eb7057ed6")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/FlightRouteV2/Vector3.cs b/FlightRouteV2/Vector3.cs new file mode 100644 index 0000000..407a1ca --- /dev/null +++ b/FlightRouteV2/Vector3.cs @@ -0,0 +1,154 @@ +using System; + +namespace FlyBase +{ + public struct Vector3 + { + public double X { get; set; } + public double Y { get; set; } + public double Z { get; set; } + /// + /// 构造 初始化 + /// + /// x坐标 + /// y坐标 + /// z坐标 + public Vector3(double x, double y, double z) + { + this.X = x; + this.Y = y; + this.Z = z; + } + //重载二元坐标加法+ + public static Vector3 operator +(Vector3 v1, Vector3 v2) + { + return new Vector3(v1.X + v2.X, v1.Y + v2.Y, v1.Z + v2.Z); + } + //重载一元坐标加法+ + public static Vector3 operator +(Vector3 v1, double i) + { + return new Vector3(v1.X + i, v1.Y + i, v1.Z + i); + } + //重载一元坐标加法+ + public static Vector3 operator +(Vector3 v1, int i) + { + return new Vector3(v1.X + (double)i, v1.Y + (double)i, v1.Z + (double)i); + } + //重载二元坐标减法- + public static Vector3 operator -(Vector3 v1, Vector3 v2) + { + return new Vector3(v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z); + } + //重载一元坐标加法- + public static Vector3 operator -(Vector3 v1, double i) + { + return new Vector3(v1.X - i, v1.Y - i, v1.Z - i); + } + //重载一元坐标加法- + public static Vector3 operator -(Vector3 v1, int i) + { + return new Vector3(v1.X - (double)i, v1.Y - (double)i, v1.Z - (double)i); + } + //重载一元坐标乘法* + public static Vector3 operator *(Vector3 v1, double i) + { + return new Vector3(v1.X * i, v1.Y * i, v1.Z * i); + } + //重载一元坐标乘法* + public static Vector3 operator *(Vector3 v1, int i) + { + return new Vector3(v1.X * (double)i, v1.Y * (double)i, v1.Z * (double)i); + } + //重载一元坐标除法/ + public static Vector3 operator /(Vector3 v1, double i) + { + return new Vector3(v1.X / i, v1.Y / i, v1.Z / i); + } + //重载一元坐标除法/ + public static Vector3 operator /(Vector3 v1, int i) + { + return new Vector3(v1.X / (double)i, v1.Y / (double)i, v1.Z / (double)i); + } + //重载== + public static bool operator ==(Vector3 v1, Vector3 v2) + { + if (v1.X == v2.X && v1.Y == v2.Y && v1.Z == v2.Z) return true; + return false; + } + //重载!= + public static bool operator !=(Vector3 v1, Vector3 v2) + { + if (v1.X != v2.X || v1.Y != v2.Y || v1.Z != v2.Z) return true; + return false; + } + //模长 + public double GetMag() + { + return Math.Sqrt(Math.Pow(this.X, 2) + Math.Pow(this.Y, 2) + Math.Pow(this.Z, 2)); + } + /// + /// 标准化坐标 + /// + /// 标准化单位 + public void Normalize(double multiple = 1.0) + { + double magSq = Math.Pow(this.X, 2) + Math.Pow(this.Y, 2) + Math.Pow(this.Z, 2); + if (magSq > 0) + { + double oneOverMag = multiple / Math.Sqrt(magSq); + this.X *= oneOverMag; + this.Y *= oneOverMag; + this.Z *= oneOverMag; + } + } + /// + /// 标准化 返回一个标准化之后的值 不改变自身 + /// + /// 标准化单位 + /// 标准化之后的值 + public Vector3 NormalizEd(double multiple = 1.0) + { + Vector3 re = new Vector3(); + double magSq = Math.Pow(this.X, 2) + Math.Pow(this.Y, 2) + Math.Pow(this.Z, 2); + if (magSq > 0) + { + double oneOverMag = multiple / Math.Sqrt(magSq); + re.X = this.X * oneOverMag; + re.Y = this.Y * oneOverMag; + re.Z = this.Z * oneOverMag; + } + return re; + } + //归零 改变自身数值 一般配合归位使用 + public void SetZero(Vector3 v2) + { + this.X -= v2.X; + this.Y -= v2.Y; + this.Z -= v2.Z; + } + //归零 返回一个归零值 不改变自身 + public Vector3 SetZeroEd(Vector3 v2) + { + Vector3 re = new Vector3(this.X - v2.X, this.Y - v2.Y, this.Z - v2.Z); + return re; + } + //归位 + public void SetFormerly(Vector3 v2) + { + this.X += v2.X; + this.Y += v2.Y; + this.Z += v2.Z; + } + /// + /// 打印坐标 + /// + /// 坐标字符串 + public string PosToString() + { + string x = Convert.ToString(this.X); + string y = Convert.ToString(this.Y); + string z = Convert.ToString(this.Z); + return string.Format($"X轴:{x} Y轴:{y} Z轴:{z}"); + } + } +} \ No newline at end of file diff --git a/FlightRouteV2/bin/Debug/FlightRouteV2.dll b/FlightRouteV2/bin/Debug/FlightRouteV2.dll new file mode 100644 index 0000000000000000000000000000000000000000..0cf5bbe6f249a8bf4c2f604464b8ced398ddef41 GIT binary patch literal 31232 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 literal 0 HcmV?d00001 diff --git a/FlightRouteV2/bin/Debug/FlightRouteV2.pdb b/FlightRouteV2/bin/Debug/FlightRouteV2.pdb new file mode 100644 index 0000000000000000000000000000000000000000..9808e3424eb0c5bedc77b2963fdd3f5ca84df00c GIT binary patch literal 83456 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 UV-?aB*8Rs7@joT|#aZD00+Y-x^8f$< literal 0 HcmV?d00001 diff --git a/FlightRouteV2/bin/Debug/FlyBase.pdb b/FlightRouteV2/bin/Debug/FlyBase.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d63ecbc7a15991a0a2a50afead52f4242d465464 GIT binary patch literal 73216 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 WT|qss{2!@nQ#G43(4>J(4g5dVMuY(X literal 0 HcmV?d00001 diff --git a/FlightRouteV2/bin/Release/FlightRouteV2.dll b/FlightRouteV2/bin/Release/FlightRouteV2.dll new file mode 100644 index 0000000000000000000000000000000000000000..b86bb341450ce1925b25d011c489e74f660c2f47 GIT binary patch literal 28160 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 literal 0 HcmV?d00001 diff --git a/FlightRouteV2/bin/Release/FlyBase.dll b/FlightRouteV2/bin/Release/FlyBase.dll new file mode 100644 index 0000000000000000000000000000000000000000..9229221f5ae038f7a7dd9cc9265e9544d18a5163 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/FlightRouteV2/bin/Release/FlyBase.pdb b/FlightRouteV2/bin/Release/FlyBase.pdb new file mode 100644 index 0000000000000000000000000000000000000000..6adb3cadff56a5dcbf2fa37bf83ef5939e7c0bdf GIT binary patch literal 62976 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")] diff --git a/FlightRouteV2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/FlightRouteV2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/FlightRouteV2/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/FlightRouteV2/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/FlightRouteV2/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs new file mode 100644 index 0000000..15efebf --- /dev/null +++ b/FlightRouteV2/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] diff --git a/FlightRouteV2/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/FlightRouteV2/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..f5e894aea93a73e58fa9d4feab241bc197ee1a40 GIT binary patch literal 11 QcmeZu3JP{+WMlvW01Ze1dH?_b literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/FlightRouteV2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..29395410b53d66f5c74c331cb127ceeeda691a59 GIT binary patch literal 6782 zcmeHMZBH9V5Vm=_UYnWIj>L!5#0_eKkZqw#*dlx9u~}H(y1RRT zi})@51yz4yJ9D zdzWjUiK6kVT-rNI9)fF%ppLlh)Q;~6 z?*0m`k~{)$!^tevmTD`tY___TVGC@OfHR+mXBU{-@|wQUk8#ptCWJhJ>Km=0;fU7T zQv)7(qbFIjnUh|P*YjM!jLW<#uQCJOk)+l0HD8FlVhuQv>ZsdQVh;8_ywsPMqKfN$ zO3D&bbui(yqVH%h+h{~T=XFmi*n}Fx5NvtcpnpB@+J;}q1=N{wW*goLO7T8iV4{r1?8?K1ZO5?_$h zQz+&x`_(1)EM(UbU*X@e@g#+l zKGqBg`-FRqs`UulBX(5?Yc^=XDI_W46jh68em%EdMv7KPrk)Cjd+NpM>hjBSxQtXM zbVzP5ggEr_a1eq00P$-? zbRs|uDXxM5=LzDN=x{cfVK#{(nBJRSfc!Mt6$Z$Zpx+=)CAt+7L<%8l(Lrp3vELcf z&i7}C#iGOdts#Ql`8L`m5zKq;{Z3dTbW0Do#eiG%^)0&J)I9hJ+{fxgLyzuj{s)Zh zAGgbB*z@;Dc&}csE(}TsR6zV>l_QG0@Au~S`9*54GB%d@4sX5glO&ExB~|M=ied!U zdy)unfbcywM)Ft`jT0FT81h9|;>3=xX_G|k=t&Y~CU31DP|Tj?ZmiOtTQ9J8`s^L| z4AteRV7G-w=iGXU`nj{x%_Ydzx%CSB`@zD0L_3pb1$IK@lS-85RvJ}n|C5+I-0KkY zB=K!}zp#En5yci+HX7cGVDIzHWmTlv$$-%#$h~00DI4e+{%df1{nx)g2DevOo~}&% E3;CbVsQ>@~ literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Debug/FlightRouteV2.csproj.AssemblyReference.cache b/FlightRouteV2/obj/Debug/FlightRouteV2.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..c58ab16e02fc9d16515acf78946e038f196350a6 GIT binary patch literal 5341 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 literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Debug/FlightRouteV2.pdb b/FlightRouteV2/obj/Debug/FlightRouteV2.pdb new file mode 100644 index 0000000000000000000000000000000000000000..9808e3424eb0c5bedc77b2963fdd3f5ca84df00c GIT binary patch literal 83456 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 T#$wb5QZN_%J}dXaoh$oa_#Bt} literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Debug/FlyBase.csproj.CoreCompileInputs.cache b/FlightRouteV2/obj/Debug/FlyBase.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..1bc7f9a --- /dev/null +++ b/FlightRouteV2/obj/Debug/FlyBase.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +65dcdc626d7d72bd83a6dbfb060115196969f69e diff --git a/FlightRouteV2/obj/Debug/FlyBase.csproj.FileListAbsolute.txt b/FlightRouteV2/obj/Debug/FlyBase.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..5ed0bc4 --- /dev/null +++ b/FlightRouteV2/obj/Debug/FlyBase.csproj.FileListAbsolute.txt @@ -0,0 +1,12 @@ +F:\company\flyCube\repos\fly\FlyBase\bin\Debug\FlyBase.dll +F:\company\flyCube\repos\fly\FlyBase\bin\Debug\FlyBase.pdb +F:\company\flyCube\repos\fly\FlyBase\obj\Debug\FlyBase.csproj.AssemblyReference.cache +F:\company\flyCube\repos\fly\FlyBase\obj\Debug\FlyBase.csproj.CoreCompileInputs.cache +F:\company\flyCube\repos\fly\FlyBase\obj\Debug\FlyBase.dll +F:\company\flyCube\repos\fly\FlyBase\obj\Debug\FlyBase.pdb +F:\company\flyCube\repos\FlyCube\FlyBase\bin\Debug\FlyBase.dll +F:\company\flyCube\repos\FlyCube\FlyBase\bin\Debug\FlyBase.pdb +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Debug\FlyBase.csproj.CoreCompileInputs.cache +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Debug\FlyBase.dll +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Debug\FlyBase.pdb +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Debug\FlyBase.csproj.AssemblyReference.cache diff --git a/FlightRouteV2/obj/Debug/FlyBase.dll b/FlightRouteV2/obj/Debug/FlyBase.dll new file mode 100644 index 0000000000000000000000000000000000000000..88aa09c72eae881368133032064affab902d3f6a GIT binary patch literal 26112 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 UV-?aB*8Rs7@joT|#aZD00+Y-x^8f$< literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Debug/FlyBase.pdb b/FlightRouteV2/obj/Debug/FlyBase.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d63ecbc7a15991a0a2a50afead52f4242d465464 GIT binary patch literal 73216 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 WT|qss{2!@nQ#G43(4>J(4g5dVMuY(X literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/FlightRouteV2/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/FlightRouteV2/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/FlightRouteV2/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/FlightRouteV2/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs new file mode 100644 index 0000000..15efebf --- /dev/null +++ b/FlightRouteV2/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] diff --git a/FlightRouteV2/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/FlightRouteV2/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..41b170c2287fbbb24205f2b5e8b8fcc6f169c1aa GIT binary patch literal 6810 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 literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Release/FlyBase.csproj.AssemblyReference.cache b/FlightRouteV2/obj/Release/FlyBase.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..528262ca6581fbe2864ebf4d8ecd9511d031117b GIT binary patch literal 5361 zcmd5nZt^LLexgW8B zoZ9UmKuA8vns;XZe7l{t;sbgluRNg<3rU+|n+ClZb)X%8>~~xJj{ihE=kbm75Z^&H z`K%>-Woc#korP#6Y3woJKm`^gqN5xOa++66A~c<*jUK9$3qI&3xfs)6p=o*idF>r7 zuKxZS-;pRY?vM)z?PDAU<$%5r+Kw*y2h2eWX!+O1(f9S%S{l*RzlgLjvROSH=hBH- zxri1Lj+}^gNVm`83TegnHOq)(~tL7{LL#)>rhbfTljGZ8noY`5qWl*#p~HU|W5;AevVK zD3`kjFX#xhVi@a)lq>aMEmfN23Lz6Mkp^SDaHNvLjh15DanCU8Rb8ulL@`2hsi_Sq z4vDYTJCg>PpR;x)y362XgWkQFl@um~7L(wbQ~>KS!a>^JfXGeL=m1r^th7MbAB8BA zJEOayi6N@YQT!?;O09!=g)-{-%4T$dH&HfI T#$wb5QZN_%J}dXaoh$oa_#Bt} literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Release/FlyBase.csproj.CoreCompileInputs.cache b/FlightRouteV2/obj/Release/FlyBase.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..760a1fe --- /dev/null +++ b/FlightRouteV2/obj/Release/FlyBase.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +a7be80f0590ce7e3d3292f0020daba81f87a9940 diff --git a/FlightRouteV2/obj/Release/FlyBase.csproj.FileListAbsolute.txt b/FlightRouteV2/obj/Release/FlyBase.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..81f2923 --- /dev/null +++ b/FlightRouteV2/obj/Release/FlyBase.csproj.FileListAbsolute.txt @@ -0,0 +1,6 @@ +F:\company\flyCube\repos\FlyCube\FlyBase\bin\Release\FlyBase.dll +F:\company\flyCube\repos\FlyCube\FlyBase\bin\Release\FlyBase.pdb +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Release\FlyBase.csproj.AssemblyReference.cache +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Release\FlyBase.csproj.CoreCompileInputs.cache +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Release\FlyBase.dll +F:\company\flyCube\repos\FlyCube\FlyBase\obj\Release\FlyBase.pdb diff --git a/FlightRouteV2/obj/Release/FlyBase.csprojAssemblyReference.cache b/FlightRouteV2/obj/Release/FlyBase.csprojAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..d41e23712174385aedabcf910f62d40f8b63dc38 GIT binary patch literal 8212 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 Zb4Do-tY`;#dKslWd7@MvLndj@e*w78g@phB literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Release/FlyBase.dll b/FlightRouteV2/obj/Release/FlyBase.dll new file mode 100644 index 0000000000000000000000000000000000000000..9229221f5ae038f7a7dd9cc9265e9544d18a5163 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/FlightRouteV2/obj/Release/FlyBase.pdb b/FlightRouteV2/obj/Release/FlyBase.pdb new file mode 100644 index 0000000000000000000000000000000000000000..6adb3cadff56a5dcbf2fa37bf83ef5939e7c0bdf GIT binary patch literal 62976 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 /// 3D绕行 @@ -51,7 +57,7 @@ namespace FlyCube Vector3[] aVecs = abVecs[0].ToArray(); Vector3[] bVecs = abVecs[1].ToArray(); //Vector3[] new_bVecs = FlyVecFun.ContactABOut(aVecs, bVecs, StrPrint); - Vector3[] new_bVecs = FlyVecFun.NormalPull(aVecs, bVecs); + Vector3[] new_bVecs = FlyVecFun.NormalPull(aVecs, bVecs, StrPrintAsync); //Task>> reTask = Task.Run(() => FlyVecFun.ABypassB(aVecs, bVecs, StrPrintAsync, GetVal)); //List> re = await reTask;