首页 文章

从圆心中心点查找角度[重复]

提问于
浏览
0

可能重复:从圆心中找出一个点的角度

想象一个圆圈,中心点是固定的,就像圆圈顶部的点一样 . 我想要的是在圆圈周围(或圆圈外)的任意位置给出第三个点,并从0-359获得从中心到顶点线的度数 . (我实际上绘制了一张漂亮的图片,但是我很新并且不能发布它)

为了给出一些背景,圆形是一个小行星,我想在表面上放置一个小建筑物,建筑物的底部在切线处 . 我需要建筑位图的旋转角度 .

编辑:感谢您的帮助,我仍然在努力解决这个问题 . 我想知道我使用android并且y0坐标位于顶部是否相关?它是在其他平台上的另一种方式吗?会影响计算吗?

解决方案:因为我在机器人和y coords从上到下计数我不得不改变 - 与

degrees =  Math.atan2(x - centerX, -y + centerY);
// and to make it count 0-360
if (degrees < 0) {degrees += 2 * Math.PI;}

2 回答

  • 4

    使用 Math.atan2() 从东方获取以弧度表示的角度,然后根据需要旋转和转换 .

    请注意, atan2 被定义为 atan2(y, x) NOT atan2(x, y) ,正如您所料 .

  • 0

    获取水平距离和中心与点之间的垂直差异,将其相互分开,并将结果传递给方法Math.asin(double) .

    结果将是radians中的角度 . 当您需要它时,您可以使用方法Math.toDegrees(double) . 我知道的大多数API都更喜欢弧度 .

相关问题