gpt4 book ai didi

java - 如何计算两个 vector 之间的角度?

转载 作者:行者123 更新时间:2023-12-01 09:14:47 25 4
gpt4 key购买 nike

我们正在尝试获取 v 和 u 之间的 cos 值,但我们得到的结果远高于 1 或低于 0

地点:

vx = in.nextInt(); // x speed of your pod
vy = in.nextInt(); // y speed of your pod

int ux = nextCheckPointIdX - x;
int uy = nextCheckPointIdY - y;

公式如下:

double cos = (vx*ux + vy*uy) / ( Math.sqrt(Math.pow(vx, 2) + Math.pow(vy, 2)) + Math.sqrt(Math.pow(ux, 2) + Math.pow(uy, 2)) );

你发现上一行有错误吗?

最佳答案

分母有问题。

int num = (vx*ux + vy*uy);
double den = (Math.sqrt(Math.pow(vx, 2) + Math.pow(vy, 2)) * (Math.sqrt(Math.pow(ux, 2) + Math.pow(uy, 2))) );
double cos = num / den;
System.out.println(cos);
System.out.println(Math.acos(cos));

关于java - 如何计算两个 vector 之间的角度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641401/

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