我有以下等式来找到圆上的点:
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);
似乎您的代码中实际上有不止一个错误。如果您显示为最小、完整和可验证示例的完整代码,那将非常有帮助。仍然有一些猜测:
>
假设xc和yc是具有圆心值的变量,R是半径,则α角圆上的点为
x=R*数学。cos(alpha)xc;y=R*数学。sin(alpha)yc;
在您的代码中,您的xc
和yc
都是0
,因此您可以有效地从圆心绘制一条线到圆心为(0,0)
的圆圈上的点,在Java2d世界中,这是屏幕的左上角。
可能会有更多的问题,但很难猜测问题的现状。
我知道如何检查其中两个圆是否重叠(它们中心之间的距离小于直径)。我可以对每对圆执行此检查,但我想知道是否有更好的算法(比)更快)。 编辑 圆圈的数目通常是100个左右,重叠不会经常发生。
给定圆心、半径和3个点,我想通过指定开始绘制的角度和旋转的角度,绘制一条从第一个点开始、穿过第二个点并在第三个点结束的圆弧。为此,我需要计算圆弧上的点。我希望计算的点数是可变的,这样我就可以调整计算圆弧的精度,这意味着我可能需要一个循环,在计算完一个点后,通过旋转一点来计算每个点。我已经阅读了这个问题的答案,用2个点和圆心画圆弧,但它只解决了角度计算的问题,因为我不知道如何画画布。实现了“draw
我正在研究一个问题,基本上可以归结为以下几点: 给定: null 对于这样一个位置,有什么算法的想法吗?我最终将使用java实现,但我可以使用PsuedoCode。
我有一个用lat/long表达的观点 我有一个以米表示的半径值。我需要检查另一个点,也用拉特/long表示,是否在圆内。 如果我在平面上,我可以简单地使用公式 正如这些答案所深刻解释的那样。 然而,根据纬度/经度的用法,我不能使用这个公式,因为行星是球形的。 如何计算从任何给定点到中心的距离以与半径进行比较?
null 关键是我使用jLayer的实现不起作用:当我执行play-pause-resume时,音频被暂停,但随后从文件中的随机点恢复。 我该怎么修好它?
问题内容: 我有点麻烦。我有一项作业,要求我找出第二个圆圈是否重叠,内部是否重叠或两者都不存在。但是,我在检查重叠以及第二个圆是否在第一个圆内时遇到了麻烦。 (使用的变量为x1,x2,y1,y2,r1,r2,距离) 这是我所拥有的: 我担心问题在于重叠和内部检查,但是我无法弄清楚如何正确设置它,因此我可以可靠地检查第二个圆是否在第一个圆的内部。 当我尝试了多种方法时,任何帮助或建议都将不胜感激,但