资讯详情

风速风向 UV 相互转换

233415f0d842e2996a6a5a10edfdbc19.gif

UV转风速风向

1 double v ;//v分量

2 double u;//u分量

3 double fx= 999.9; //风向

4

5 if (u > 0 & v > 0)

6 {

7 fx = 270 - Math.Atan(v / u) * 180 / Math.PI;

8 }

9 else if (u < 0 & v > 0)

10 {

11 fx = 90 - Math.Atan(v / u) * 180 / Math.PI;

12 }

13 else if (u < 0 & v < 0)

14 {

15 fx = 90 - Math.Atan(v / u) * 180 / Math.PI;

16 }

17 else if (u > 0 & v < 0)

18 {

19 fx = 270 - Math.Atan(v / u) * 180 / Math.PI;

20 }

21 else if (u == 0 & v > 0)

22 {

23 fx = 180;

24 }

25 else if (u == 0 & v < 0)

26 {

27 fx = 0;

28 }

29 else if (u > 0 & v == 0)

30 {

31 fx = 270;

32 }

33 else if (u < 0 & v == 0)

34 {

35 fx = 90;

36 }

37 else if (u == 0 & v == 0)

38 {

39 fx = 999.9;

40 }

41

42 //风速是uv重量的平方和

43

44 double fs= Math.Sqrt(Math.Pow(u, 2) Math.Pow(v, 2));

//通过风速风向 转换为 UV

double fanU = U(FS, FX);

double fanV = V(FS, FX);

private static double U(double dSp, double dWrd)

{

if (dSp < 0)

return 0;

double d0 = 0;

d0 = dSp * Math.Cos((270 - dWrd) * Math.PI / 180);

return d0;

}

private static double V(double dSp, double dWrd)

{

if (dSp < 0)

return 0;

double d0 = 0;

d0 = dSp * Math.Sin((270 - dWrd) * Math.PI / 180);

return d0;

}

标签: usregal风速风向传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司