[英]How do I draw an arc based on two given points and a given height describing a circle segment?
[英]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,y,width和height。
你沒有指定所需的角度,所以我猜你可以任意選擇一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.