HJKLとかWASDとか

キーボードにカーソルキーがある。

普通は上下左右の移動はこれでするが、必ずしもそうでないところがある。


と言われて僕は HJKL を思い浮かべた。

HJKL はviの上下左右の移動に使われていて、Hが左・Jが下・Kが上・Lが右に相当する。

最近のキーボードはカーソルがあるから必ずしもこのコマンドに頼ることはない。

ただ昔はどうもカーソルキーがなかったらしく、このコマンドで移動していたらしい。

今でもホームポジションから手を離さず移動できるなどハッカーから人気があるらしいがはて。

ただ、カーソルキーで出来なくてhjklでできることというのもある。

viでは数字+コマンドで数字の回数分そのコマンドを実行することをする。

ここで10jとすれば10行下へ進み、5lで5文字右に進むなどできる。これは有用ですね。


しかしあんまり一般的ではないのかなとも思う。

どちらかというと WASD なのかなと。

これはある種のPCゲームでよく使われているものらしい。

Wが上・Aが左・Sが下・Dが右だが、カーソルキーのような配置だけどちょっとずれているしなぜわざわざこれを使うのだろうか。

ちょうど弟がこの事情に明るかったので聞いてみると、

Ctrl・Shift・Altなどと組み合わせて左手で操作出来るから重宝されているらしい。

そして空いた右手はマウスへ、というわけでそれなりに合理的な理由があるらしい。


特定のソフトウエアでしか使えないけど、いろいろな理由があって使われているようだ。

本来文字を打つためにたくさんキーがあるから、いろいろな機能を割り振ることができるのは確か。

もちろんこうして移動に用いるとなれば、文字の入力には使えない。

ゲームならそれはあんまり問題ではないだろうし、viではモードを切り替えてこれに対応している。

まぁマウスといういい入力装置があるから、あんまりキーボードばかりに頼ることもないのだけど、こういう風に使われてるようで。

延暦寺へお出かけ

今日はスルッとKANSAI 3dayチケットで比叡山にお出かけしてきた。

そもそも今回スルッとKANSAI 3dayチケットを買った最大の動機が比叡山ですね。

去年に両親が比叡山に行ってきた話を聞いて、ほー、と思ってね。


比叡山というと延暦寺だな。

延暦寺というのはお参りするのも厄介なお寺である。

というのも東塔(とうどう)・西塔(さいとう)・横川(よかわ)の3地区に分散してお堂とかがあるから。

坂本ケーブルやバスでたどりつくのは東塔だけど、さらにその奥にあるわけだ。

西塔と東塔の間は離れているけど徒歩20分ぐらいで移動できて途中にお堂もある、なので連続して巡拝することもできる。

けど横川はかなり離れていて、東塔から徒歩で100分以上とか書いてあるからとんでもない。

というわけで山内の移動のために京阪バスがシャトルバスを概ね30分間隔で走らせている。

なのでこれで移動すればいいのだけど、さすがに横川は往復バスに頼らざる得ないので計画が立てにくかった。

というわけで坂本ケーブルで上がったらバスで西塔に移動して、そこから東塔に向けて巡拝することにした。


というわけで京阪京津線・石山坂本線を乗り継いで坂本へ。

坂本は延暦寺の門前町で、少し異様な風景ではある。

ところで延暦寺の所在地は大津市なんですね。京都市のように思うけど実はそうではない。

延暦寺が坂本に属することを選んだからこうなったそうで、今も引き継がれて大津市に属している。

まぁそういうことからすれば坂本から延暦寺に向かうのはよいルートではある。本数もわりに多いし、降りたらちょっと歩けば東塔だし。

ここからケーブルカーで上がる。スルッとKANSAI 3dayチケットで乗れるけど、普通運賃は片道840円もする。

「長さも、眺めも、日本一」と言ってるが、ものすごい絶景でしたね。


ケーブルカーから降りたらゴーンと鐘の音がしている。

後でわかったのですがこれは一突き50円で誰でもつける鐘のようです。

が、森にかこまれた中にお堂が見えていて鐘の音がしているとなれば、とんでもないところに来たなと感じるわけである。

さてとりあえず最初に山内シャトルバスで西塔へ移動。

ところで比叡山へは比叡山ドライブウェイという道が通じている。

