Angle between two Vectors 2D

前端 未结 8 1871
深忆病人
深忆病人 2021-02-05 17:29

I\'m trying to compute the angle between two vectors. I tried this, but it always returns zero:

public double GetAngle(Vector2 a, Vector2 b)
{
double angle = Mat         


        
8条回答
  •  感动是毒
    2021-02-05 17:52

    I think code show as below copy from .NET source code could help you.

    reference: http://referencesource.microsoft.com/#WindowsBase/Base/System/Windows/Vector.cs,102

    /// 
    /// AngleBetween - the angle between 2 vectors
    /// 
    /// 
    /// Returns the the angle in degrees between vector1 and vector2
    /// 
    ///  The first Vector 
    ///  The second Vector 
    public static double AngleBetween(Vector vector1, Vector vector2)
    {
        double sin = vector1._x * vector2._y - vector2._x * vector1._y;  
        double cos = vector1._x * vector2._x + vector1._y * vector2._y;
    
        return Math.Atan2(sin, cos) * (180 / Math.PI);
    }
    

提交回复
热议问题