2015/09/26

星空入門その2

今年も昨年に続き息子の母校で4年生向けのお話をさせて頂きました.この学年になると直接面識がある子が居なくなったなぁ〜と実感.

準備中の図 

なぜ手を挙げているのかは不明

道具(望遠鏡その他),太陽系(惑星),太陽と月というようなお話をしました.2035年皆既日食とか.あとは質問タイム.
・日本では月にうさぎが見えて,中国では蟹というところもあって,何故ですか?
とか.そこを「何故」と聞かれると難しいですねぇ〜質問はあとで纏めるか?と去年も書いてるな...



2015/09/18

オートコレクト(句読点のマジック)

某かの文書と書く時,句読点の形式が指定されることはしばしばだと思います.が,私の場合は「,.」で生活してるので一致しないことがしばしば.ようするに,「、。」が圧倒的に多いですよね.もちろん,業界によって違う指定の場合もありますが.

なんにしても,そのためにFEPの根幹の設定を変更してしまうと作文中にひょいとメールを書く時に違和感が生じます.かといって,とりえあえず「,.」で入力しておいてあとで変換とか思ってると,章番号の後ろに「.」がついてたりして下手に一括変換とかやってしまうと痛い目にあいます.

そこで思いついたのがワードとかで実装されてるオートコレクト!
はっきり言って,まさか自分がオートコレクトをONにする日が来るとは思わなかった.影響を最小限に留めるため,他のオプションを片っ端からOFFにして,「,→、」と「.→。」だけを設定しました.これが結構有効...そんなTipsでした.

もちろん,普段からオートコレクトを使っているなら,「,→、」と「.→。」を追加設定するだけ.

チリ津波で観測された津波高をGnuplotで書いてみた(2)

ちょいちょい修正したので書き直し.その1の続きです.

set zrange [0:5]
set xrange [-180:-20]
set yrange [-65:45]
set ticslevel 0

# 任意の場所に任意の文字(ここでは時刻)を表示
set label '     1416 UTC THU SEP 17 2015' at -180,45,5

set grid

set xlabel 'longitude [^o]'
set ylabel 'latitude [^o]'
set zlabel 'Height [m]' rotate by 90

set view ,330

# unset border
# mxticsの数字は,xticsの間にいくつ点をうつかという意味(間隔ではない)
set xtics 30 out
set mxtics 3
set ytics 30 out
set mytics 3
set ztics border

h1(x)=(x<1)? x:0    # 1mより低い場合を抽出
h3(x)=(x<3)? x:0    # 3mより低い場合を抽出

set term png enh font "Times,18" size 720,720
set output "obs18.png"

./obs.pl obs18.dat はデータ整形スクリプトで lon lat height の数字を出力
splot   "world_10m.txt"        u 1:2:(0)       w lines   lt -1 lw 0 notitle \
, "< ./obs.pl obs18.dat" u 1:2:3         w impulse lt  7 lw 3 t  '3m<=' \
, ""                     u 1:2:(h3($3)) w impulse lt  4 lw 3 t '<3m    ' \
, ""                     u 1:2:(h1($3)) w impulse lt  6 lw 3 t '<1m    '

unset output


これを
% convert -delay 100 obs*.png obs.gif
でgifアニメーション化
(東経と西経を別々に作成してmontageで連結しています)

2015/09/17

チリ地震津波で観測された津波の高さをGnuplotで書いてみた

2015年9月17日7時54分頃にチリで発生した地震で観測された津波の高さをgnuplotで書いてみました.

データ (obs2.dat)
# lat    lon     m
-26.4  -70.6 1.09
-25.4  -70.5 0.25
-36.7  -73.1 0.42
-20.5  -73.4 0.06
-26.3  -80.1 0.50
-33.0  -71.6 1.62
-33.6  -78.8 0.97
-30.0  -71.3 3.11
-34.6  -72.0 0.46
-27.1  -70.8 0.50
-33.6  -71.6 0.86
-26.7  -74.0 0.12