自家用車でこの道を通ってお参りするのはわりにおすすめである。

というのもさっき書いたとおり東塔・西塔・横川に分散しているから、これらを相互に移動するには自動車が一番いいと。

バスもあるけど30分間隔で融通が利きにくい。

西塔に到着したら巡拝料を支払う。3dayチケットの割引で500円、これで東塔・西塔・横川いずれも回れる。


さて、延暦寺というのは多くの人が修行をしたところである。

法然上人800年大遠忌・親鸞聖人750年大遠忌という横断幕があったけど、

これは浄土宗を開いた法然上人、浄土真宗を開いた親鸞聖人ともに延暦寺で修行をしたという経緯によるものだそうだ。

日本の仏教のかなりのルーツがこの延暦寺にあると言ってもよいのかもしれない。

最初に降り立った西塔は法然上人が修行をしたところらしく、そのことが紹介されていた。

他のところにもそういう紹介がありましたね。

と歩いてたら、西塔のにない堂のところに「修行中につき立ち入り禁止」と表示があった。今日もお坊さんは修行をしているようだ。


ところでいろいろ見ていると「一隅を照らす」と書かれているものがやたらとある。

なんのこっちゃというわけだが、これは伝教大師(最澄)が残した言葉によるもの。

ちょうど巡拝券の裏に書いてありますね。

国宝とは何物ぞ、宝とは道心なり、道心ある人を名付けて国宝となす。故に故人の言く径寸十枚是れ国宝に非ず、一隅を照すもの此れ即ち国宝なりと。

宝石とかそういうのが国宝じゃなくて、社会の一隅で社会を照らす人こそが国宝なんだよという意味である。

そんな「一隅を照らす」人になりましょうということですね。

これは我々の生活の指針としては非常によいものではないかなと思った。


3時間ほど滞在して、復路のバスに乗ろうとおもったが、少しバスの時間まであるからバスの始発地点の比叡山頂までバスで行ってみた。

着席目当てですね。結果的には正解で延暦寺バスセンターから乗り込んでくる人多数で、立ち客がでるぐらいだった。

山頂から見るとずいぶん高いところにきたものだなと。ちなみに八瀬へのケーブルカーに乗るには山頂からロープウェイに乗る。

帰りのバスは比叡山ドライブウェイを下っていくわけだけど、雲の中を走っていくようだった。

出町柳駅に定時に到着した。バスは800円だけど、3dayチケットで乗れる。

八瀬へのケーブルは3dayチケット使えないので京都市内へはこのバスがお得、ただし本数は少ないが。


少々雨にも見舞われてそのたびにかっぱを出すはめになったものの、

非常に有意義な旅行になったんじゃないかと思う。あそこはいいところだ。

山の向こうの神戸市の乗り物

昨日は神戸に三田経由で神鉄に乗って行った。

神戸というと海のイメージがあるが、実際には北区・西区などはまさに山の中というべきものである。

こんなところが神戸市と思うかも知れないけど、海側は六甲山地にぶつかるから、どうしても住める土地が少ない。

そこで山の中が開発されて、そこに人が山ほど住んでると。

神戸市で人口の多い行政区1位が西区・2位が北区ですからね。

その北区・西区などを走っているのが神戸電鉄で、山登りする通勤電車だとか言われている。


というわけで三田からウッディタウン中央行きに乗る。

フラワータウン・ウッディタウンと三田駅を結ぶ列車で、あまり神戸とは関係なくて三田でJRに乗り換えるのがメインらしい。

横山へ戻ってきてここから三田から来た新開地行きに乗る。

神鉄道場から神戸市内だけどこのあたりから団地が見えてくる。岡場駅のあたりとか大きな団地があったしなぁ。

森の中を走っては団地、とそんなの繰り返し。

有馬口で有馬温泉行きの電車に乗り換えて少し寄り道。神戸市とは思えん景色だった。ここも神戸市北区。

そして鈴蘭台駅あたりから急な斜面をゆっくりと下っていく。なるほど確かに山登りする通勤電車なわけだ。

そして終点新開地へ到着した。


ところで神鉄の経営状況というのはいまいちよくないらしい。

沿線に人は住んでるのに利用状況がよろしくないと。

