簡體   English   中英

用2點和圓心繪制圓弧

[英]Draw arc with 2 points and center of the circle

我有兩個圓點和圓圈的中心。 我想在這些點之間畫一條弧。 方法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。

你沒有指定所需的角度,所以我猜你可以任意選擇一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM