예제 #1
0
 public static double Dot(KVector2 u, KVector2 v)
 {
     return(u.X * v.X + u.Y * v.Y);
 }
예제 #2
0
 public static KVector2 Substract(KVector2 u, KVector2 v)
 {
     return(new KVector2(u.X - v.X, u.Y - v.Y));
 }
예제 #3
0
 public static KVector2 Multiply(KVector2 v, double k)
 {
     return(new KVector2(k * v.X, k * v.Y));
 }
예제 #4
0
 public static KVector2 operator /(KVector2 v, double k)
 {
     return(KVector2.Multiply(v, 1 / k));
 }
예제 #5
0
 public static KVector2 Add(KVector2 u, KVector2 v)
 {
     return(new KVector2(u.X + v.X, u.Y + v.Y));
 }
예제 #6
0
 public static double operator *(KVector2 u, KVector2 v)
 {
     return(KVector2.Dot(u, v));
 }
예제 #7
0
 public static KVector2 operator *(double k, KVector2 v)
 {
     return(KVector2.Multiply(k, v));
 }
예제 #8
0
 public static KVector2 operator %(KVector2 v, double z)
 {
     return(KVector2.Cross(v, z));
 }
예제 #9
0
 public static double operator %(KVector2 u, KVector2 v)
 {
     return(KVector2.Cross(u, v));
 }
예제 #10
0
 public static KVector2 operator -(KVector2 u)
 {
     return(KVector2.Multiply(-1, u));
 }
예제 #11
0
 public static KVector2 operator %(double z, KVector2 v)
 {
     return(KVector2.Cross(z, v));
 }
예제 #12
0
 public static KVector2 operator -(KVector2 u, KVector2 v)
 {
     return(KVector2.Substract(u, v));
 }
예제 #13
0
 public static KVector2 operator +(KVector2 u, KVector2 v)
 {
     return(KVector2.Add(u, v));
 }
예제 #14
0
 public static KVector2 Lerp(KVector2 a, KVector2 b, double alpha)
 {
     return(a + (b - a) * alpha);
 }
예제 #15
0
 public static KVector2 TransformNormal(KVector2 v, KMatrix3x3Opti mat)
 {
     return(Normalize(TransformDir(v, mat)));
 }
예제 #16
0
 public static KVector2 Normalize(KVector2 v)
 {
     return(v / v.Length());
 }