2013-12-13 68 views
1

我在android中绘制了一个圆,并且想要以特定角度在其边上绘制某个东西。 我知道半径,我知道从水平(x轴)的角度措施:如何在Android上找到一个圆上的x,y坐标

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

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

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

那么当在一个角度的圆的边上计算x,y时公式会如何变化? 有没有其他的方式来找到x,y在android的圈子边缘?

谢谢。

回答

4

在正常的直角坐标系中,theta从正x轴开始测量,并且随着逆时针方向旋转而增加。

然而,由于Y轴是用于Android的画布坐标系中的倒置,您需要调整您的Ÿ方程,以适应:

perimiter_X_coord = center_X_coord + R * COS(THETA)
perimiter_Y_coord = center_Y_coord - R * SIN(THETA)

此外,还要记住,如果你正在使用Math.cos()Math.sin(),他们预计弧度的角度。所以,如果你有角的度数,你需要与转换:

angle_in_radians = angle_in_degrees * (Math.PI/180) 
相关问题