なんでかというとバスがかなり強力なライバルとなってるからですね。

丸山駅・鵯越駅のあたりではJR神戸駅行きの市バスが走っていて、市バスは200円均一なので人気があるらしい。

粟生線沿線では神姫バスの西脇急行線・恵比須快速線が新神戸トンネル・阪神高速経由で走っている。

神鉄は新開地までしか行かないから三宮へは乗り換えがいるし、運賃はバスの方が安いなどなにかと有利。

箕谷駅・山の街駅のあたりでは新神戸トンネル経由で三宮に行く市バスが走っている。ショートカットしてるから早くて安い。

フラワータウン・ウッディタウンからは神姫バスがJR新三田駅へ行くバスや、三宮へ行く特急バスを走らせている。

などなど、主には運賃の高さからバスを利用する人も多いんだと。なにかと悩みは多い。


神戸海洋博物館の見学のスタートが早かったこともあって、2時間ぐらい時間が余ったのでその時間で、

新神戸トンネル経由の市バス64系統で三宮から箕谷駅まで乗ってみることにした。

ミント神戸のあたりに乗り場がある。行くとバスが停まってて乗ったらじきに発車した。

実はこのバス本数がおおくて毎時5本ぐらい走ってる。神鉄が毎時4本だからむしろ多いぐらい。

新神戸駅方面にフラワーロードを走り新神戸トンネルに入った、とおもったらトンネルに入る直前に新神戸駅前のバス停が。

ここでお客さん数人乗せて新神戸トンネルへ。立ち客いるけどそんなのおかまいなしでトンネルを走る。

そしてトンネルを抜けたら、箕谷駐車場というP&R用の駐車場があって、次が箕谷駅前、ここまでたった20分である。

このバスはこの先神戸北町という団地へ向かって走っていく。団地直結も人気の秘訣。

運賃は3dayチケットだから払ってないけど430円らしい。

新開地経由で三宮まで550円、阪神三宮まで乗り換え入れて35分ぐらいで、家の前から乗れるとなればそりゃバスが流行るわなって。


その後神鉄で谷上駅に行って、谷上駅から北神急行で三宮に戻ってきた。

北神は神鉄のショートカットルートというべきもので、地下鉄西神・山手線と直通して谷上-三宮をたった10分で結んでいる。

むちゃくちゃ速いが、運賃もむちゃくちゃ高くて、谷上~新神戸で350円もする。

これでも1999年に値下げされてこの値段になったのであって、開業当初はなんと430円。なんてこったい。

谷上まで神鉄、新神戸から地下鉄に乗るとなるとその運賃がそれぞれ必要で、例えば有馬温泉~三宮は900円もする。

新開地経由なら690円というから相当である。そのかわり新開地経由だと50分かかるところが30分切るぐらいで行ける。

そう考えると価値はあるのかもしれないけど、まぁ高いね。


神戸市というと海側のイメージばかりだけど、山側も確かに神戸市なわけだ。

山を越えての行き来というわけでかなり独特なものがあるけどね。

登山電車で通勤したり、高速道路経由のバスで通勤したり、なかなか見られないけどこの地域ではよくあることなわけだ。

神戸港のいろいろ見られるところ

今日は神戸にお出かけ。

往路は三田経由で神鉄で神戸入りするというルートで行ってみた。

そして昼ご飯を食べて、予定より少し早く中突堤に到着、そして神戸海洋博物館の見学をした。


入ると船がドンとあった。この大きな船は神戸港が開港したときにやってきたイギリスのロドニー号の1/8模型だと。

他にもそれより小さな船の模型、モデルシップというべきか、そんなのがたくさん並んでた。

大型コンテナ船もあるし、RO-RO船もあるし、帆船もあるしいろいろ。

消防艇の模型もあって、こんなもんを大阪市は持ってるのかなど思った。

あと、黒塗りのカヤックみたいなのがあって、なんだろうなとおもったらイタリアのベニスのゴンドラらしい。

驚くべき事に日本で初めて輸入されたゴンドラらしい。なるほどこれは優雅なもんだ。

そうそう、船の展示と言えばヤマト1ですね。これは実物が外に展示されている。入場したことなくても見たことある人は多いはず。

