Bukannya ini tidak masuk akal, tetapi hanya berhasil 99% dari waktu canggung.
Seringkali dalam grafik 2D persegi panjang diinisialisasi, disimpan dan dimanipulasi sebagai sepasang titik. Dalam bahasa tertentu,
class Rect:
p1, p2: point
Lebih masuk akal untuk mendefinisikan persegi panjang sebagai dua nilai x dan dua nilai y, seperti ini:
class Rect
xleft, xright: int
ytop, ybottom: int
Dengan dua poin, jika di suatu tempat dalam kode sumber Anda ingin memanfaatkan nilai y dari atas, Anda harus mengatakan rect.p1.y (hmmm, berhenti dan pikirkan, apakah p1 atau p2) tetapi dengan empat nilai sebagai anggota data biasa, itu jelas dan langsung: rect.ytop (tidak perlu berpikir!) Penggunaan dua titik berarti bahwa dalam berurusan dengan vertikal, Anda harus kusut horizontal; ada hubungan yang asing antara unsur-unsur independen.
Bagaimana gagasan dua poin ini muncul dan mengapa itu bertahan? Apakah ada kelebihan dibandingkan koordinat bare x dan y?
CATATAN TAMBAHAN: Pertanyaan ini dalam konteks persegi panjang yang disejajarkan XY, seperti pada manajer jendela dan perangkat GUI, bukan dalam konteks bentuk sewenang-wenang dalam menggambar dan melukis aplikasi.