From ebb46b7a47c0ddc04958fd556f3bcf6c481ad074 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 23 七月 2024 13:19:55 +0800 Subject: [PATCH] 修改流速 --- SimuTools/Tools/Handle.cs | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-) diff --git a/SimuTools/Tools/Handle.cs b/SimuTools/Tools/Handle.cs index 579d7a8..febc768 100644 --- a/SimuTools/Tools/Handle.cs +++ b/SimuTools/Tools/Handle.cs @@ -476,16 +476,13 @@ int offset = x + y * width; float fx = GetFloatValue(vxBuffer[offset]); float fy = GetFloatValue(vyBuffer[offset]); - double rv = GetRVal(fx, fy); double dv = GetXyValue(fx, fy, rv); - int r = Convert.ToInt32(double.IsNaN(dv) || dv == 0 ? 0 : (dv * 0.5 + 0.5) * 255); - if (r < 0 || r > 255) r = 255; - //int g = Convert.ToInt32((float.IsNaN(fx) ? 0 : fx * 0.5 + 0.5) * 255); - //int b = Convert.ToInt32((float.IsNaN(fy) ? 0 : fy * 0.5 + 0.5) * 255); + int r= Convert.ToInt32(double.IsNaN(dv) || dv == 0 ? 0 : (dv * 0.5 + 0.5) * 255); int g = float.IsNaN(fx) ? 0 : Convert.ToInt32((fx - minHeight) / perHeight); int b = float.IsNaN(fy) ? 0 : Convert.ToInt32((fy - minHeight) / perHeight); + if (r < 0 || r > 255) r = 255; if (g < 0 || g > 255) g = 255; if (b < 0 || b > 255) b = 255; @@ -509,7 +506,7 @@ /// </summary> private static double GetRVal(float fx, float fy) { - if (float.IsNaN(fx) && float.IsNaN(fy)) return 1.0; + if (float.IsNaN(fx) && float.IsNaN(fy)) return double.NaN; if (float.IsNaN(fx)) return Math.Abs(fy); @@ -534,9 +531,9 @@ return fx / rv; } - double v = Math.Sqrt(Math.Pow(fx / rv, 2) + Math.Pow(fy / rv, 2)); + double dv = fx / rv + fy / rv; - return (fx > 0 && fy > 0) || (fx < 0 && fy < 0) ? v : -v; + return dv < 0 ? -Math.Sqrt(-dv) : Math.Sqrt(dv); } #endregion -- Gitblit v1.9.3