超伝導電磁推進船というやつで、電磁力で水を後ろに発射して推進するという船なんですけどね。神戸港で実験したそうで。

なにかと装置が大きくなりがちで実用的ではないとかなんとか紹介されてた。

これは未来の船だけど、はて実現される事かどうか。


港湾施設についての紹介のコーナーがあって、

ガントリークレーンだとかなんとか紹介があった横におもしろい展示があった。

穀物サイロと食品コンビナートとかいう展示だったか。

ばら積み船で輸入した小麦を吸い上げてサイロに貯蔵して、

それをパイプラインで製粉工場に運んで、さらに小麦粉をパイプラインでパン工場に運んで、パンを出荷するという話。

石油化学コンビナートだとか聞いたことあるけど、あれと一緒でパイプラインで工場をつないでやってることは一緒。

港というのはただ荷物や人がやってくるだけではないということの1つの例ですね。


神戸港の歴史の展示があったのだが、神戸港の歴史というのは長いのだか短いのだか。なかなか悩ましいところである。

もともとこのへんには大輪田泊というのがあった。

今で言うと神戸市兵庫区のあたりにあって、まさに天然の良港でいうべきものだったそうだ。

その当時から大陸との交易ルートであったそう。難波津は堆砂で使い物にならんようになってしまったようだし。

後にこの港は兵庫津と呼ばれることになった。まぁ言うまでもないけどこの辺は今は神戸港の一部ですね。

そんなわけで兵庫港の歴史は長いんだけど、これが神戸港となった理由は兵庫港を開港するとなったことですね。

兵庫に外国の船がやってくると大変だから、当時たいしてなにもなかった神戸を兵庫港だと言って開国してしまえと。

実にこうして神戸に外国の船がやってきて、外国人居留地もできて発展していったと。

そして兵庫港の部分も含めて神戸港という名前になったと。そういうことがあったんですね。

伝統的な港と新しい港が一緒になって神戸港なんだと。


ところで神戸海洋博物館の中には川崎重工の博物館であるカワサキワールドというのがある。

神戸海洋博物館に入場するとカワサキワールドにも入ることが出来る。

川崎重工は造船から始まったからそういうことでは深い関係がある。

ただそれ以外にも鉄道車両・飛行機・バイクとかもあるからみどころはおおい。

特にヘリコプターの中に入って内部が見ることが出来るのはなかなかないんじゃないかなとも。


これで入場料400円はなかなかのものじゃないかなと。

400円というのはスルッとKANSAI 3dayチケットを提示した時の割引料金だけど、

実はカワサキワールドのWebサイトに割引券が貼ってある。

カワサキワールド・神戸海洋博物館 割引券

これを刷って持って行けば400円で入場できるのでどうぞ。

海岸線のみなと元町駅が最寄り駅だけど、阪神元町駅からも十分近いのでどうぞ。

まぁ神戸の市街地は歩いても大した距離ではないから回りやすいところではあるかと。

うまいはんだづけの方法

昨日・今日と体験入学のお手伝い。

例によってはんだづけの世話をしていた。


もう何年この仕事をしてるんだろうと思うのだけど、

1日で2000円の謝金というのは時給で見ると400円ぐらいだからかなり安い気がするけど、

部品の準備はあるにせよ実際の工作は1時間ぐらいで、意外に楽な仕事だ。

TAの仕事が1回で1時間しかカウントされなくて850円ぐらいしか出ないことを考えればよっぽど。

なかなか楽しい仕事ではあるし、そういう意味ではいいのかなと。


ここで初めてはんだづけする人もいるので、やり方を最初に説明している。

ここでポイントだがやはりよく足とパターンを暖めることと、はんだを離してから数秒おいてはんだごてを離すことだろうか。

そうして実演して見せてみるのだけど、まぁなかなかうまくいかんな。


まず、よく暖めるというのがうまくいかない人が多い。

確かに難しい。というのもはんだごての先を当てただけではちゃんと暖まらないからだ。

そこで寝かせるようにして当ててやるとうまくいくというのだが、それでもなかなか。

このあたりは慣れでしかないか。


こちらはどうにかなるだろと思うのがはんだとはんだごてを離すタイミングである。

はんだを溶かし足りない人が多かった気がする。そうすると電気的に繋がらないなんてこともしばしば。

