Вывести координаты вершин треугольника в порядке обхода по часовой стрелке - C#
Формулировка задачи:
Здравствуйте. Не могли бы вы мне помочь с задачей,а то с геометрией я не очень дружу. Вот сама задача: Заданы координаты вершин треугольника AВС на плоскости. Вывести их в порядке обхода по часовой стрелке (для проверки достаточно рассмотреть знаки внутренних углов).
Заранее спасибо!!!
Решение задачи: «Вывести координаты вершин треугольника в порядке обхода по часовой стрелке»
textual
Листинг программы
public class Program {
public struct Point {
public double x, y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public static Point operator -(Point a, Point b) {
return new Point(a.x - b.x, a.y - b.y);
}
}
public static double WedgeProduct(Point a, Point b) {
return a.x * b.y - a.y * b.x;
}
public static Point ReadPoint() {
Point point = new Point();
point.x = int.Parse(Console.ReadLine());
point.y = int.Parse(Console.ReadLine());
return point;
}
static void Main (string[] args) {
Point a, b, c;
a = ReadPoint();
b = ReadPoint();
c = ReadPoint();
if (WedgeProduct(b - a, c - a) < 0) // сразу были по часовой стрелке
Console.WriteLine("{0} {1}\n{2} {3}\n{4} {5}",
a.x, a.y, b.x, b.y, c.x, c.y);
else // были против часовой
Console.WriteLine("{0} {1}\n{2} {3}\n{4} {5}",
b.x, b.y, a.x, a.y, c.x, c.y);
Console.ReadLine();
}
}