Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java在一个圆圈上寻找点_Java_Math_Point - Fatal编程技术网

Java在一个圆圈上寻找点

Java在一个圆圈上寻找点,java,math,point,Java,Math,Point,我有下面的方程式来找到一个圆上的点: x = (int) (10 * Math.cos(45.0)); y = (int) (10 * Math.sin(45.0)); x1 = new Point(x, y); 然后我画一条从圆心到这个新点的线 我本以为改变Math.cos和Math.sin函数的参数会改变直线从中心出来的角度,但当我测试这个时,如果改变,则是圆的半径会改变直线绘制的角度 我是不是误解了数学?这里出了什么问题 这是用上述方程式从中心圆画出的线,但它的长度应与该中心圆的半径相同

我有下面的方程式来找到一个圆上的点:

x = (int) (10 * Math.cos(45.0));
y = (int) (10 * Math.sin(45.0));
x1 = new Point(x, y);
然后我画一条从圆心到这个新点的线

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

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

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

这是方程式为时的结果图像:

x = (int) (350 * Math.cos(45.0));
y = (int) (350 * Math.sin(45.0));
x1 = new Point(x, y);    
并记录为接受弧度,而不是度

使用和在它们之间进行转换

cos公共静态双cos​双a返回 角的三角余弦。特殊情况: *如果参数为NaN或无穷大,则结果为NaN。计算结果必须在精确结果的1 ulp范围内。后果 必须是半单调的

参数:a-角度,以弧度为单位。返回:余弦 这是争论的焦点

并记录为接受弧度,而不是度

使用和在它们之间进行转换

cos公共静态双cos​双a返回 角的三角余弦。特殊情况: *如果参数为NaN或无穷大,则结果为NaN。计算结果必须在精确结果的1 ulp范围内。后果 必须是半单调的

参数:a-角度,以弧度为单位。返回:余弦 这是争论的焦点


您的代码中似乎有不止一个错误。如果你能以一个完整的代码的形式展示,这将非常有帮助。还是有一些猜测:

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

x=R*Math.cosalpha+xc; y=R*Math.sinalpha+yc

在您的代码中,xc和yc看起来都是0,因此您可以有效地从圆心到圆心为0,0的圆上的点绘制一条线,在Java2D世界中,圆心是屏幕的左上角

正如MadProgrammer指出的那样,Math.cos和Math.sin以弧度为参数,45.0的值表示使用度。使用可能会解决这个问题。
可能会有更多的问题,但根据问题的当前状态很难猜测。

看起来您的代码中实际上有不止一个错误。如果你能以一个完整的代码的形式展示,这将非常有帮助。还是有一些猜测:

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

x=R*Math.cosalpha+xc; y=R*Math.sinalpha+yc

在您的代码中,xc和yc看起来都是0,因此您可以有效地从圆心到圆心为0,0的圆上的点绘制一条线,在Java2D世界中,圆心是屏幕的左上角

正如MadProgrammer指出的那样,Math.cos和Math.sin以弧度为参数,45.0的值表示使用度。使用可能会解决这个问题。
可能会有更多的问题,但根据问题的当前状态很难猜测。

您的描述不太清楚。可能一些不同参数的屏幕截图会大大改善这个问题。还将向我们展示绘制线条的代码。你的描述也不太清楚。可能一些不同参数的屏幕截图会大大改善这个问题。还将向我们展示绘制线条的代码。关于这样一个问题,请参见“好的猜测”。@SergGr我犯了不止一次的错误,实际上似乎并没有影响输出。事实上,不管我在cos和sin的参数中加上什么样的双值,得到的线仍然和第一张图片中的一样长:@MichaelTracey其他的一切都是猜测工作。你也可以看一看类似于或或@MadProgrammer的东西。你是对的,是我的实现中出现问题的另一个地方:谢谢你对这样一个问题的猜测。@SergGr我犯了不止一次的错误,实际上似乎并没有影响输出。事实上,不管我在cos和sin的参数中加上什么样的双值,得到的线仍然和第一张图片中的一样长:@MichaelTracey其他的一切都是猜测工作。你也可以看看类似于或@MadProgrammer的东西。你是对的,这是我的实现中出现的另一个问题:谢谢