From 2144172c7b961d4112850692ed77b46f1ae5d373 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 05 十二月 2025 19:34:53 +0800
Subject: [PATCH] 20251205
---
src/zhuye/pointandnumber.java | 23 +++--------------------
1 files changed, 3 insertions(+), 20 deletions(-)
diff --git a/src/zhuye/pointandnumber.java b/src/zhuye/pointandnumber.java
index 39c2304..fb95ad8 100644
--- a/src/zhuye/pointandnumber.java
+++ b/src/zhuye/pointandnumber.java
@@ -1,29 +1,26 @@
package zhuye; // 鍖呭0鏄�
import java.awt.Color; // 棰滆壊绫�
-import java.awt.Font; // 瀛椾綋绫�
-import java.awt.FontMetrics; // 瀛椾綋搴﹂噺
import java.awt.Graphics2D; // 缁樺浘涓婁笅鏂�
import java.awt.geom.Ellipse2D; // 鍦嗗舰缁樺埗
import java.awt.geom.Point2D; // 浜岀淮鍧愭爣鐐�
import java.util.List; // 鍒楄〃鎺ュ彛
/**
- * Utility for rendering boundary vertices and numeric labels. // 宸ュ叿绫昏鏄�
+ * Utility for rendering boundary vertices. // 宸ュ叿绫昏鏄�
*/
public final class pointandnumber { // 宸ュ叿绫诲畾涔�
private pointandnumber() { // 绉佹湁鏋勯�犻槻姝㈠疄渚嬪寲
}
/**
- * Draw numbered boundary points with consistent styling.
+ * Draw boundary points with consistent styling.
*/
public static void drawBoundaryPoints(Graphics2D g2d, // 缁樺埗鏂规硶鍏ュ彛
List<Point2D.Double> boundary, // 杈圭晫鐐归泦鍚�
double scale, // 缂╂斁姣斾緥
double mergeThreshold, // 鍚堝苟闃堝��
- Color pointColor, // 鐐归鑹�
- Color labelColor) { // 搴忓彿棰滆壊
+ Color pointColor) { // 鐐归鑹�
if (boundary == null || boundary.size() < 2) { // 鍒ゆ柇鏁版嵁鏄惁鏈夋晥
return; // 鏃犳晥鐩存帴杩斿洖
}
@@ -38,11 +35,6 @@
double scaleFactor = Math.max(0.5, scale); // 闃叉杩囧皬缂╂斁
double markerDiameter = Math.max(1.0, (10.0 / scaleFactor) * 0.2); // 鎻忕偣鐩村緞
double markerRadius = markerDiameter / 2.0; // 鍗婂緞
- int fontSize =2; // 瀛椾綋澶у皬
-
- Font originalFont = g2d.getFont(); // 淇濆瓨鍘熷瓧浣�
- g2d.setFont(new Font("Times New Roman ", Font.CENTER_BASELINE, fontSize)); // 鍒囨崲瀛椾綋
- FontMetrics metrics = g2d.getFontMetrics(); // 瀛椾綋搴﹂噺
for (int i = 0; i < effectiveCount; i++) { // 閬嶅巻鏈夋晥鐐�
Point2D.Double point = boundary.get(i); // 褰撳墠鐐�
@@ -52,16 +44,7 @@
g2d.setColor(pointColor); // 璁剧疆鐐归鑹�
Ellipse2D marker = new Ellipse2D.Double(x - markerRadius, y - markerRadius, markerDiameter, markerDiameter); // 鍒涘缓鍦�
g2d.fill(marker); // 缁樺埗鍦�
-
- String label = String.valueOf(i + 1); // 搴忓彿鏂囨湰
- int textWidth = metrics.stringWidth(label); // 鏂囨湰瀹藉害
- g2d.setColor(labelColor); // 璁剧疆鏂囨湰棰滆壊
- float baselineX = (float) (x - textWidth / 2.0); // 璁$畻X鍩虹嚎
- float baselineY = (float) (y + (metrics.getAscent() - metrics.getDescent()) / 2.0); // 璁$畻Y鍩虹嚎
- g2d.drawString(label, baselineX, baselineY); // 缁樺埗鏂囨湰
}
-
- g2d.setFont(originalFont); // 杩樺師瀛椾綋
}
private static boolean arePointsClose(Point2D.Double a, Point2D.Double b, double threshold) { // 鐐硅窛绂诲垽鏂�
--
Gitblit v1.10.0