よく暖まってないことも理由の1つだろうけど、もうちょっと大胆に溶かしてくれた方がいいのになと。

多すぎる人もいるけど、こちらは別にそんなに害はない。

あと、はんだを離してからはんだごてを離すのがよいと言ったら、逆にはんだごてを先に離してしまってはんだが離れなくなったりとか。

こういうこともある。


僕も今でこそぼちぼちはんだづけできるけど、昔は暖めすぎてパターン剥離させたりやってしまったもの。

初めてではなかなか難しいのも確かなことだろう。

そんな中でみんなちゃんと工作できているというのはよくやっているのかなとも。


ところで体験入学でこんな工作をするわけだけど、実験ではんだづけするのはロジックICの実験で1回だけだな。

研究でこういう工作をすることは珍しいことではないにせよ、体験入学のネタとして適切なのかはどうにも。

けど電気の実験って地味ですからね。動いておもしろいという意味ではよくできている。

それに電気工学科で5年間勉強してきたらこんなものを作るのはそう難しいことではない。

そういう集大成を示しているのだとそう考えればなかなかよくできているなと。

とても大規模なFPGAがやってきた

新しいFPGAボードがとうとう届いた。そして開発環境も準備できた。

アルゴリズムは探してきてプログラムで動作は確認できたし、

夏休みの実験のネタはこれでそろったことになるな。


本科の卒業研究の時にはFPGAにSpartan-3ANを使ってたのだけど、

このSpartan-3というのはわりに安価に手に入るFPGAでそう規模は大きくない。

それで本科の卒業研究の時に限界まで行ってしまったわけだ。

これでは困るということで新しいFPGAボードを買ってもらうことにした。

もともとSpartan-6のボードを買うと言ってたけど、安いからVirtex-5のボードも一緒に買ってしまったらしい。

本当は高いはずなんだけど、学校だと安く買えるとか何とか。

Virtex-5の方が規模が大きいからとりあえずはこちらを実験に使おうかなと。


どれぐらい規模が大きくなったのか。

本科の卒業研究で使ってたSpartan-3ANのXC3S700ANは5888のスライスを有している。

1つのスライスには4入力LUTとFFが2つずつ入っている。

今回使うVirtex-5はXC5VLX50Tだが、これは14400のスライスを有している。

そして1つのスライスには6入力LUTとFFが4つずつ入っている。

6入力LUTは4入力LUTよりも複雑な回路に相当する物を表すことが出来るから消費スライス数を減らすことが出来る。

などなど考えるとかなり規模が大きくなってそうだということがわかる。

Spartan-6もスライスの構造とかは似ていてXC6SLX45は6822のスライスを有していて1つのスライスには4つの6入力LUTと8つのFFがあるそう。

なんにせよずいぶん規模が大きくなってることは理解できる。


ここに書き込む回路のことも考えないといけないのですが、その前にインターフェースかな。

PCと接続して実験しようと思うので少し考えないとならん。

RS232CかUSBかかなと思うけど、いずれにせよ制御のためにマイコンが必要な気もする。

それを含めてどれぐらいの解像度で実験できるだろうか?

あんまり詰め込めなさそうな予感はするのだけど大丈夫かなぁ。

いろいろ気になるところはあるのだが、やってみないとわからない分もあるので、ちょっとずつ進めていきたいなと。

鉄道の信号のお仕事

鉄道の信号と道路の信号というのは少し違う。

赤信号で進むことが出来ないのは一緒だけど、黄信号の考えがずいぶん違う。

道路の信号は黄信号は赤信号の予告で、本質的には赤信号のようなもの。

だけど鉄道の黄信号は65km/h以下で進んでもいいなど、ずいぶん違う。

だからところによって赤と黄なんて信号機もあるらしい。見たことがあるようなないような。


道路では信号はあるけど本質的には目視で安全確認しながら進まないといけない。

道路ではそれで十分なのだけど、列車は急に止まれないので鉄道では別の方法を考えないと行けない。

そこで列車が衝突しないように制御する仕組みが必要なわけだ。

考え方は2つあって、よく使われているのは適当な単位で閉塞区間に区切って1つの区間に1列車しか入らないようにする方法。

