To nie jest tak, że to nie ma sensu, ale po prostu działa niezręcznie w 99% przypadków.
Często w grafice 2D prostokąty są inicjalizowane, przechowywane i przetwarzane jako para punktów. W żadnym konkretnym języku
class Rect:
p1, p2: point
Bardziej sensowne jest zdefiniowanie prostokąta jako dwóch wartości x i dwóch wartości y, takich jak to:
class Rect
xleft, xright: int
ytop, ybottom: int
Z dwoma punktami, jeśli w pewnym miejscu w kodzie źródłowym chcesz użyć wartości y dla góry, musisz powiedzieć rect.p1.y (hmmm, zatrzymaj się i pomyśl, czy to p1 czy p2), ale z czterema wartościami jako zwykłymi elementami danych, jest to jasne i bezpośrednie: rect.ytop (nie wymaga myślenia!) Użycie dwóch punktów oznacza, że w przypadku pionu musisz splątać poziomo; istnieje zależność między niezależnymi elementami.
Jak powstał ten dwupunktowy pomysł i dlaczego się utrzymuje? Czy ma to jakąś zaletę w stosunku do samych współrzędnych xiy?
DODATKOWA UWAGA: To pytanie jest w kontekście wyrównanych prostokątów XY, takich jak menedżery okien i zestawy narzędzi GUI, a nie w kontekście dowolnych kształtów w aplikacji do rysowania i malowania.