Даны два прямоугольника. Первый прямоугольник задан координатами левой нижней вершины (0; 0) и правой верхней – (W; H) (W > 0 и H > 0) в прямоугольной системе координат, а стороны этого прямоугольника параллельны осям координат. Второй прямоугольник полностью располагается внутри первого и имеет ширину RW и высоту RH, а его стороны также параллельны осям координат. Определите координаты верхней левой и нижней правой вершин второго прямоугольника, если точки пересечения диагоналей обоих прямоугольников совпадают.
Объясните свой ответ
Answers & Comments
// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018
begin
var (w, h) := ReadInteger2('w,h->'); // точка (w;h)
var (ox, oy) := (w / 2, h / 2); // находим координаты цента (0;0) и (w;h)
(w, h) := ReadInteger2('rw,rh->'); // ввод RW и RH
Println($'Координаты левой верхней вершины ({ox+h/2};{oy-w/2})'); // - половина высоты прибавляется и половина ширины вычитается
Println($'Координаты правой нижней вершины ({ox-h/2};{oy+w/2})'); // - половина ширины прибавляется и половина высоты вычитается
end.
Если моя математика не подводит, то должно быть верно.