code: private Point[] getForegroundPoints(double[] angles) {
          calculateValues();
          Point[] points = new Point[_corners];
          for (int i = 0; i < _corners; i++) {
              // 按照比例计算前景色各个顶点的半径
              int value = _foreground_values[i];
              // 50的倍数当作最大外径长度  90,80,90,200,179
              int times = value / 50;
              int total = times * 50 + (value % 50 > 0 ? 50 : 0);
              double scale = _outer_radius * 1.0 / total;
              int r = (int) (scale * value);
  
              points[i] = getPoint(angles[i], r);
          }
          return points;
      }
docs: 通过角度获取前景顶点列表