"Косой" квадрат. C#. Методы тема. Не работает код,поможете?
"Косой" квадрат. У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек А и С. Найти координаты точек В и D. Примечание. Расположение квадрата произвольно; его стороны не обязательно параллельны координатным осям.
using System;
using System.Drawing;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
/// <summary>
/// Получение неизвестных вершин квадрата по известным вершинам диагонали
/// </summary>
/// <returns></returns>
static PointF[] GetSquareVertices(PointF A, PointF C)
{
var result = new PointF[] { PointF.Empty, PointF.Empty };
//середина отрезка
var m = new PointF((C.X + A.X) / 2, (C.Y + A.Y) / 2);
//перенос начала координат в середину отрезка
A = new PointF(A.X - m.X, A.Y - m.Y);
C = new PointF(C.X - m.X, C.Y - m.Y);
//B. Перпендикуляр к MC от Oy к Ox
result[0] = new PointF(-C.Y + m.X, C.X + m.Y);
//D. Перпендикуляр к MC от Ox к Oy
result[1] = new PointF(C.Y + m.X, -C.X + m.Y);
return result;
}
}
}
}