AMII: Formula cos(a-b)

Aplicație Multimedia de Învățare • Secretul vederii în Jocurile Video și Informatică

📐 Identitatea Fundamentală

Una dintre cele mai importante formule din trigonometrie, pe care se bazează o mare parte din geometria analitică, este formula cosinusului diferenței a două unghiuri:

cos(a - b) = cos(a)cos(b) + sin(a)sin(b)

Deși la prima vedere pare doar un exercițiu de memorare algebrică, această formulă ascunde definiția Produsului Scalar (Dot Product) a doi vectori, un concept fără de care informatica grafică nu ar putea exista.

💻 Aplicația din Informatică: Câmpul Vizual (Field of View)

Să ne imaginăm că programezi inteligența artificială (AI) a unui inamic într-un joc video. Inamicul stă într-un punct pe hartă și privește într-o anumită direcție (să spunem că direcția privirii sale formează un unghi a cu axa orizontală). Personajul jucătorului se află într-o altă direcție (unghiul b).

Cum decide rapid calculatorul dacă inamicul îl "vede" pe jucător? Ar fi prea complicat și lent să traseze linii pentru fiecare cadru al jocului. Aici intervine magia formulei cos(a-b)!

  1. Calculatorul definește vectorul privirii inamicului: v1(cos a, sin a).
  2. Calculatorul definește vectorul direcției către jucător: v2(cos b, sin b).
  3. Înmulțește coordonatele (x cu x și y cu y) și le adună: cos(a)cos(b) + sin(a)sin(b).

Conform formulei, rezultatul acestui calcul este exact cos(a-b), unde (a-b) este unghiul dintre inamic și jucător. Dacă rezultatul este apropiat de 1 (de exemplu > 0.7), înseamnă că unghiul este mic, iar jucătorul se află direct în câmpul vizual al inamicului. Boom! Inamicul atacă!

🎨 Ilustrație: Detecția Câmpului Vizual (FOV)

Inamic Privire (Unghi a) a Jucător (Unghi b) b a - b

Dacă valoarea cos(a-b) obținută din înmulțirea coordonatelor este suficient de mare, calculatorul știe că unghiul dintre inamic și jucător este mic, deci jucătorul a fost observat.