gpt4 book ai didi

ios - 通过触摸旋转圆规/仪表的指针

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

我有一个圆形仪表的 UIView,它有一只手围绕中心 anchor 旋转(想想:速度计)。我让它工作,所以手会旋转到使用层变换给定值的正确位置。

我希望用户能够将仪表指针拖动到另一个值。虽然我无法弄清楚这种交互 - 我可以在手上使用 UIPanGestureRecognizer 来获得平移点,但我如何从中计算调整后的手部角度?这实际上更像是一个几何问题。

此外,因为它是一个圆米,我不想仅根据平移点的 x 或 y 分量来调整角度。

最佳答案

如果我没听错的话,这是简单的几何:在极坐标系和笛卡尔坐标系之间转换。使用触摸点的位置求出圆周的角度(就像在极坐标中一样):

CGPoint touchPoint = ...;
double touchTheta = atanf(touchPoint.x, touchPoint.y);

然后你可以做一些事情,比如计算针的终点,给定它的长度(半径):

CGPoint needleEndpoint = (CGPoint){needleLength * sinf(touchTheta),
needleLength * cosf(touchTheta)};

关于ios - 通过触摸旋转圆规/仪表的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16066374/

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