注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿弥陀佛

街树飘影未见尘 潭月潜水了无声 般若观照心空静...

 
 
 

日志

 
 
关于我

一直从事气象预报、服务建模实践应用。 注重气象物理场、实况场、地理信息、本体知识库、分布式气象内容管理系统建立。 对Barnes客观分析, 小波,计算神经网络、信任传播、贝叶斯推理、专家系统、网络本体语言有一定体会。 一直使用Java、Delphi、Prolog、SQL编程。

网易考拉推荐

scala 填充椭圆  

2015-04-23 23:25:42|  分类: Scala |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
val gdCtl = Array.fill[Byte](nAlt, nLat, nLon)(0)
val f = Future {
fillGridControl
}

def fillGridControl = {
val tan05 = (Math.tan(0.5.toRadians) * 1000)
val lat_bound_left_idx = altLevels.map(f => if (f < 3000) (f / tan05).toInt else (nLat / 2).toInt)
val lon_bound_left_idx = altLevels.map(f => if (f < 3000) (f / tan05).toInt else (nLon / 2).toInt)
val nLat2: Int = nLat / 2
val nLon2: Int = nLon / 2
def isInCircle(i: Int, j: Int, ra: Int, ro: Int): Boolean = {
val i2: Float = (i - nLat2) * (i - nLat2)
val j2: Float = (j - nLon2) * (j - nLon2)
val ra2 = ra * ra
val ro2 = ro * ro
((i2 / ra2) + (j2 / ro2)) <= 1
}
for (k <- (0 until nAlt).par) {
val ra = lat_bound_left_idx(k)
val ro = lon_bound_left_idx(k)
for (i <- (0 until nLat).par;
j <- (0 until nLon)
if (isInCircle(i, j, ra, ro))
) {
gdCtl(k)(i)(j) = 1
}
}
}
  评论这张
 
阅读(236)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017