0-360表示:
用角度表示风向,是把圆周分成360度,北风(N)是0度(即360度),东风(E)是90度,南风(S)是180度,西风(W)是270度,其余的风向都可以由此计算出来。
private function getWind(u:Number,v:Number):Class { var c:Class=icon0; var angle:Number = Math.atan2(u,v); var angles:Number= angle*180/Math.PI; if(angles<0) { angles=angles+360; } if(angles>=15&&angles<45) { c=icon30 } else if(angles>=45&&angles<75) { c=icon60 } else if(angles>=75&&angles<105) { c=icon90 } else if(angles>=105&&angles<135) { c=icon120 } else if(angles>=135&&angles<165) { c=icon150 } else if(angles>=165&&angles<195) { c=icon180 } else if(angles>=195&&angles<225) { c=icon210 } else if(angles>=225&&angles<255) { c=icon240 } else if(angles>=255&&angles<285) { c=icon270 } else if(angles>=285&&angles<315) { c=icon300 } else if(angles>=315&&angles<345) { c=icon330 } else { c=icon0 } return c; }
U和V表示:
U是东西风上的分量,西风为正。V是南北风上的分量,南风为正。
if(u>=0&&v>=0) { r='西南风'; } else if(u<=0&&v>=0) { r='东南风'; } else if(u>=0&&v<=0) { r='西北风'; } else if(u<=0&&v<=0) { r='东北风'; }