gpt4 book ai didi

java - Java Vector2d 类中的旋转

转载 作者:行者123 更新时间:2023-12-01 06:58:29 28 4
gpt4 key购买 nike

我已经为此工作了一个小时,但无法得到它。

我有一个 Vector2d 类:

public class Vector2d
{
public double x = 0.0;
public double y = 0.0;

....
}

这个 vector 类有一个rotate()方法,这给我带来了麻烦。

第一个片段似乎使 x 和 y 值变得越来越小。第二个效果很好!我在这里错过了一些简单的东西吗?

public void rotate(double n)
{
this.x = (this.x * Math.cos(n)) - (this.y * Math.sin(n));
this.y = (this.x * Math.sin(n)) + (this.y * Math.cos(n));
}

这有效:

public void rotate(double n)
{
double rx = (this.x * Math.cos(n)) - (this.y * Math.sin(n));
double ry = (this.x * Math.sin(n)) + (this.y * Math.cos(n));
x = rx;
y = ry;
}

我就是看不出有什么不同

最佳答案

第一行设置 this.x 的值,然后当您真正想要的是 this.x 的原始值时,在第二行中使用该值。第二个版本工作正常,因为您没有更改 this.x

关于java - Java Vector2d 类中的旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5207708/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com