如何在Android中查找圆圈上的x,y坐标

时间:2013-12-13 13:44:24

标签: android coordinates

我在android中绘制了一个圆圈,并希望以特定角度在其边缘绘制一些东西。 我知道半径,我知道角度从水平(x轴)测量:

计算圆上各自x,y的正常数学公式是

x = x0 + r * cos(theta)
y = y0 + r * sin(theta)

但问题是坐标系android从左上角的0,0开始,然后随着我们向下或向右增加。

那么在以一定角度计算圆的边缘上的x,y时,公式会如何变化? 还有其他方法可以在android的圆圈边缘找到x,y吗?

感谢。

2 个答案:

答案 0 :(得分:5)

在正常的笛卡尔坐标系中,θ从正x轴开始测量,随着逆时针方向旋转而增加。

然而,由于Y轴在用于android中画布的坐标系中被反转,你需要调整你的Y等式以适应:

perimiter_X_coord = center_X_coord + r * cos(theta)
perimiter_Y_coord = center_Y_coord - r * sin(theta)

另外,请记住,如果您使用的是Math.cos()Math.sin(),则他们希望使用Radians中的角度。因此,如果您有以度为单位的角度,则需要转换为:

angle_in_radians = angle_in_degrees * (Math.PI / 180)

答案 1 :(得分:0)

你基本上需要画圆圈的切线吗? http://www.mathopenref.com/tangent.html