【问题标题】:How can I find end point using start point, angle and distance如何使用起点、角度和距离找到终点
【发布时间】:2018-05-12 22:45:00
【问题描述】:

我有以下指标

Vec2 start = Vec2(20, 20);
float angle = 64.0f;
float distance = 500.0f;

我想找到终点但我想不通

【问题讨论】:

    标签: cocos2d-x


    【解决方案1】:

    如何使用起点、角度和距离找到终点?

    Vec2 start     = Vec2(20, 20);
    float angle    = 64.0f;
    float distance = 500.0f;
    

    要为操作做准备,您必须包括

    #include <math.h>
    

    首先您必须将angleDegree 转换为Radians,因为对于以下函数,角度需要以弧度表示:

    float angle_rad = angle * 3.1415927f / 180.0f;
    

    然后你必须计算方向Unit vector。 这可以通过Trigonometric functions Consine (cos) 和Sine (sin) 来完成:

    Vec2 dir_vec(cos(angle_rad), sin(angle_rad));
    

    end 点是start 点加上方向单位向量 (dir_vec) 乘以 distance

    Vec2 end = start + distance * dir_vec;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 2021-09-25
      • 2022-07-29
      • 1970-01-01
      相关资源
      最近更新 更多