From bd2c0ed221e235420c7fdffefa1cdfa085529a0a Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期五, 24 十一月 2023 12:43:15 +0800 Subject: [PATCH] 升级 --- Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user | 2 Yw.Service.Curve.Core/5-service/0-helper/PumpFeatHelper.cs | 26 ++++++++ Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj | 4 Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj | 4 Yw.CurveBase.Core/7-fit/FitHelper.cs | 98 ++++++++++++++++++++++++++++++++ Yw.CurveBase.Core/Properties/PublishProfiles/FolderProfile.pubxml.user | 2 Yw.CurveBase.Core/Yw.CurveBase.Core.csproj | 2 Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user | 2 8 files changed, 132 insertions(+), 8 deletions(-) diff --git a/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user index 194df55..882dbc1 100644 --- a/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/Yw.Application.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -4,6 +4,6 @@ --> <Project> <PropertyGroup> - <History>True|2023-11-22T03:00:47.6114775Z;True|2023-11-15T09:32:40.8990513+08:00;True|2023-11-08T14:05:47.8074399+08:00;True|2023-11-08T13:33:00.5811678+08:00;True|2023-11-08T11:55:54.5929525+08:00;True|2023-11-07T11:05:59.7264456+08:00;True|2023-11-07T11:05:52.0532331+08:00;True|2023-10-24T23:17:54.0748672+08:00;True|2023-10-21T14:38:03.2722172+08:00;True|2023-09-26T14:10:22.2485377+08:00;True|2023-08-29T11:46:24.5710627+08:00;True|2023-08-23T11:34:59.7400481+08:00;True|2023-08-21T13:31:52.3074533+08:00;True|2023-08-18T16:51:57.4477528+08:00;True|2023-08-18T13:49:11.3231257+08:00;True|2023-08-17T14:51:49.8452519+08:00;True|2023-08-17T11:44:23.5001902+08:00;True|2023-08-16T17:43:46.8283841+08:00;True|2023-08-16T11:10:43.5110570+08:00;True|2023-08-15T16:51:35.3016945+08:00;True|2023-08-15T15:04:30.4334950+08:00;True|2023-08-10T15:23:57.4783701+08:00;True|2023-08-08T10:01:53.7466486+08:00;True|2023-08-07T11:49:59.7506144+08:00;True|2023-08-05T10:38:53.6104500+08:00;True|2023-08-02T15:25:21.6024349+08:00;True|2023-08-02T15:20:20.4985081+08:00;True|2023-08-02T13:31:18.6184059+08:00;True|2023-08-02T13:30:52.4975034+08:00;True|2023-08-02T13:29:34.9010019+08:00;True|2023-08-02T13:28:35.4729592+08:00;True|2023-07-25T15:08:42.3375388+08:00;True|2023-07-17T10:31:53.5181752+08:00;True|2023-07-17T10:31:44.6652344+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History> + <History>True|2023-11-24T04:42:58.9596873Z;True|2023-11-24T11:01:27.7460883+08:00;True|2023-11-22T11:00:47.6114775+08:00;True|2023-11-15T09:32:40.8990513+08:00;True|2023-11-08T14:05:47.8074399+08:00;True|2023-11-08T13:33:00.5811678+08:00;True|2023-11-08T11:55:54.5929525+08:00;True|2023-11-07T11:05:59.7264456+08:00;True|2023-11-07T11:05:52.0532331+08:00;True|2023-10-24T23:17:54.0748672+08:00;True|2023-10-21T14:38:03.2722172+08:00;True|2023-09-26T14:10:22.2485377+08:00;True|2023-08-29T11:46:24.5710627+08:00;True|2023-08-23T11:34:59.7400481+08:00;True|2023-08-21T13:31:52.3074533+08:00;True|2023-08-18T16:51:57.4477528+08:00;True|2023-08-18T13:49:11.3231257+08:00;True|2023-08-17T14:51:49.8452519+08:00;True|2023-08-17T11:44:23.5001902+08:00;True|2023-08-16T17:43:46.8283841+08:00;True|2023-08-16T11:10:43.5110570+08:00;True|2023-08-15T16:51:35.3016945+08:00;True|2023-08-15T15:04:30.4334950+08:00;True|2023-08-10T15:23:57.4783701+08:00;True|2023-08-08T10:01:53.7466486+08:00;True|2023-08-07T11:49:59.7506144+08:00;True|2023-08-05T10:38:53.6104500+08:00;True|2023-08-02T15:25:21.6024349+08:00;True|2023-08-02T15:20:20.4985081+08:00;True|2023-08-02T13:31:18.6184059+08:00;True|2023-08-02T13:30:52.4975034+08:00;True|2023-08-02T13:29:34.9010019+08:00;True|2023-08-02T13:28:35.4729592+08:00;True|2023-07-25T15:08:42.3375388+08:00;True|2023-07-17T10:31:53.5181752+08:00;True|2023-07-17T10:31:44.6652344+08:00;True|2023-07-13T12:10:11.2591498+08:00;True|2023-05-25T18:02:16.3580168+08:00;True|2023-05-25T15:44:32.4909866+08:00;</History> </PropertyGroup> </Project> \ No newline at end of file diff --git a/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj b/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj index 8369fe9..02265e2 100644 --- a/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj +++ b/Yw.Application.Curve.Core/Yw.Application.Curve.Core.csproj @@ -7,7 +7,7 @@ <RootNamespace>Yw.Application</RootNamespace> <GenerateDocumentationFile>True</GenerateDocumentationFile> <GeneratePackageOnBuild>True</GeneratePackageOnBuild> - <Version>1.0.5</Version> + <Version>1.0.7</Version> <Description>搴旂敤鍗囩骇</Description> </PropertyGroup> @@ -41,7 +41,7 @@ <ItemGroup> <PackageReference Include="Yw.Application.Core" Version="1.2.7" /> <PackageReference Include="Yw.Quartz.Core" Version="1.0.0" /> - <PackageReference Include="Yw.Service.Curve.Core" Version="1.0.4" /> + <PackageReference Include="Yw.Service.Curve.Core" Version="1.0.6" /> </ItemGroup> <ItemGroup> diff --git a/Yw.CurveBase.Core/7-fit/FitHelper.cs b/Yw.CurveBase.Core/7-fit/FitHelper.cs index 6d314b5..c313e20 100644 --- a/Yw.CurveBase.Core/7-fit/FitHelper.cs +++ b/Yw.CurveBase.Core/7-fit/FitHelper.cs @@ -160,5 +160,103 @@ } } + + #region 鑾峰緱X鍊� + + /// <summary> + /// 鑾峰彇绾挎�ф彃鍊糥锛堝彲鑳芥湁澶氫釜鐐癸級 + /// </summary> + public static List<CurvePoint> GetInterPointX(List<CurvePoint> pts, double y) + { + if (pts == null || pts.Count < 2) + { + return default; + } + var list = new List<CurvePoint>(); + for (int i = 0; i < pts.Count - 1; i++) + { + if ((y >= pts[i].Y && y <= pts[i + 1].Y) || (y <= pts[i].Y && y >= pts[i + 1].Y)) + {//鐩寸嚎鎻掑�� + double x; + if (Math.Abs(pts[i].Y - pts[i + 1].Y) < 0.01) + x = (pts[i].X + pts[i + 1].X) * 0.5; + else + x = pts[i].X + (pts[i + 1].X - pts[i].X) * (y - pts[i].Y) / (pts[i + 1].Y - pts[i].Y); + + list.Add(new CurvePoint(x, y)); + } + } + return list; + } + + /// <summary> + /// 鑾峰彇绾挎�ф彃鍊糥锛堝彲鑳芥湁澶氫釜鐐癸級(鍏佽寤堕暱) + /// </summary> + public static List<CurvePoint> GetInterPointXByExtend(List<CurvePoint> pts, double y) + { + if (pts == null || pts.Count < 2) + { + return default; + } + + //鍦ㄨ寖鍥村唴 + var minY = pts.Min(x => x.Y); + var maxY = pts.Max(x => x.Y); + if (y >= minY && y <= maxY) + { + return GetInterPointX(pts, y); + } + + var list = new List<CurvePoint>(); + + //鍒ゆ柇鏄惁鍦ㄥ墠闈㈢殑寤堕暱閮ㄥ垎 + double x_start = CurveLineHelper.GetXbyY(pts[0].X, pts[0].Y, pts[1].X, pts[1].Y, y); + if (x_start <= pts[0].X) + { + if (x_start > 0 && x_start > pts[0].X * 0.9)//鏀句竴鐐逛綑閲� + { + list.Add(new CurvePoint(x_start, y)); + } + } + + //鍒ゆ柇鏄惁鍦ㄥ悗闈㈢殑寤堕暱閮ㄥ垎:U鍨嬫洸绾� 鏄墠鍚庨兘鏈� + double x_end = CurveLineHelper.GetXbyY(pts[pts.Count - 2].X, pts[pts.Count - 2].Y, pts[pts.Count - 1].X, pts[pts.Count - 1].Y, y); + if (x_end >= pts[pts.Count - 1].X && x_end < pts[pts.Count - 1].X * 1.1)//鏀句竴鐐逛綑閲� + { + list.Add(new CurvePoint(x_end, y)); + } + + return list; + } + + /// <summary> + /// 鑾峰彇绾挎�ф彃鍊糥锛堝彲鑳芥湁澶氫釜鐐癸級 + /// </summary> + public static List<CurvePoint> GetInterPointX(CurveExpress express, double y, int pointNumber = 20, double extendRatio = 1.0) + { + if (express == null) + { + return default; + } + var pts = express.GetFitPointsByXRange(express.Min, express.Max * extendRatio, pointNumber); + return GetInterPointX(pts, y); + } + + /// <summary> + /// 鑾峰彇绾挎�ф彃鍊糥锛堝彲鑳芥湁澶氫釜鐐癸級(鍏佽寤堕暱) + /// </summary> + public static List<CurvePoint> GetInterPointXByExtend(CurveExpress express, double y, int pointNumber = 20, double extendRatio = 1.2) + { + if (express == null) + { + return default; + } + var pts = express.GetFitPointsByXRange(express.Min, express.Max * extendRatio, pointNumber); + return GetInterPointXByExtend(pts, y); + } + + + #endregion 鑾峰緱X鍊� + } } diff --git a/Yw.CurveBase.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Yw.CurveBase.Core/Properties/PublishProfiles/FolderProfile.pubxml.user index 40e938c..e98e258 100644 --- a/Yw.CurveBase.Core/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/Yw.CurveBase.Core/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -4,6 +4,6 @@ --> <Project> <PropertyGroup> - <History>True|2023-11-07T02:59:03.8484346Z;True|2023-09-22T13:16:35.5213053+08:00;True|2023-09-19T13:47:08.6616971+08:00;True|2023-09-19T13:42:42.1690038+08:00;True|2023-09-18T15:12:24.4129783+08:00;False|2023-09-18T15:11:19.1798407+08:00;True|2023-09-01T13:20:20.4261550+08:00;True|2023-09-01T11:08:43.5292206+08:00;True|2023-08-29T16:21:32.3346453+08:00;</History> + <History>True|2023-11-24T04:41:35.1109248Z;True|2023-11-07T10:59:03.8484346+08:00;True|2023-09-22T13:16:35.5213053+08:00;True|2023-09-19T13:47:08.6616971+08:00;True|2023-09-19T13:42:42.1690038+08:00;True|2023-09-18T15:12:24.4129783+08:00;False|2023-09-18T15:11:19.1798407+08:00;True|2023-09-01T13:20:20.4261550+08:00;True|2023-09-01T11:08:43.5292206+08:00;True|2023-08-29T16:21:32.3346453+08:00;</History> </PropertyGroup> </Project> \ No newline at end of file diff --git a/Yw.CurveBase.Core/Yw.CurveBase.Core.csproj b/Yw.CurveBase.Core/Yw.CurveBase.Core.csproj index 1e9a02d..3283788 100644 --- a/Yw.CurveBase.Core/Yw.CurveBase.Core.csproj +++ b/Yw.CurveBase.Core/Yw.CurveBase.Core.csproj @@ -8,7 +8,7 @@ <RootNamespace>$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace> <GenerateDocumentationFile>True</GenerateDocumentationFile> <ProduceReferenceAssembly>True</ProduceReferenceAssembly> - <Version>1.0.0</Version> + <Version>1.0.1</Version> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> diff --git a/Yw.Service.Curve.Core/5-service/0-helper/PumpFeatHelper.cs b/Yw.Service.Curve.Core/5-service/0-helper/PumpFeatHelper.cs index 7176570..e0b4b29 100644 --- a/Yw.Service.Curve.Core/5-service/0-helper/PumpFeatHelper.cs +++ b/Yw.Service.Curve.Core/5-service/0-helper/PumpFeatHelper.cs @@ -25,6 +25,19 @@ } /// <summary> + /// 閫氳繃 棰戠巼 璁$畻娴侀噺鎵▼鏇茬嚎琛ㄨ揪寮� + /// </summary> + public static CurveExpress CalcuCurveQhByHz(CurveExpress express, double hz, int? pointNumber = null) + { + if (!pointNumber.HasValue) + { + pointNumber = Settings.CurveParasHelper.Curve.PointNumber; + } + var pts = express.GetFitPoints(pointNumber.Value); + return CalcuCurveQhByHz(pts, express.FitType, hz); + } + + /// <summary> /// 閫氳繃 棰戠巼 璁$畻娴侀噺鍔熺巼鏇茬嚎琛ㄨ揪寮� /// </summary> public static CurveExpress CalcuCurveQpByHz(List<CurvePoint> pts, eFitType fit, double hz) @@ -43,6 +56,19 @@ return FitHelper.BuildCurveExpress(list, fit); } + /// <summary> + /// 閫氳繃 棰戠巼 璁$畻娴侀噺鍔熺巼鏇茬嚎琛ㄨ揪寮� + /// </summary> + public static CurveExpress CalcuCurveQpByHz(CurveExpress express, double hz, int? pointNumber = null) + { + if (!pointNumber.HasValue) + { + pointNumber = Settings.CurveParasHelper.Curve.PointNumber; + } + var pts = express.GetFitPoints(pointNumber.Value); + return CalcuCurveQpByHz(pts, express.FitType, hz); + } + } } diff --git a/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user index 9f80c35..276f0ef 100644 --- a/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/Yw.Service.Curve.Core/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -4,6 +4,6 @@ --> <Project> <PropertyGroup> - <History>True|2023-11-22T02:59:43.5869760Z;True|2023-11-15T09:31:29.7022607+08:00;True|2023-11-08T13:30:50.1423957+08:00;True|2023-11-08T11:54:49.6715090+08:00;True|2023-11-07T11:00:32.3186525+08:00;True|2023-11-07T11:00:20.7173571+08:00;True|2023-10-24T23:16:33.8643304+08:00;True|2023-10-21T14:19:25.2606768+08:00;True|2023-09-26T14:09:33.8756384+08:00;True|2023-08-29T11:33:28.5466784+08:00;True|2023-08-21T13:26:43.3162454+08:00;True|2023-08-18T13:08:38.6378644+08:00;True|2023-08-16T17:42:45.3685771+08:00;True|2023-08-16T11:48:48.4326811+08:00;True|2023-08-15T15:00:14.6493599+08:00;True|2023-08-10T15:20:03.2786400+08:00;True|2023-08-07T11:48:46.2865626+08:00;True|2023-08-07T11:15:37.1248435+08:00;True|2023-08-07T10:40:31.7277832+08:00;True|2023-08-04T17:10:25.6488475+08:00;True|2023-08-02T15:24:28.5531853+08:00;True|2023-08-02T15:19:18.2260163+08:00;True|2023-08-02T13:26:30.0499052+08:00;True|2023-07-17T10:30:15.0370305+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History> + <History>True|2023-11-24T04:42:29.4629539Z;True|2023-11-24T11:00:06.9513357+08:00;True|2023-11-22T10:59:43.5869760+08:00;True|2023-11-15T09:31:29.7022607+08:00;True|2023-11-08T13:30:50.1423957+08:00;True|2023-11-08T11:54:49.6715090+08:00;True|2023-11-07T11:00:32.3186525+08:00;True|2023-11-07T11:00:20.7173571+08:00;True|2023-10-24T23:16:33.8643304+08:00;True|2023-10-21T14:19:25.2606768+08:00;True|2023-09-26T14:09:33.8756384+08:00;True|2023-08-29T11:33:28.5466784+08:00;True|2023-08-21T13:26:43.3162454+08:00;True|2023-08-18T13:08:38.6378644+08:00;True|2023-08-16T17:42:45.3685771+08:00;True|2023-08-16T11:48:48.4326811+08:00;True|2023-08-15T15:00:14.6493599+08:00;True|2023-08-10T15:20:03.2786400+08:00;True|2023-08-07T11:48:46.2865626+08:00;True|2023-08-07T11:15:37.1248435+08:00;True|2023-08-07T10:40:31.7277832+08:00;True|2023-08-04T17:10:25.6488475+08:00;True|2023-08-02T15:24:28.5531853+08:00;True|2023-08-02T15:19:18.2260163+08:00;True|2023-08-02T13:26:30.0499052+08:00;True|2023-07-17T10:30:15.0370305+08:00;True|2023-07-13T11:54:33.7989040+08:00;True|2023-07-13T11:54:23.3967174+08:00;True|2023-07-06T09:49:52.7407983+08:00;True|2023-05-25T15:37:23.5406830+08:00;False|2023-05-25T15:36:09.3589239+08:00;</History> </PropertyGroup> </Project> \ No newline at end of file diff --git a/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj b/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj index e21a374..02d15a8 100644 --- a/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj +++ b/Yw.Service.Curve.Core/Yw.Service.Curve.Core.csproj @@ -7,7 +7,7 @@ <RootNamespace>Yw</RootNamespace> <GenerateDocumentationFile>True</GenerateDocumentationFile> <GeneratePackageOnBuild>True</GeneratePackageOnBuild> - <Version>1.0.4</Version> + <Version>1.0.6</Version> <Description>瀹屽杽缂撳瓨鍏宠仈鏇存柊</Description> </PropertyGroup> @@ -27,7 +27,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="Yw.CurveBase.Core" Version="1.0.0" /> + <PackageReference Include="Yw.CurveBase.Core" Version="1.0.1" /> <PackageReference Include="Yw.DynamicExpresso.Core" Version="1.0.0" /> <PackageReference Include="Yw.RabbitMq.Core" Version="1.0.0" /> <PackageReference Include="Yw.Redis.Core" Version="1.0.1" /> -- Gitblit v1.9.3