gpt4 book ai didi

c - 找到一个 vector 在可变轴上的角度

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:41 26 4
gpt4 key购买 nike

求 vector 与 x 轴夹角的典型方法(假设 x 轴从左到右,y 轴从下到上)是:

double vector_angle = atan2( y , x )

但是,我希望我的轴以圆上的一点为原点,这样 x 轴从圆边上的点穿过圆心,并且y 轴在该点与圆相切(因此垂直于 x 轴)。

假设代码仍然相同,但现在调整了距离 k 和角度 theta,也许:

double y_position = ( y + k ) * theta;
double x_position = ( x + k ) * theta;
double vector_angle = atan2( y_position, x_position );

但我不确定这一点。这是一个基于触摸的应用程序的普遍问题,我希望有一个通用的方法来移动 Sprite (在 cocos2d 中)使用滑动 Action ,它始终与圆心保持恒定距离。

enter image description here

这里,B 是 vector 的原点,可以通过旋转 theta 进行变换。例如,如果我们将圆和点 B 旋转 90 度,B 将位于 (4, 0) 并且线 B->A 将沿轴 4 (y = 4)。我想在变换时获取点 B 的节点空间中的角度。

最佳答案

Arctan 返回 vector 的正确角度,其中“x 轴”是垂直于切线的线。

关于c - 找到一个 vector 在可变轴上的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16904554/

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