当前位置: 首页 > 知识库问答 >
问题:

Java查找圆上的点播放

劳和雅
2023-03-14

我有以下等式来找到圆上的点:

x = (int) (10 * Math.cos(45.0));
y = (int) (10 * Math.sin(45.0));
x1 = new Point(x, y);

然后我从圆心到这个新点画一条线。

我本以为改变数学的参数。cos和数学。sin函数会改变直线从中心出来的角度,但当我进行测试时,如果改变了,则是圆的半径改变了直线绘制的角度。

我误解了数学吗?这里出了什么问题?

这是用上述方程式从中心圆画出的线,但它的长度应与该中心圆的半径相同

这是当等式为:

x = (int) (350 * Math.cos(45.0));
y = (int) (350 * Math.sin(45.0));
x1 = new Point(x, y);    

共有2个答案

金慈
2023-03-14

似乎您的代码中实际上有不止一个错误。如果您显示为最小、完整和可验证示例的完整代码,那将非常有帮助。仍然有一些猜测:

>

  • 假设xc和yc是具有圆心值的变量,R是半径,则α角圆上的点为

    x=R*数学。cos(alpha)xc;y=R*数学。sin(alpha)yc;

    在您的代码中,您的xcyc都是0,因此您可以有效地从圆心绘制一条线到圆心为(0,0)的圆圈上的点,在Java2d世界中,这是屏幕的左上角。

    可能会有更多的问题,但很难猜测问题的现状。

  • 鞠凌龙
    2023-03-14

    数学。cos和数学。sin记录为接受弧度,而不是度

    使用Math.toRadians数学。到度数在它们之间转换

    cos公共静态双cos(Double a)返回角度的三角余弦。特殊情况:

    参数:

     类似资料:
    • 我知道如何检查其中两个圆是否重叠(它们中心之间的距离小于直径)。我可以对每对圆执行此检查,但我想知道是否有更好的算法(比)更快)。 编辑 圆圈的数目通常是100个左右,重叠不会经常发生。

    • 给定圆心、半径和3个点,我想通过指定开始绘制的角度和旋转的角度,绘制一条从第一个点开始、穿过第二个点并在第三个点结束的圆弧。为此,我需要计算圆弧上的点。我希望计算的点数是可变的,这样我就可以调整计算圆弧的精度,这意味着我可能需要一个循环,在计算完一个点后,通过旋转一点来计算每个点。我已经阅读了这个问题的答案,用2个点和圆心画圆弧,但它只解决了角度计算的问题,因为我不知道如何画画布。实现了“draw

    • 我正在研究一个问题,基本上可以归结为以下几点: 给定: null 对于这样一个位置,有什么算法的想法吗?我最终将使用java实现,但我可以使用PsuedoCode。

    • 我有一个用lat/long表达的观点 我有一个以米表示的半径值。我需要检查另一个点,也用拉特/long表示,是否在圆内。 如果我在平面上,我可以简单地使用公式 正如这些答案所深刻解释的那样。 然而,根据纬度/经度的用法,我不能使用这个公式,因为行星是球形的。 如何计算从任何给定点到中心的距离以与半径进行比较?

    • null 关键是我使用jLayer的实现不起作用:当我执行play-pause-resume时,音频被暂停,但随后从文件中的随机点恢复。 我该怎么修好它?

    • 问题内容: 我有点麻烦。我有一项作业,要求我找出第二个圆圈是否重叠,内部是否重叠或两者都不存在。但是,我在检查重叠以及第二个圆是否在第一个圆内时遇到了麻烦。 (使用的变量为x1,x2,y1,y2,r1,r2,距离) 这是我所拥有的: 我担心问题在于重叠和内部检查,但是我无法弄清楚如何正确设置它,因此我可以可靠地检查第二个圆是否在第一个圆的内部。 当我尝试了多种方法时,任何帮助或建议都将不胜感激,但