在 Android 中使用 arcTo 创建凹路径

Creating a concave path with arcTo in Android

我想画这样一条路径并填充它:

如果原点是坐标为(x,y)的红点。我应该在下面的三重点中写什么来绘制这条路径。我已经尝试了很多,但无法弄清楚 arcTo 是如何工作的。

    path.moveTo(x, y);
    path.arcTo(...);
    path.arcTo(...);
    canvas.drawPath(path, paint);

ArcTo 绘制从起始角度到角度+扫描角度的矩形内切椭圆弧。其余的都是纯几何。

    Paint paint = new Paint();
    paint.setStyle(Paint.Style.FILL);
    paint.setColor(Color.rgb(255, 139, 40));

    float x = 500, y = 500, r = 500, angle = 50;

    Path path = new Path();

    path.arcTo(new RectF(x, y-r, x+2*r, y+r),180,angle);
    path.lineTo((float) (x - r * (1 - Math.cos(Math.toRadians(angle)))), (float) (y - r * Math.sin(Math.toRadians(angle))));
    path.arcTo(new RectF(x - 2 * r, y - r, x, y + r), -angle, angle);
    path.close();


    canvas.drawPath(path,paint);