Код на Java, Q - Stack точек. Непонятно (код не мой, препод дал), что такое turnsLeft. Вроде какой-то поворот одного вектора относительно другого, но непонятно. Что делает этот метод?
Point p2 = Q.Pop();
Point p1 = Q.Pop();
Point p0 = Q.Pop();
Vector p0p1 = new Vector(p1.X - p0.X, p1.Y - p0.Y);
Vector p1p2 = new Vector(p2.X - p1.X, p2.Y - p1.Y);
if (p0p1.turnsLeft(p1p2))
{
Q.Push(p0);
Q.Push(p1);
Q.Push(p2);
}
(26.11)Есть ли аналог на C#?
Нарисуйте на бумаге три точки и проведите отрезки от первой ко второй и от второй к третьей. Получилась эдакая дорожка - полилиния.
Функция turnsLeft() проверяет (скорее всего, с использованием знака векторного произведения), в какую сторону поворачивает полилиния в средней точке при движении от первой к последней. Если влево, то две последних точки меняются местами.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости