private IThreeDVector Adder(IThreeDVector vector, AdderArgument type) { return(new ThreeDVector() { X = X + vector[0] * (int)type, Y = Y + vector[1] * (int)type, Z = Z + vector[2] * (int)type }); }
public IThreeDVector VectorMultiply(IThreeDVector factor) { var result = new ThreeDVector(); result[0] = Y * factor[2] - Z * factor[1]; result[1] = Z * factor[0] - X * factor[2]; result[2] = X * factor[1] - Y * factor[0]; return(result); }
private void GetCoordinateByIndex(IThreeDVector vector) { Console.Write($"Enter the index of vector1 "); var result = 0; var index = Console.ReadLine(); if (int.TryParse(index, out result) && result >= 0 && result < 3) { Console.WriteLine($"Coodinate at index {result} is {vector[result]}"); } else { Console.WriteLine("Invalid number entered"); } }
private void CompareLengths(IThreeDVector vector1, IThreeDVector vector2) { var result = ""; switch (vector1.Compare(vector2)) { case -1: result = "vector1 < vector2"; break; case 0: result = "vector1 = vector2"; break; case 1: result = "vector1 > vector2"; break; } Console.Write($"Compare their lengths: {result}"); Console.WriteLine(); }
public IThreeDVector Sub(IThreeDVector subtrahend) { return(Adder(subtrahend, AdderArgument.Sub)); }
public IThreeDVector Add(IThreeDVector added) { return(Adder(added, AdderArgument.Add)); }
public double ScalarMultiply(IThreeDVector factor) { return(X * factor[0] + Y * factor[1] + Z * factor[2]); }
public int Compare(IThreeDVector value) { return(Length.CompareTo(value.Length)); }