Не то, чтобы это не имело смысла, но это работает неловко в 99% случаев.
Часто в 2D-графике прямоугольники инициализируются, сохраняются и управляются как пара точек. Ни на каком конкретном языке,
class Rect:
p1, p2: point
Имеет смысл определить прямоугольник как два значения x и два значения y, например:
class Rect
xleft, xright: int
ytop, ybottom: int
С двумя точками, если в каком-то месте исходного кода вы хотите использовать значение y верхней части, вы должны будете сказать rect.p1.y (хммм, остановитесь и подумайте, это p1 или p2), но с четырьмя значениями в качестве простых элементов данных это ясно и понятно: rect.ytop (не нужно думать!) Использование двух точек означает, что при работе с вертикалью вам необходимо запутать горизонталь; есть посторонняя связь между независимыми элементами.
Как возникла эта двухточечная идея и почему она сохраняется? Есть ли у него преимущество над голыми координатами x и y?
ДОБАВЛЕННОЕ ПРИМЕЧАНИЕ: Этот вопрос относится к прямоугольникам, выровненным по XY, таким как диспетчеры окон и наборы инструментов GUI, а не к контексту произвольных фигур в приложении для рисования и рисования.