繁体   English   中英

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

[英]How to find x,y coordinates on a circle in Android

我在android中画了一个圆,想在其边缘以特定角度绘制一些东西。 我知道半径,我知道水平方向(x轴)的角度:

计算圆上相应x,y的常规数学公式为

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

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

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

谢谢。

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

但是,由于Y轴在android中用于画布的坐标系中是反转的,因此您需要调整Y方程以适合:

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

另外,请记住,如果您正在使用Math.cos()Math.sin() ,则它们期望的弧度为弧度。 因此,如果角度为度,则需要转换为:

angle_in_radians = angle_in_degrees * (Math.PI / 180)

您是否基本上需要绘制与圆的切线? http://www.mathopenref.com/tangent.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM