コード例 #1
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
        public static double GetDotBetween(Vec2d V1, Vec2d V2)
        {
            double len_prod = Vec2Utils.GetLenght(V1) * Vec2Utils.GetLenght(V2);

            if (double.IsNaN(len_prod))
            {
                return(0);
            }

            return((V1.X * V2.X + V1.Y * V2.Y) / (len_prod));
        }
コード例 #2
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetDirectionVec2Toward(Vec2i Origin, Vec2i EndPoint) => Vec2Utils.GetDirectionVec2Toward(Origin.CloneAsVec2d(), EndPoint.CloneAsVec2d());
コード例 #3
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetDirectionVec2Toward(Vec2d Origin, Vec2d EndPoint) => Vec2Utils.GetUnitVec2(EndPoint - Origin);
コード例 #4
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetUnitVec2(Vec2i Vec) => Vec2Utils.GetUnitVec2(Vec.CloneAsVec2d());
コード例 #5
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetUnitVec2(Vec2d Vec) => Vec / Vec2Utils.GetLenght(Vec);
コード例 #6
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetRotatedByDeg(Vec2i Vec, double Deg) => Vec2Utils.GetRotatedByDeg(Vec.CloneAsVec2d(), Deg);
コード例 #7
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetRotatedByDeg(Vec2d Vec, double Deg) => Vec2Utils.GetRotatedByRad(Vec, (Deg * Math.PI) / 180);
コード例 #8
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetLenght(Vec2i Vec) => Vec2Utils.GetLenght(Vec.CloneAsVec2d());
コード例 #9
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetAngleBetween_Deg(Vec2i V1, Vec2i V2) => Vec2Utils.GetAngleBetween_Deg(V1.CloneAsVec2d(), V2.CloneAsVec2d());
コード例 #10
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetAngleBetween_Deg(Vec2d V1, Vec2d V2) => (Vec2Utils.GetAngleBetween_Rad(V1, V2) * 180) / Math.PI;
コード例 #11
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetAngleBetween_Rad(Vec2d V1, Vec2d V2) => Math.Acos(Vec2Utils.GetDotBetween(V1, V2));
コード例 #12
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetDotBetween(Vec2i V1, Vec2i V2) => Vec2Utils.GetDotBetween(V1.CloneAsVec2d(), V2.CloneAsVec2d());
コード例 #13
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetDistance(Vec2i Vec1, Vec2i Vec2) => Vec2Utils.GetDistance(Vec1.CloneAsVec2d(), Vec2.CloneAsVec2d());
コード例 #14
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetDistance(Vec2d Vec1, Vec2d Vec2) => Math.Sqrt(Vec2Utils.GetDistance_Squared(Vec1, Vec2));
コード例 #15
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetClampedVec2(Vec2d Vec, double Lenght) => (Vec2Utils.GetLenght(Vec) > Lenght) ? (Vec2Utils.GetUnitVec2(Vec) * Lenght) : (Vec.Clone() as Vec2d);
コード例 #16
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetRotatedByRad(Vec2i Vec, double Rad) => Vec2Utils.GetRotatedByRad(Vec.CloneAsVec2d(), Rad);
コード例 #17
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static Vec2d GetClampedVec2(Vec2i Vec, double Lenght) => Vec2Utils.GetClampedVec2(Vec.CloneAsVec2d(), Lenght);
コード例 #18
0
ファイル: Vec2Utils.cs プロジェクト: Ant2boss/ACE_lib_release
 public static double GetLenght(Vec2d Vec) => Math.Sqrt(Vec2Utils.GetLenght_Squared(Vec));