From 9d7822ada88392e1b1a612e9b4f680fe6b09aedf Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 22:25:38 +0800
Subject: [PATCH] 优化了路径规划
---
src/zhuye/pointandnumber.java | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/zhuye/pointandnumber.java b/src/zhuye/pointandnumber.java
index ac1df42..f0c0477 100644
--- a/src/zhuye/pointandnumber.java
+++ b/src/zhuye/pointandnumber.java
@@ -34,9 +34,14 @@
}
double scaleFactor = Math.max(0.5, scale); // 闃叉杩囧皬缂╂斁
- double clampedScale = diameterScale > 0 ? diameterScale : 1.0; // 闃叉闈炴硶缂╂斁
- double minimumDiameter = clampedScale < 1.0 ? 0.5 : 1.0; // 缂╁皬鏃跺厑璁告洿灏忕殑鏈�灏忓��
- double markerDiameter = Math.max(minimumDiameter, (10.0 / scaleFactor) * 0.2 * clampedScale); // 鎻忕偣鐩村緞
+ // 杈圭晫绾垮搴︼細3 / Math.max(0.5, scale)
+ // 杈圭晫鐐圭洿寰� = 杈圭晫绾垮搴︾殑2鍊�
+ double boundaryLineWidth = 3.0 / scaleFactor; // 杈圭晫绾垮搴�
+ double markerDiameter = boundaryLineWidth * 2.0; // 鎻忕偣鐩村緞锛堣竟鐣岀嚎瀹藉害鐨�2鍊嶏級
+ // 搴旂敤鐩村緞缂╂斁鍥犲瓙
+ if (diameterScale > 0.0 && isFinite(diameterScale)) {
+ markerDiameter *= diameterScale;
+ }
double markerRadius = markerDiameter / 2.0; // 鍗婂緞
for (int i = 0; i < effectiveCount; i++) { // 閬嶅巻鏈夋晥鐐�
@@ -58,4 +63,12 @@
double dy = a.y - b.y; // Y宸��
return Math.hypot(dx, dy) <= threshold; // 璺濈鍒ゆ柇
}
+
+ /**
+ * 妫�鏌ouble鍊兼槸鍚︽湁闄愶紙涓嶆槸NaN鎴栨棤绌峰ぇ锛�
+ * 鍏煎浣庣増鏈琂ava
+ */
+ private static boolean isFinite(double value) {
+ return !Double.isNaN(value) && !Double.isInfinite(value);
+ }
}
--
Gitblit v1.10.0