Java中圆的圆周坐标

时间:2018-09-25 10:59:29

标签: java

我正在尝试一些基本级别的Android自定义绘图。当我尝试绘制类似在其轴上旋转的行星的物体时,我需要知道圆周长的坐标。我发现有一条求周长坐标的法则:

x = r * cos(degree) + j, 
y = r * sin(degree) + k
where j,k is the center of the axis and r is the radius.

问题是,我没有得到我期望的分数。当我使用计算器并执行以下操作时:

100 * cos(1) + 50 

我得到 149.9847695 。但是当我在java中做同样的事情

100 * Math.cos(1) + 50,

我收到 104.03023

我不知道是否还有其他方法可以得到准确的结果。请提出建议。

2 个答案:

答案 0 :(得分:4)

您可以使用var db = client.db('dbNAME'); 将学位转换为弧度

答案 1 :(得分:3)

根据Math.cos documentation

  

参数:

     

a-以弧度表示的角度。

您的计算器将角度取为,而方法将角度取为弧度

因此,您应该将度数转换为弧度:

double degree = 1;
double result = 100 * Math.cos(degree * PI / 180) + 50;
System.out.println(result);

这将打印出“ 149.98476951563913”(按预期)。