From 32524195d474b74e48916867b2a6c2f022a40d98 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期二, 09 十二月 2025 19:36:32 +0800
Subject: [PATCH] 20251209

---
 src/gecaoji/lujingdraw.java |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/gecaoji/lujingdraw.java b/src/gecaoji/lujingdraw.java
index 15a4c46..813472d 100644
--- a/src/gecaoji/lujingdraw.java
+++ b/src/gecaoji/lujingdraw.java
@@ -70,7 +70,7 @@
     /** // 鏂囨。娉ㄩ噴寮�濮�
      * Draw the planned mowing path. // 缁樺埗璺緞
      */ // 鏂囨。娉ㄩ噴缁撴潫
-    public static void drawPlannedPath(Graphics2D g2d, List<Point2D.Double> path, double scale) { // 缁樺埗涓绘柟娉�
+    public static void drawPlannedPath(Graphics2D g2d, List<Point2D.Double> path, double scale, double arrowScale) { // 缁樺埗涓绘柟娉�
         if (path == null || path.size() < 2) { // 鍒ゅ畾鐐规暟
             return; // 鏁版嵁涓嶈冻鐩存帴杩斿洖
         } // if缁撴潫
@@ -97,13 +97,13 @@
         Point2D.Double end = path.get(path.size() - 1); // 缁堢偣
         Point2D.Double prev = path.get(path.size() - 2); // 鍊掓暟绗簩涓偣
 
-        drawArrowMarker(g2d, start, second, START_POINT_COLOR, scale); // 缁樺埗璧风偣绠ご
-        drawArrowMarker(g2d, prev, end, END_POINT_COLOR, scale); // 缁樺埗缁堢偣绠ご
+    drawArrowMarker(g2d, start, second, START_POINT_COLOR, scale, arrowScale); // 缁樺埗璧风偣绠ご
+    drawArrowMarker(g2d, prev, end, END_POINT_COLOR, scale, arrowScale); // 缁樺埗缁堢偣绠ご
 
         g2d.setStroke(previous); // 鎭㈠鍘熸弿杈�
     } // 鏂规硶缁撴潫
 
-    private static void drawArrowMarker(Graphics2D g2d, Point2D.Double from, Point2D.Double to, Color color, double scale) { // 缁樺埗绠ご杈呭姪
+    private static void drawArrowMarker(Graphics2D g2d, Point2D.Double from, Point2D.Double to, Color color, double scale, double sizeScale) { // 缁樺埗绠ご杈呭姪
         if (from == null || to == null) { // 鍒ょ┖
             return; // 鏁版嵁涓嶈冻杩斿洖
         } // if缁撴潫
@@ -115,7 +115,8 @@
         } // if缁撴潫
 
     double arrowLength = Math.max(2.5, 5.5 / Math.max(0.5, scale)); // 璁$畻绠ご闀垮害
-    arrowLength *= 0.5; // 缂╁皬绠ご灏哄涓哄師鏉ョ殑涓�鍗�
+    double clampedScale = sizeScale > 0 ? sizeScale : 1.0; // 闃叉闈炴硶缂╂斁
+    arrowLength *= 0.25 * clampedScale; // 缂╁皬绠ご鑷冲師鏉ョ殑涓�鍗�
         double arrowWidth = arrowLength * 0.45; // 璁$畻绠ご瀹藉害
 
         double ux = dx / length; // 鍗曚綅鍚戦噺X

--
Gitblit v1.10.0