用2点和圆心绘制圆弧

我有两个圆点和圆圈的中心。 我想在这些点之间画一条弧。 方法drawArc很简单,不符合我的目的。 有人帮忙吗?

您可以使用Canvas.drawArc,但必须计算它需要的参数:

让我们说圆的中心是(x0,y0)并且弧包含你的两个点(x1,y1)和(x2,y2)。 然后半径为:r = sqrt((x1-x0) (x1-x0)+(y1-y0) (y1-y0))。 所以:

 int r = (int)Math.sqrt((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0)); int x = x0-r; int y = y0-r; int width = 2*r; int height = 2*r; int startAngle = (int) (180/Math.PI*atan2(y1-y0, x1-x0)); int endAngle = (int) (180/Math.PI*atan2(y2-y0, x2-x0)); canvas.drawArc(x, y, width, height, startAngle, endAngle); 

祝你好运!

Graphics.drawArc需要以下参数:

  • X
  • ÿ
  • 宽度
  • 高度
  • 由startAngle
  • arcAngle

给定弧起点和终点,可以计算绘制弧的边界框 。 这为您提供了足够的信息来提供参数:x,y,width和height。

你没有指定所需的角度,所以我猜你可以任意选择一个。