在Circle中找到切点

时间:2012-09-05 11:52:38

标签: java math

给出这幅草图:

enter image description here

是否有可能找到任何切点(蓝色点)给出你知道的信息:

  • 圆的中心点(宽度/ 2,宽度/ 2)。
  • 连接未知点到中心的线的度角(角度是从CW方向的start angle点计算的。)

感谢。

1 个答案:

答案 0 :(得分:6)

是的,这绝对是可能的。

半径为width/2

你知道角度,三角学也是如此。

以下是一些代码:

double radius = width/2;
double x = (radius)*Math.cos(-angle); // angle is in radians
double y = (radius)*Math.sin(-angle);

如果角度以度为单位,您可以将其更改为这样的弧度。

angle = angle/180.0*Math.PI;


修改

由于您只需要正值,因此您可以使用已经计算的xy执行此操作。

x += radius;

y = radius - y;

单位圆上的视频:http://www.khanacademy.org/math/trigonometry/v/unit-circle-definition-of-trig-functions