ただ、列車は急に止まれないので、既に列車がいる閉塞区間の1つ前の閉塞区間を走ってたら、そのまま次の閉塞区間に入って追突となりかねん。

そこで黄信号を出したりして、次の閉塞区間に入る前に止まれるような速度で走らせると。

電車に乗ってたら、駅でもないのに減速しだしたり停車したりするけど、あれは追突させないように信号が仕事してるからだ。

そうそう、その信号を守らせるための仕組みがATSというやつですわ。信号無視したらブレーキかけられる。


もう1つの考えが安全な車間距離を保つという方法。

その考えによる仕組みがATCというやつですね。

さっきの仕組みで信号無視したところでブレーキかけても追突する可能性はある。

けどこの方法は安全な車間距離を保つように自動的にブレーキをかけてくれるのでその心配はない。

新幹線で使われているけど、もっと身近なのは地下鉄で高密度運転を支えている。

ところで、複線の路面電車では信号で追突しないように制御をしているわけではない。

けど路面電車では道路を走る以上は目視で安全確認しながら進まないといけないし、

そのためにすぐに止まれる速度で走らないといけないから特に信号システムでどうこうしているわけではないらしい。


複線では追突だけ考えればいいけど、単線では正面衝突があるから怖い。

行き違い出来る駅と行き違いできる駅の間に1列車しか入らないように制御すればいいわけで、

その考えは最初に書いた考えと一緒で、そういう仕組みを採用している路線も多いだろう。

ただ、あまりに閑散路線すぎてそんな仕組みも導入してない路線だって世の中にはある。

その場合は閉塞区間ごとに定められた通票とか呼ばれるものを持ってる列車だけ入れるという方法で安全が確保できる。

まぁけどそんな路線はよっぽどだけど、この近くでは名松線ぐらいだろうか。人手がかかるので廃止される傾向にあるようだが。


駅の手前で電車が止まるといらいらするもんだ。最近は減ったけど、昔は西大寺でかなりの確率でひっかかってたものだ。

けど、ここで進んでしまうとドカンとなってしまう。ここで進んだらえらいことになりかねん。

止まらなくていいよう定時でちゃんと走ってもらいたいもんだが、世の中なにがあるかわからないからな。そのために信号が作られたのだし。

アナログ放送と共に去る放送局

本日は地上アナログ放送が終了する日ですね。

うちではずいぶん前からデジタル放送に移行しているのでそれほど関係はない。

ただ、全く関係ないわけでもないので少し書いておこうと思う。


うちではCATVでテレビを見ている。

もちろんCATVはずいぶん前からデジタル放送に対応していたので、テレビだけ買えば良好な受信ができる状態だった。

それはいいんだけど、デジタルとアナログで少しチャンネル構成が違う。

なにが違うかというとアナログ放送では サンテレビ と KBS京都 があった。

ところがこの2つはうちの地域では本来受信できないはずで、アナログ放送の時代から再送信しているのは異常とも言えた。


デジタル放送では原則としてはCATVで区域外再送信はしないことになった。

もっとも電波が届く地域では区域外再送信も行われていて、

本来は兵庫県内のみのサンテレビが大阪府内のCATV会社では再送信されていたりする。

あと、三重県の伊賀地域では毎日放送・朝日放送・関西テレビ・よみうりテレビの再送信が行われている。

徳島県でも毎日放送・朝日放送・関西テレビは広く再送信されている。

よみうりテレビは四国放送が対応する放送局としてあるから再送信されていないことが多いようだが。直接受信はできるだろうけど。

このあたりは送信所に向けたアンテナさえ用意すれば受信できるということでCATVが再送信する合理性はある。

けど、とても受信することはできない放送局については原則通り区域外再送信は行われないことになったので、

うちの地域ではサンテレビとKBS京都がデジタル放送では再送信されないことになった。


というわけで正午12時を前にしてアナログ放送でKBS京都を見ることにした。

デジタル放送への移行方法を伝え終わったところで、画面が切り替わって音声が途絶えた。

サンテレビも同様。

これによりうちの地域からサンテレビとKBS京都が去ることとなった。


ところでこの2つの放送局は今日からはアナログ放送で見ることができなくなりましたが、

