gpt4 book ai didi

android - 如何在Android中绘制圆的直径

转载 作者:行者123 更新时间:2023-11-29 21:13:16 25 4
gpt4 key购买 nike

我提到了这个问题 Draw a circle within circle at a distance of 10这接近我的要求。我只需要两个同心圆,一个位于另一个内部,半径缩放为 300 米,外部一个半径缩放为 500 米。

我已经能够使用一种将以米为单位的距离转换为相应像素距离的转换方法,在我的屏幕上绘制两个以像素为单位缩放的圆圈。下一步是在圆圈内画一个加号;线是直径。因此它们将通过中心并包含圆上的两个点。

1)我有圆心的经纬度和像素细节。

2) 我知道圆心和圆上任意一点的夹角需要是 90 度。

3)我必须使用 canvas.drawLine()。

但是最好的方法是什么才能让这些点位于圆上,从而可以通过这三个点绘制一条线。

(上圆上的点,圆心,下圆上的点)

非常感谢您的帮助。

编辑:经过一些搜索,我尝试了以下代码

        //double degrees = 90.0;
//double radians = Math.toRadians(degrees);
//int x1 = (int) (500 * Math.cos(radians) + x);
//int y1 = (int) (500 * Math.sin(radians) + y);
//canvas.drawLine(x, y, x1, y1, mSelectionBrush);


canvas.drawLine(x, y-500, x, y+500, mSelectionBrush);
canvas.drawLine(x-500, y, x+500, y, mSelectionBrush);

x,y 是中心的坐标。 500是外圆的半径。我看到的输出是这样的。这条线延伸到下面。我走的路对吗?

enter image description here

最佳答案

我认为您走在正确的轨道上。请注意,垂直线只有 Y 变化。假设中心由 C(a,b) 给出所以终点是(a,b-r) 和 (a,b+r)

只有水平线的 x 变化:(a-r,b) 和 (a+r,b) 将是终点。

r 是半径。

关于android - 如何在Android中绘制圆的直径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22140050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com