#include<bits/stdc++.h> #define ll long long // input: 2 vectors (a1, a2) and (b1, b2) // output: angle between 2 vectors (unit: degree) double angle_2_vector(double a1, double a2, double b1, double b2) { // PI = 2 * acos(0); // dot product double dot = a1*b1 + a2*b2; // product of length double plen = sqrt(a1*a1 + a2*a2) * sqrt(b1*b1 + b2*b2); // cos of angle double cos_angle = dot / plen; // cout << "cos: " << cos_angle << endl; // angle double angle = acos(cos_angle) * 180.0 / PI; return angle; }
#include<bits/stdc++.h> #define ll long long // input: 2 vectors (a1, a2, a3) and (b1, b2, b3) // output: angle between 2 vectors (unit: degree) double angle_2_vector(double a1, double a2, double a3, double b1, double b2, double b3) { // PI = 2 * acos(0); // dot product double dot = a1*b1 + a2*b2 + a3*b3; // product of length double plen = sqrt(a1*a1 + a2*a2 + a3*a3) * sqrt(b1*b1 + b2*b2 + b3*b3); // cos of angle double cos_angle = dot / plen; // cout << "cos: " << cos_angle << endl; // angle double angle = acos(cos_angle) * 180.0 / PI; return angle; }