No es que esto no tenga sentido, pero simplemente resulta incómodo el 99% del tiempo.
A menudo, en gráficos 2D, los rectángulos se inicializan, almacenan y manipulan como un par de puntos. En ningún idioma en particular,
class Rect:
p1, p2: point
Tiene más sentido definir un rectángulo como dos valores xy dos valores y, así:
class Rect
xleft, xright: int
ytop, ybottom: int
Con dos puntos, si en algún lugar del código fuente desea utilizar el valor y de la parte superior, tendría que decir rect.p1.y (hmmm, deténgase y piense, es p1 o p2) pero con los cuatro valores como miembros de datos simples, es claro y directo: rect.ytop (¡no se requiere pensar!) El uso de dos puntos significa que al tratar con la vertical, debe enredar la horizontal; Hay una relación extraña entre los elementos independientes.
¿Cómo surgió esta idea de dos puntos y por qué persiste? ¿Tiene algún beneficio sobre las coordenadas x e y desnudas?
NOTA AGREGADA: Esta pregunta está en el contexto de rectángulos alineados XY, como en los administradores de ventanas y los kits de herramientas GUI, no en el contexto de formas arbitrarias en la aplicación de dibujo y pintura.