gpt4 book ai didi

c++ - 使用另一个点和它们之间的角度计算圆上的点

转载 作者:搜寻专家 更新时间:2023-10-31 01:41:00 25 4
gpt4 key购买 nike

我在一个圆心为 (0, 0) 的圆上有一个点,称为 (x1, y1),一个角称为 A(以度为单位)。我想找到一个函数,让我找到圆上的另一个点 (x2, y2),如下所示: Diagram

我有一个看起来像这样的函数(我正在使用 C++ sfml)

//sf::Vector2f has two members, x and y, which are both quotes. 
sf::Vector2f findPoint(int A, sf::Vector2f x1y1)
{
sf::Vector2f x2y2;
// Code I need
return x2y2;
}

请帮我找到我需要的代码

最佳答案

最简单的方法是构建一个类,以 Cartiesian 极坐标对点进行建模。

然后您可以使用 (x1, x2) -> 极坐标 -> 添加角度 -> 笛卡尔坐标。

或者,您可以使用广义旋转矩阵:

    /  \    /               \/  \ 
|x2| = | cos A -sin A||x1|
|y2| | sin A cos A||y1|
\ / \ /\ /

x2 = y1 cos A - y1 sin Ay2 = x1 sin A + y1 cos A

关于c++ - 使用另一个点和它们之间的角度计算圆上的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28940569/

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