De ce contează?
Pe o hartă a orașului spui „strada 3, casa 5” și oricine găsește locul exact. Sistemul
cartezian face același lucru pentru plan: două numere, x și y, fixează fără echivoc
orice punct. E adresa unui punct în plan.
Ce este sistemul cartezian
Sistemul de coordonate cartezian are două axe perpendiculare:
- Ox — axa orizontală (abscisa, coordonata
x); - Oy — axa verticală (ordonata, coordonata
y).
Se intersectează în origine, punctul (0, 0). Orice punct e descris de o pereche
(x, y): cât de la dreapta/stânga și cât sus/jos față de origine.
Ordinea contează: (3, 5) și (5, 3) sunt puncte diferite. Primul număr e mereu x
(orizontal), al doilea e y (vertical).
Cadranele și axele
Axele împart planul în patru cadrane, după semnele lui x și y:
| Cadran | Semnul lui x | Semnul lui y | Exemplu |
|---|---|---|---|
| I | + | + | (3, 2) |
| II | − | + | (−3, 2) |
| III | − | − | (−3, −2) |
| IV | + | − | (3, −2) |
Punctele speciale: pe Ox au y = 0, pe Oy au x = 0, iar originea are ambele 0.
Câteva puncte și pozițiile lor:
| punct | (3 | 2) | (-3 | 2) | (-3 | -2) | (3 | -2) | (0 | 0) |
| zona | I | II | III | IV | O |
Reprezentarea în C++
Cel mai curat e o structură:
#include <iostream>
using namespace std;
struct Punct {
int x, y;
};
int main() {
Punct p = {3, 5};
cout << p.x << " " << p.y << endl; // 3 5
// mai multe puncte intr-un vector
Punct v[3] = {{0, 0}, {-3, 2}, {4, -1}};
for (int i = 0; i < 3; i++) {
cout << "(" << v[i].x << "," << v[i].y << ") ";
}
return 0;
}Pentru coordonate care pot fi mari (până la 10⁹) folosește long long, mai ales când le
ridici la pătrat (la distanțe) — produsul depășește repede int.
Complexitate
| Operație | Timp | Spațiu |
|---|---|---|
| Citire / stocare un punct | O(1) | O(1) |
Citire n puncte | O(n) | O(n) |
Confuzii frecvente:
- Inversezi x cu y. Primul e abscisa (orizontal), al doilea ordonata (vertical).
(3,5)≠(5,3). - Greșești cadranul după semne. Verifică tabelul: cadranul II e (−,+), nu (+,−).
- Uiți punctele de pe axe. Un punct cu
y = 0nu e în niciun cadran — e pe axa Ox. - Folosești
intpentru coordonate mari. La 10⁹, pătratul depășeșteint; trece pelong long.
Recapitulare
- Un punct se descrie prin
(x, y): x orizontal (Ox), y vertical (Oy), origine la (0,0). - Semnele lui x și y dau cadranul; punctele cu o coordonată 0 sunt pe axe.
- În cod, ține un punct într-o structură cu
xșiy; foloseștelong longla coordonate mari.