# CHANARAL CL          26.4S  70.6W    0043   1.09M/ 3.6FT  30
# TALTAL CL            25.4S  70.5W    0018   0.25M/ 0.8FT  38
# TALCAHUANO CL        36.7S  73.1W    0020   0.42M/ 1.4FT  84
# DART 32401           20.5S  73.4W    0020   0.06M/ 0.2FT  48
# SAN FELIX CL         26.3S  80.1W    0019   0.50M/ 1.6FT  06
# VALPARAISO CL        33.0S  71.6W    2350   1.62M/ 5.3FT  40
# JUAN FERNANDEZ       33.6S  78.8W    0008   0.97M/ 3.2FT  08
# COQUIMBO CL          30.0S  71.3W    2339   3.11M/10.2FT  20
# BUCALEMU CL          34.6S  72.0W    2334   0.46M/ 1.5FT  24
# CALDERA CL           27.1S  70.8W    2343   0.50M/ 1.6FT  30
# SAN ANTONIO CL       33.6S  71.6W    2358   0.86M/ 2.8FT  18
# DART 32402           26.7S  74.0W    2326   0.12M/ 0.4FT  36

world_10m.txt は,昔の記事でも使わせて頂いたGnuplot Tips集経由でダウンロードしたものを利用しています.スクリプトは,同じくGnuplot Tips集の3次元棒グラフのページを参考(いや,コピペして修正しただけです)にさせて頂きました.ただし,borderを消しちゃうとどこだか分からなくなっちゃうので,水平面(座標が書かれる面)の位置の変更を参考にticslevelを0にしてxyplaneに地図(z=0)が入るようにしています.

set zrange [0:*]
set xrange [-110:-20]
set yrange [-55:35]
set ticslevel 0

# unset border
set xtics 30
set ytics 30
set ztics border

h1(x)=(x<1)? x:0  # 1mより低い場合を抽出
h3(x)=(x<3)? x:0  # 3mより低い場合を抽出

set term png enh font "Times,18" size 720,720
set output "obs1.png"

splot   \
"world_10m.txt" using 1:2:(0)       w lines   lt -1 lw 0 notitle \
, "obs2.dat"      using 2:1:3         w impulse lt  7 lw 3 t  '3m<=' \
, ""              using 2:1:(h3($3)) w impulse lt  4 lw 3 t '<3m    ' \
, ""              using 2:1:(h1($3)) w impulse lt  6 lw 3 t '<1m    '
unset output

上記のスクリプトで書いたのがこれです.



(補足)
splotで3次元プロットをする場合,xy平面(xyplane)はz軸の適度なところに割り当てられるそうです.それは,以下の式で定められるそうです.

ticslevel = (xyplaneのz座標 - z軸の最小値) / (z軸の最小値 - z軸の最大値)

ここで,xyplaneのz座標が設定したい位置ですね.ticslevelはデフォルトでは0.5になっているので,z軸の最小値より下になります.z軸の最小値にしたい場合は ticslevel=0で出来るようです.

(追記1)
第6報でプロットしなおしました(余り変わったように見えませんが点が増えてます).
(追記2)
第7報で再プロットです.
set view ,240
でz軸周りに回転して太平洋からの視点に変更しました.

おまけで,軸ラベルも付けています.
set xlabel 'longitude [^o]'
set ylabel 'latitude [^o]'
set zlabel 'Height [m]' rotate by 90


2015/09/07

メールの送信を取り消す方法

メールの誤送信って,送信ボタンを押した直後,いや,その瞬間に気付く時って多いですよね?でも,メールの仕組み上一度メールサーバに送られてしまった(中継のメールサーバであっても)瞬間に,取り消しは不可になります.
が,GMailのウェブメール(IMAPとかはダメ)に,

「送信取り消し機能」

が実装されました!設定できる取り消し可能時間は,5,10,20,30秒.5秒でもいいけど,電子メールで秒単位でやりとりすることは少ない(その場合はチャットする)ので,私は30秒に設定しました.


なお,取り消した場合,そのメールはちゃんと下書きに戻りますのでご安心を.

設定方法:あ!メールを間違えた… そんなときに送信を取り消す機能が Gmail にあります。

ショートカットキーを有効にしている場合は,他の取り消しと同じで z で送信を取り消すことが出来ます.