日々適当

hibitekitou

正距方位図法に変換

xsi |2015-07-07
地図の中心からの各地点への距離と方向が正しくなるという図法で、日本地図[国土地理院]だと北緯35度39分29秒、東経139度44分29秒という位置が中心(主点)となるようです。

CG上で地球のテクスチャとしてよく使われる正距円筒図法は、経度、緯度をそれぞれx座標、y座標に読み替えたものの為、緯度経度位置の情報(分かりやすいのは標高とか)から作図しやすい反面、既存の地図に重ね合わせるには、図法の変換をせねばなりません。で、その変換をせねばならない用事が生まれましてね。やってみるわけです。

欲しいのは数式なんですけど、正距方位図法で検索してもなかなか該当する物が見つからず、azimuthal equidistant projectionで検索したら

Azimuthal Equidistant Projection [Wolfram MathWorld]

というドンピシャなページが引っかかりました。φとλはそれぞれ緯度、経度に相当する値で、それをx,yに変換したり、x,yから緯度・経度を求める式も載っています。すばらしいです。ということで、これを単純に実装するだけででき上がりました。

緯度・経度が-z座標、x座標になっているメッシュに対して適用します。
import math

app = Application
log = app.Logmessage

oObj = app.Selection(0)

pntPosArr = oObj.ActivePrimitive.Geometry.Points.PositionArray

newPosArr = [[],[],[]]

phi1 = XSIMath.DegreesToRadians(35.658056)
lamda0 =  XSIMath.DegreesToRadians(139.741389)

for i in range(len(pntPosArr[0])):
	phi = XSIMath.DegreesToRadians(-pntPosArr[2][i]) #latitude
	lamda = XSIMath.DegreesToRadians(pntPosArr[0][i]) #longitude
	
	c = math.acos( math.sin(phi1) * math.sin(phi) + math.cos(phi1) * math.cos(phi) * math.cos(lamda - lamda0) )
	
	k = c/math.sin(c)
	
	x = k * math.cos(phi) * math.sin(lamda - lamda0)
	z = k * (math.cos(phi1) * math.sin(phi) - math.sin(phi1) * math.cos(phi) * math.cos( lamda - lamda0 ))
	
	newPosArr[0].append( x )
	newPosArr[2].append( -z )
	newPosArr[1].append( 0.0 )
	
oObj.ActivePrimitive.Geometry.Points.PositionArray = newPosArr




上図の色がついている範囲の板(センターは原点にある)に適用すると



となる。見やすくするために明るさを持ち上げてあります。
形状も、冒頭にリンクを貼った日本周辺にほぼあっているかな、と思いますです、はい。
コメント ( 0 )|Trackback ( )

Mac miniはさっさとモデルチェンジをして欲しい

mac |2015-07-07
Mac miniから4コアマシンが消えて9ヶ月程でしょうか。現行はLate 2014という呼ばれ方がされていますけど、今更Late 2012モデルを比較的高値で取引されている中古で買おうという気にもなりません。

Mac mini (Late 2014)に搭載されるCPUのスペックとCPU Markスコアまとめ。 [Appleちゃんねる] によるとLate 2014に搭載されているCPUのTDPは最下位をのぞいて28Wだそうです(Late 2012は45Wであったらしい)。第4世代のCPUにTDPが45Wにおさまる4コアのものって1個しかラインナップされていないようで、しかもたしかこれはLate 2014登場時には無かったものだと思います。個人的にはこれが4コアが搭載されなかった理由じゃないかと思っていますが、実際のところは分かりません。

んで、第五世代のIntel CPUの登場が遅れ、ちょっと前にそれがリリースされたばかりな印象なんだけど、来月、もう第六世代のCPU(Skylake-S)のリリースが始まるそうです。まぁ最初にリリースされる物は比較的高いスペックの物らしくTDP高めですが、9月にノート向け(Skylake-H)やさらに省電力機器向けのものが出てきそうなのだそうです。
問題はそのノート向けのものの噂されるTDPが45W~95Wってことで、現在のMac miniのデザインで乗るのかなぁ…という心配がありますな。筐体がちょっと大きくなってもいいから、4コアのMac miniの復活を切望している昨今です。
コメント ( 0 )|Trackback ( )
  ・