gpt4 book ai didi

java - Java 中的 Math.sin 和 Math.cos 发生了什么?以及如何修复它?

转载 作者:行者123 更新时间:2023-11-29 07:09:00 25 4
gpt4 key购买 nike

我正在尝试实现 rotation matrix .但是有一个非常奇怪的效果: How it look like

这是我的代码:

public void rotation(PointF point, double a) {

point.x = (point.x - 400) * Math.cos(a) - (point.y - 300) * Math.sin(a)
+ 400;
point.y = (point.x - 400) * Math.sin(a) + (point.y - 300) * Math.cos(a)
+ 300;
}

结果 a 在坐标 400,300 处有一个落点。

怎么了?我要点按圆圈移动?我怎样才能做得更好?

最佳答案

不应该是这样吗

double x = point.x * Math.cos(a) - point.y * Math.sin(a);
double y = point.x * Math.sin(a) + point.y * Math.cos(a);
point.x = x;
point.y = y;

防止过早修改 point.x?

关于java - Java 中的 Math.sin 和 Math.cos 发生了什么?以及如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16243278/

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