gpt4 book ai didi

c++ - 使用鼠标拖动时使用 atan2 旋转图像

转载 作者:行者123 更新时间:2023-11-30 00:58:28 26 4
gpt4 key购买 nike

我正在研究骨骼动画编辑器。现在,每个骨骼都有一个起点和一个终点,当鼠标在一个点下时,随后的拖动将导致骨骼根据鼠标所在的位置旋转。为此,我调用 atan2 并将鼠标坐标转换为本地空间,其中本地空间是按下鼠标的位置。虽然这样“行得通”,但感觉确实不对。骨骼形成的 vector 不一定平行于鼠标点,它应该平行。

我觉得 atan2 有一些我不明白的地方。

:

    if(boneUnderMouse)
{
boneUnderMouse->setAngle(startAngle +
(atan2((float)event.mouse.x - startX,event.mouse.y - startY)));
}

谢谢

最佳答案

atan2 的参数顺序为 yx。因此你需要

 atan2((float)event.mouse.y - startY, (float)event.mouse.x - startX)

关于c++ - 使用鼠标拖动时使用 atan2 旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101253/

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