gpt4 book ai didi

C++ 将角度转换为坐标

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:13 25 4
gpt4 key购买 nike

我目前正在尝试使用 Mathworks 的 Matlab 公式 Sph2Cart 将 2 个角度转换为 x、y、z

http://www.mathworks.com/help/techdoc/ref/sph2cart.html

算法:

x = r .* cos(elevation) .* cos(azimuth)
y = r .* cos(elevation) .* sin(azimuth)
z = r .* sin(elevation)

在 C++ 中

clax = 1 * cos((Altitude/360)*(2*XM_PI)) * cos((Azimuth/360)*(2*XM_PI));
clay = 1 * sin((Altitude/360)*(2*XM_PI));
claz = 1 * cos((Altitude/360)*(2*XM_PI)) * sin((Azimuth/360)*(2*XM_PI));

但无论 Altitude 和 Azimuth 是什么,clax、clay 和 claz 要么是 0 要么是 1。

我确定我犯了一个错误,之后我会笑我是多么愚蠢。但实际上,我不知道为什么这不起作用,为什么每个值只给出 1 或 0...

最佳答案

很可能,您将 clax 声明为某种整数类型(例如 intlong ...)。否则,AltitudeAzimuth 可能被声明为整数类型。在那种情况下,您总是会在三角函数的参数中得到 2*pi 的倍数。

关于C++ 将角度转换为坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11919500/

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