No es que esto no tenga sentido, pero simplemente funciona de manera incómoda el 99% del tiempo.
A menudo, en los 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 x y dos valores y, como este:
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, debería 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 es necesario pensar!) El uso de dos puntos significa que al tratar con la vertical, hay que enredar la horizontal; hay una relación extraña entre elementos independientes.
¿Cómo surgió esta idea de dos puntos y por qué persiste? ¿Tiene algún beneficio sobre las coordenadas X e Y?
NOTA AGREGADA: esta pregunta se encuentra en el contexto de rectángulos alineados con X-Y, como en los administradores de ventanas y los kits de herramientas de GUI, no en el contexto de formas arbitrarias en la aplicación de dibujo y pintura.