绘制具有 2 个点和圆心的弧
2022-09-03 18:21:12
我有两个圆点和这个圆的中心。我想在这些点之间画一条弧线。方法是简单,不符合我的目的。有人帮忙吗?drawArc
我有两个圆点和这个圆的中心。我想在这些点之间画一条弧线。方法是简单,不符合我的目的。有人帮忙吗?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,y,宽度和高度。
您还没有指定所需的角度,所以我想您可以任意选择一个。