実は他のデジタル放送でも見ることができる放送局ではアナログ放送でも見ることが出来る。

というのもCATVでは当分の間アナログ放送をデジタル放送に変換して再送信するから。

そのため画面を見るとデジアナというマークが表示されている。

時間稼ぎでしかないにせよ、当分は従来のテレビで見ることが出来る。

もっともCATVのチューナーに接続しているテレビはアナログ放送を見る必要は無いから、CATV契約者のデジタル放送への移行はほぼ済んでいると言えますが。

2台目以降のチューナーを接続していないテレビがアナログ放送に対応していなくても大丈夫だと言うだけのことです。

C++でaccumelate!

画像工学の夏休みの宿題で顔画像認識か図形認識の課題をやれというわけで、

ちょうど授業の発表を担当したことの実践ということもあって図形認識をやってみることにした。

その中で境界線追跡(図形の境界線を追跡して境界線を得る処理)の結果から周囲長を得るという処理を書く必要があった。

実はその部分は後の変更で使わなくなったのだけど、スマートに書ける方法がC++にもあるということで記事にしておこうとおもう。


ところでこのプログラムはC++で書いてるんですけど、図形を扱うに当たってBoostのGILモジュールを使ってる。

画像データの読み書きとデータ構造だけでアルゴリズムとかそういうのはないんだけどそれは好都合。

処理自体はイテレータがりがり動かしているだけで、いかにも画像処理という感じ。

日本語でチュートリアルがあるので参考までに

Generic Image Library Tutorial 日本語訳


それで境界線追跡の結果はチェイン符号化して表している。

チェイン符号化は右の画素へ進むことを1、そこから反時計回りに2,3,と番号を振っていって、右下の画素へ進むことを8と表して、これを連ねて線図形を表す。

そして周囲長はその図形の周囲の長さだけど、上下左右に1画素と斜めに1画素では長さが違う。

そこで上下左右に進んだ時は1、斜めに進んだ時は√2でカウントする必要がある。

チェイン符号化でいうと上下左右に進むことは1,3,5,7で、斜めに進むことは2,4,6,8だから、それに応じてカウントの仕方を変えればいいわけだ。


境界線追跡の結果はstd::vector<char>に入れて表したとすると、こんな風に処理を書くことが出来る。

double length=std::accumelate(chain.begin(),chain.end(),0.0,[](double s,char c){return s+(c%2==1?1.0:1.414)});

なんと1行で書けてしまった。

ここで0.0と書いてあるけど、初期値はdouble型ということにしておかないとうまくいかないので0ではいけない。

まぁけどラムダ式使ってるからC++0xじゃないとだめだけど。

元々ライブラリの型名が長すぎるから型推論のauto使うためにC++0x対応のVisual Studio 2010を使ってたのでちょうどよかった。


このstd::accumelateはRubyでいうEnumerable#injectに相当するような物。

C++にもこんなのあるんですね。ただ、使う前にこう書いておかないといけない。

#include <numeric>

そう、algorithmヘッダじゃなくてなぜかnumericヘッダなんですね。

というのもこの関数は関数オブジェクトを与えなければこの関数はただ要素の総和を取るだけの関数なんですね。

まぁ総和というわり+演算子で計算するだけだから、std::stringのリストを与えたら文字列を連結したりするからその時点でちょっと不思議だが。

ただ、それだけじゃなくて関数オブジェクトを与えればかなりいろいろなことができるわけでどこがnumericやねんともっぱらの評判だ。


こういう総和を取るとかそういう操作は多いので有用な関数ではないかなと思うところ。

まぁけどラムダ式なかったら使う気にはならんか。

船にあまり乗らないけど

夏休みのお出かけに使うスルッとKANSAI 3dayチケットを買ってきた5000円なり。

本体はカード1枚だけで、特典施設の案内やら優待券やらの方がよっぽどかさばるのはなんとも。


パラパラめくってたら優待施設に神戸海洋博物館というのがあった。

中突堤のところにあって、外から見たことはあるけど中に入ったことはなかった。

神戸海洋博物館

展示内容見てたけどなかなかおもしろそう。

入場料も500円のところが400円になるぐらいだから神戸方面のルートに組み込もうと思った。


