This commit is contained in:
szdot 2023-12-26 20:47:39 +08:00
parent 825384813f
commit dba45707b5
12 changed files with 73 additions and 1971 deletions

View File

@ -7,6 +7,7 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace FlieOperate
{
/// <summary>

View File

@ -9,9 +9,10 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FlieOperate</RootNamespace>
<AssemblyName>FlieOperate</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -57,9 +58,9 @@
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FlyBase\FlyBase.csproj">
<ProjectReference Include="..\FlightRouteV2\FlightRouteV2.csproj">
<Project>{626a9bfa-07de-4063-a178-360eb7057ed6}</Project>
<Name>FlyBase</Name>
<Name>FlightRouteV2</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

File diff suppressed because it is too large Load Diff

View File

@ -1,49 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{626A9BFA-07DE-4063-A178-360EB7057ED6}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FlyBase</RootNamespace>
<AssemblyName>FlyBase</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="FlyBase.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,36 +0,0 @@
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")]

View File

@ -1,154 +0,0 @@
using System;
namespace FlyBase
{
public struct Vector3
{
public double X { get; set; }
public double Y { get; set; }
public double Z { get; set; }
/// <summary>
/// 构造 初始化
/// </summary>
/// <param name="x">x坐标</param>
/// <param name="y">y坐标</param>
/// <param name="z">z坐标</param>
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));
}
/// <summary>
/// 标准化坐标
/// </summary>
/// <param name="multiple">标准化单位</param>
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;
}
}
/// <summary>
/// 标准化 返回一个标准化之后的值 不改变自身
/// </summary>
/// <param name="multiple">标准化单位</param>
/// <returns>标准化之后的值</returns>
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;
}
/// <summary>
/// 打印坐标
/// </summary>
/// <returns>坐标字符串</returns>
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}");
}
}
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

View File

@ -8,12 +8,13 @@
<OutputType>WinExe</OutputType>
<RootNamespace>FlyCube</RootNamespace>
<AssemblyName>FlyCube</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@ -113,9 +114,9 @@
<Project>{c354fd6b-5863-4246-bb48-6df14a85c161}</Project>
<Name>FlieOperate</Name>
</ProjectReference>
<ProjectReference Include="..\FlyBase\FlyBase.csproj">
<ProjectReference Include="..\FlightRouteV2\FlightRouteV2.csproj">
<Project>{626a9bfa-07de-4063-a178-360eb7057ed6}</Project>
<Name>FlyBase</Name>
<Name>FlightRouteV2</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />

View File

@ -5,10 +5,10 @@ VisualStudioVersion = 17.7.34018.315
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlyCube", "FlyCube.csproj", "{B36F850B-75B9-42C9-9C48-88141AB6D4B1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlyBase", "..\FlyBase\FlyBase.csproj", "{626A9BFA-07DE-4063-A178-360EB7057ED6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlieOperate", "..\FlieOperate\FlieOperate.csproj", "{C354FD6B-5863-4246-BB48-6DF14A85C161}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlightRouteV2", "..\FlightRouteV2\FlightRouteV2.csproj", "{626A9BFA-07DE-4063-A178-360EB7057ED6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -19,14 +19,14 @@ Global
{B36F850B-75B9-42C9-9C48-88141AB6D4B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B36F850B-75B9-42C9-9C48-88141AB6D4B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B36F850B-75B9-42C9-9C48-88141AB6D4B1}.Release|Any CPU.Build.0 = Release|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Release|Any CPU.Build.0 = Release|Any CPU
{C354FD6B-5863-4246-BB48-6DF14A85C161}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C354FD6B-5863-4246-BB48-6DF14A85C161}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C354FD6B-5863-4246-BB48-6DF14A85C161}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C354FD6B-5863-4246-BB48-6DF14A85C161}.Release|Any CPU.Build.0 = Release|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{626A9BFA-07DE-4063-A178-360EB7057ED6}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -52,32 +52,39 @@ namespace FlyCube
Vector3[] aVecs = abVecs[0].ToArray();
Vector3[] bVecs = abVecs[1].ToArray();
Vector3[] new_bVecs = FlyVecFun.ContactABOut(aVecs, bVecs, StrPrint);
List<List<Vector3>> re = FlyVecFun.ABypassB(aVecs, new_bVecs, StrPrint);
if (re.Count == 0)
{
return;
}
List<List<Vector3>> re = FlyVecFun.ABypassB(aVecs, new_bVecs, StrPrint, GetVal);
string txta = "";
string txtb = "";
string txtc = "";
string txtd = "";
for (int i = 0; i < abVecs[0].Length; i++)
{
if (re.Count > 0)
{
txta += i + " 0" + " " + re[0][i].X + " " + re[0][i].Y + " " + re[0][i].Z + "\r\n";
}
if (re.Count > 1)
{
txtb += i + " 0" + " " + re[1][i].X + " " + re[1][i].Y + " " + re[1][i].Z + "\r\n";
txtc += i + " 0" + " " + re[2][i].X + " " + re[2][i].Y + " " + re[2][i].Z + "\r\n";
}
txtd += i + " 0" + " " + new_bVecs[i].X + " " + new_bVecs[i].Y + " " + new_bVecs[i].Z + "\r\n";
}
if (re.Count > 0)
{
SaveFile("C:/Users/szdot/Desktop/a.txt", txta);
}
if (re.Count > 1)
{
SaveFile("C:/Users/szdot/Desktop/b.txt", txtb);
SaveFile("C:/Users/szdot/Desktop/c.txt", txtc);
}
SaveFile("C:/Users/szdot/Desktop/d.txt", txtd);
}
else
{
@ -90,6 +97,9 @@ namespace FlyCube
//MessageBox.Show(str);
vLogBox.Text += "\r\n" + str;
}
private void GetVal(int val)
{
}
/// <summary>
/// 保存输出文本
/// </summary>

View File

@ -3,46 +3,42 @@
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// 对此文件的更改可能导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace FlyCube.Properties {
using System;
namespace FlyCube.Properties
{
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FlyCube.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
@ -55,14 +51,11 @@ namespace FlyCube.Properties
/// 使用此强类型资源类的所有资源查找执行重写。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set
{
set {
resourceCulture = value;
}
}

View File

@ -1,27 +1,24 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace FlyCube.Properties {
namespace FlyCube.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.7.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
public static Settings Default {
get {
return defaultInstance;
}
}