首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java查找圆上的点被放大

Java查找圆上的点被放大
EN

Stack Overflow用户
提问于 2018-12-07 07:09:46
回答 1查看 68关注 0票数 1

我有下面的等式来寻找圆上的一个点:

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);    

EN

回答 1

Stack Overflow用户

发布于 2018-12-07 07:33:12

看起来你的代码中实际上有不止一个错误。如果您显示为Minimal, Complete, and Verifiable example的完整代码,这将非常有帮助。这里仍然有一些猜测:

  1. 假设xcyc是以圆的圆心为值的变量,R是半径,则圆上与alpha夹角的点为

X=R* Math.cos(alpha) + xc;y=R* Math.sin(alpha) + yc;

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

  1. ,正如MadProgrammer指出的,Math.cosMath.sin以弧度作为参数,45.0的值建议你使用度数。使用Math.toRadians可能会解决此问题。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53661059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档