blob: 4597a3ad565bbd71638db29d434ebcafc7414cd5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include "mathroutines.h"
#include "math.h"
double rectToAngle(double x,double y)
{
double phi=0;
if(fabs(x)<1e-6)
{
if(y>0)
phi=M_PI_2;
else
phi=-M_PI_2;
}
else
{
phi=atan(y/x);
if(x<0)
phi+=M_PI;
}
if(phi>M_PI)
phi-=2*M_PI;
return phi;
}
double average(double phi1,double phi2)
{
return phi2+difference(phi1,phi2)/2.0;
}
double difference(double phi1,double phi2)
{
double dif;
dif=phi1-phi2;
while(dif>M_PI)
dif-=2*M_PI;
while(dif<-M_PI)
dif+=2*M_PI;
return dif;
}
|