diff --git a/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs b/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs
index 05bee0c2..7ed7c196 100644
--- a/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs
+++ b/Ink Canvas/MainWindow_cs/MW_SimulatePressure&InkToShape.cs
@@ -944,13 +944,6 @@ namespace Ink_Canvas
return true;
}
- // 检查是否有明显的回环或重叠
- if (HasSignificantLoops(stroke))
- {
- Debug.WriteLine("检测到复杂形状:存在明显回环");
- return true;
- }
-
return false;
}
@@ -1031,55 +1024,6 @@ namespace Ink_Canvas
return changes;
}
- ///
- /// 检查是否有明显的回环
- ///
- private bool HasSignificantLoops(Stroke stroke)
- {
- if (stroke.StylusPoints.Count < 20) return false;
-
- // 检查起点和终点是否接近(可能是闭合图形)
- Point start = stroke.StylusPoints.First().ToPoint();
- Point end = stroke.StylusPoints.Last().ToPoint();
- double startEndDistance = GetDistance(start, end);
-
- // 计算平均点间距
- double totalDistance = 0;
- for (int i = 1; i < stroke.StylusPoints.Count; i++)
- {
- Point p1 = stroke.StylusPoints[i - 1].ToPoint();
- Point p2 = stroke.StylusPoints[i].ToPoint();
- totalDistance += GetDistance(p1, p2);
- }
- double avgPointDistance = totalDistance / (stroke.StylusPoints.Count - 1);
-
- // 如果起点和终点很接近,可能是闭合图形
- if (startEndDistance < avgPointDistance * 5)
- {
- return true;
- }
-
- // 检查是否有点重复经过相似区域
- int overlapCount = 0;
- double overlapThreshold = avgPointDistance * 3;
-
- for (int i = 0; i < stroke.StylusPoints.Count - 10; i += 5)
- {
- Point p1 = stroke.StylusPoints[i].ToPoint();
- for (int j = i + 10; j < stroke.StylusPoints.Count; j += 5)
- {
- Point p2 = stroke.StylusPoints[j].ToPoint();
- if (GetDistance(p1, p2) < overlapThreshold)
- {
- overlapCount++;
- if (overlapCount > 3) return true;
- }
- }
- }
-
- return false;
- }
-
///
/// 检查曲率是否一致(用于识别圆弧等规则曲线)
///