"Косой" квадрат. 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;
            }
        }
    }
}

Ответы (0 шт):