计算两点之间任意一点坐标【Unity数学】

今天来分享一下计算两点之间任意一点的坐标方式,分为3d及2d点的计算。思路大概就是起点坐标加上根据比例计算出来的相对于起点的偏移

    /// <summary>
    /// 获取两点之间的点
    /// </summary>
    /// <param name="start"></param>
    /// <param name="end"></param>
    /// <param name="progress"></param>
    /// <returns></returns>
    public static Vector3 BetweenPoint(Vector3 start, Vector3 end, float progress)
    {
        Vector3 normal = (end - start).normalized;
        float distance = Vector3.Distance(start, end);
        return normal * (distance * progress) + start;
    }

    /// <summary>
    /// 获取两点之间的点
    /// </summary>
    /// <param name="start"></param>
    /// <param name="end"></param>
    /// <param name="progress"></param>
    /// <returns></returns>
    public static Vector2 BetweenPoint(Vector2 start, Vector2 end, float progress)
    {
        Vector2 normal = (end - start).normalized;
        float distance = Vector2.Distance(start, end);
        return normal * (distance * progress) + start;
    }

猜你喜欢

转载自blog.csdn.net/weixin_36719607/article/details/120412961