展示内容に「楽しいクルーズ客船」というのがあって、ふとおもったのだが、移動手段に船を使ったことってあんまりないよなと思った。

船自体は小学校の社会見学のときに臨港地帯を船から見たりとかいうので乗ったことは何度かあるのだが、

スタートとゴールが違う船に乗ったのは、とある大会のハイキングのスタート地点に行く時に乗ったぐらいかもしれない。

陸繋がりのところなんだけど、海経由で移動した方が早いのでこの地域では船も重要な交通機関なんだと。

とはいうけどこの船はチャーター船で、定期航路とは別の港に発着するものだったけど。

定期的に運航されている船だと交通科学博物館からの帰りにのった甚兵衛渡ぐらいのものかもしれない。(参考記事 : 橋の代わりに川に架かる渡船)

それだってルートを曲げて乗ったわけで、本質的に意味があるものだったのかといわれるとなんとも。


離島に行くなら船という選択肢しかないこともおおいけど、そんな移動はそう多くない。

どっちかというと陸つながりのところを船で移動するかどうか悩むことの方が多い気がする。

ここで船というのはだいたいフェリーやわな。


さて、例えば関西から福岡に行こうと考える。

一番手っ取り早いのが新幹線やわな。頻発しているしそこそこ速い。あと飛行機もいいですね。

昼間に移動するならこんなもんかなと思うんだけど、夜間に移動するとなると夜行の高速バスと、そしてフェリーがある。


さて、福岡にせいぜい昼までには到着したいと考えた時、それぞれのルートではどんなもんなのか。

まず新幹線ですが新大阪8:59発のさくら547号で出ると博多駅に11:39に到着する。所要時間は2時間40分、運賃料金は14590円

のぞみ・みずほ を選ぶと少し高くなるけどこんなもん。

飛行機は伊丹空港10:00発のNH1675だと福岡空港に11:15につく。

都心までの移動時間だけど、梅田~伊丹空港は阪急・モノレールで30分ぐらい、福岡空港~天神は地下鉄で12分ぐらい。

もろもろ合わせて2時間39分で移動できるとのこと。運賃はもろもろ合わせて24770円。

ただし飛行機の運賃は普通運賃で計算しているのでもっと安く乗れるのが普通。運賃面では新幹線と同じぐらいかも知れない。

次にバスですが、阪急バス・西鉄のムーンライト号は梅田22:00発で天神7:50着となっている。

運賃は10000円となっている。新幹線よりは安いけどやや高めか。夜行バスはこんなもんか。

そして船ですね。阪九フェリーは泉大津港17:30発、新門司港6:00着で運航している。

泉大津港とはまた変なところからスタートだなと思うかも知れんが、自動車でのアクセスの便もフェリーは重要だ。

泉大津駅から16:30発のバスに乗ればよいので、難波を15:15に出ればよい。

新門司港から小倉駅までバスで行けて、小倉駅からJRで博多駅まで移動すると10時までには着けそう。

運賃は二等で6400円だけど、それぞれ前後の交通機関も含めると8080円だと。

ただし最繁忙期は運賃が上がって二等で7100円になる。


というところからしてもわかるのだが、船の使い勝手は悪い。

港がどうしても都心から離れていること、所要時間が長いことが原因だろうか。

バスも所要時間が長いのは一緒なのだが、都心で乗り降りできる分だけ総合的な所要時間はよっぽど短い。

運賃が安いのは魅力的だけど、これだけ所要時間に差があるとなかなか選びにくいというのも確かなことかなと。

所要時間が延びるとそれに応じてコストが増すこともあるのでそういうことも考えると運賃のメリットも消えるかもしれんね。


船が使えるルートというのが限られるというのもあるけど、優雅に船旅というのはなかなかできんもんだ。

日本海側だと港まで行くのがとても遠いのでなかなか使えない。

船に乗れば高速フェリーなら24時間切るぐらいで北海道まで行けるんだけどね。意外に速い。

四国だとあまりにバスが便利すぎるので、南海フェリーとかジャンボフェリーとかそれなりに便利だけどバスにはかなわないかなと。

となると九州ぐらいかなぁ。大分とか特にフェリーが便利なところですけどね。

あそこは関西からの高速バスが走ってないぐらいだから。おすすめはそれぐらいですかね。