张世豪
2025-12-09 32524195d474b74e48916867b2a6c2f022a40d98
src/zhuye/pointandnumber.java
@@ -20,7 +20,8 @@
                                          List<Point2D.Double> boundary, // 边界点集合
                                          double scale, // 缩放比例
                                          double mergeThreshold, // 合并阈值
                                          Color pointColor) { // 点颜色
                                          Color pointColor, // 点颜色
                                          double diameterScale) { // 直径缩放因子
        if (boundary == null || boundary.size() < 2) { // 判断数据是否有效
            return; // 无效直接返回
        }
@@ -32,8 +33,10 @@
            return; // 无效返回
        }
        double scaleFactor = Math.max(0.5, scale); // 防止过小缩放
        double markerDiameter = Math.max(1.0, (10.0 / scaleFactor) * 0.2); // 描点直径
    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); // 描点直径
        double markerRadius = markerDiameter / 2.0; // 半径
        for (int i = 0; i < effectiveCount; i++) { // 遍历有效点