Написать программу, находящую пару векторов, образующих наименьший угол - C#
Формулировка задачи:
Три вектора на плоскости заданы своими координатами. Написать программу, находящую пару векторов, образующих наименьший угол. (Определить функцию, вычисляющую угол между векторами.)
помогите пожалуйста,и и если не сложно написать коментарии к строчкам кода. Заранее благодарю
Решение задачи: «Написать программу, находящую пару векторов, образующих наименьший угол»
textual
Листинг программы
using System;
namespace ConsoleApplication
{
public struct Vector3D
{
public double X { set; get; }
public double Y { set; get; }
public double Z { set; get; }
public Vector3D(double x, double y, double z) : this() {
this.X = x;
this.Y = y;
this.Z = z;
}
public static double GetAngle(Vector3D v1, Vector3D v2) {
return Math.Acos((v1.X * v2.X + v1.Y * v2.Y + v1.Z * v2.Z) /
(Math.Sqrt(v1.X * v1.X + v1.Y * v1.Y + v1.Z * v1.Z) *
Math.Sqrt(v2.X * v2.X + v2.Y * v2.Y + v2.Z * v2.Z)));
}
}
class Program
{
static void Main(string[] args) {
Vector3D vec1 = new Vector3D(1, 3, 0);
Vector3D vec2 = new Vector3D(2, 1, 0);
Console.WriteLine(Vector3D.GetAngle(vec1, vec2));
}
}
}