正直日記



2009/06/06

_ ストリートビューがいつの間にか壁や地面を認識するようになってる
たまたま見たら、何コレ凄い。壁や地面が認識されてる。

 (左上に被さっている枠が、認識された壁)

車が走れるところは地面だし、道路脇には建物がある可能性が高い。それをヒン
トにしつつ、Hough変換で得た直線成分を Guzman Method とか Huffman-Clowes
Method とかなんかで頂点解析し隠蔽判定とかやった上で立体に落としこんでる
のかな。同じ位置を様々な方向から撮影したデータは既にあるわけだから、三角
測量も出来るわね。(※注意:ここまで全て「知ったか」なので安心してお読み
ください)

行動力と技術力が組み合わさると、凄いことになるんだなぁ。

--

記事があった。出来立てホヤホヤだったのね。

グーグル、ストリートビューに新ナビゲーションシステムを導入
http://japan.cnet.com/news/media/story/0,2000056023,20394487,00.htm

2009/06/05

_ 四人打ち麻雀@GBA
敵を知り己を知れば百戦危うからずという伝説もあることだし、四人打ちの出来
る麻雀ソフトを調査してみる。

2001年7月12日麻雀刑事ハドソン
2001年8月10日極 麻雀デラックス 未来戦士21アテナ
2001年9月28日西原理恵子の殿堂麻雀メディアリング
2001年10月25日なかよし麻雀 かぶリーチコナミ
2001年10月26日どこでも対局 役満アドバンス任天堂
2001年12月13日大麻雀。ホリ
2002年4月26日日本プロ麻雀連盟公認 徹萬アドバンス加賀テック
2002年6月27日デパチカ 和洋中GAE
2003年3月20日THE テーブルゲームコレクションD3P
2003年10月31日みんなのソフトシリーズ みんなの麻雀MTO
2006年3月3日闘牌伝説「アカギ」カルチャーブレーン
結構あるな……。取りこぼしもあるかも。 D3P 以外のソフトは任天堂サイトでスクリーンショットが見られる。 なんとなく後ろ暗いので直リンはしないよ。 全てのソフトに共通しているのは、ちゃんと卓を囲むように打牌していることか。 「極 麻雀デラックス」に至っては六枚切りで河を成している。凄いぞ。この中 では「大麻雀。」が最も、手牌グラフィックが大きいようだ。名前に偽りなし。 実機で見てみないことにはなんとも言えなかったりするし、気になるものをいく つか探してみようと思うが、GBA ソフトってマイナーなのは本当に少生産で、発 売当時でも手に入りづらかったりしたから、ちょっと難しいかも分からんなぁ。
_ じゃんまー
自作コンパイラの利用法として、AIプログラミングを外部に丸投げしたら面白い
かなと麻雀ゲームを作り始めたのだが、解像度的に四人打ちは無理があるような
気がしてきた。



となると、サンマか二人打ちかなぁ。

サンマはともかく二人打ちだと、脱衣やサマを盛り込まなければならないような
気がしてくるので困る。

AIのインタフェースはどうしたもんだろか。手牌の他に、捨て牌・鳴き・リーチ
状態・ドラ・点数・ルール・親くらいが分かれば戦略は立てられるかしら。

2009/05/18

_ メイドイン俺を極めたい人用 色合成シート
欲しい色が無いという意見をちらほら見かけるので、サクッと作ってみました。

合成色版


市松模様ディザパターン版


--

おまけ



補色の関係を応用すると、こんなことも出来ます。
ドッターの必須技能だと勝手に思ってるけど、今時こんなテクは使わないかな?

2009/05/16

_ ルビ用6x6フォント ver.1.1 を作る
某掲示板で 6x6 にチャレンジしてみた人がいて、またもや感銘を受けてしまっ
た。特に、右上を空けることで濁点がそこそこ綺麗に収まるのは盲点だった。
(こちらのフォントは右下を空けていた)

参考にさせてもらいつつ描き直し。ついでにアスキー文字も統一感重視で修正。


6x6v1_1.png

というわけで ver. 1.1 になりました。例によって OCPL00000 で。

追記:「ミ」の字にバグがあったので修正しました。
_ 無題
耳につけているリンデロンが切れたので、身体用のデルモベートを薄めに塗って
みたところ軽い偏頭痛と猛烈な眠気でダウンしてしまった。

通っている皮膚科医院は予約の類を全く受け付けず、毎度数時間待たされるので
なかなかタイミングが合わずにいるのだけど、これはこれで公平なのかなぁと思
わなくも無いけど、お年寄りに有利なシステムのような気がしてきたけど、まあ
控えている年寄り方も別に診療所を溜まり場にしている様子は無く自分の順番が
来るのをただ淡々と待っているので、仕方ないな付き合ってやるかという感じだ。

ごくたまに若い子がいる。俺のように患部が顔付近の目立つところにありしかも
ガーゼまで貼っているならともかく、そうでない彼ら・彼女らは一体どこに炎症
を起こしているのだろうかと一人で想像する。暇なのだ。

若すぎる子もいる。椅子に立って上から覗いてくるので、パソコンを暇つぶしに
するのは諦めた。試してはいないが、ゲーム機やケータイも同様だろう。となる
と残るは本となるが、俺は脇できゃっきゃっ騒がれると内容が頭に入らないタチ
なのでどうにもならない。仕方ないのできゃっきゃっ騒いでいる様子を観察する
が、親の目が光っており見すぎには注意しなければならない。俺にそういう趣味
は全く無く、やましいところは何もない、が、被害妄想ばかりがふくらみどうし
ようもなくなってしまう。俺は、暗い夜道で女子高生の後ろを帰路に就いている
と、その女子高生が突然無言で走り出すような、そんな男なのだ。

2009/05/15

_ スクレイピングは便利ライブラリを使おうぜ
ウェブの一部分をスクリプトで切り出したいとき、まぁ正規表現をゴリゴリ書い
て抽出するんだろうけど、今は便利なライブラリがあるのでそれを使えばいいと
思う。

まずは、インターネットのヤホーから正規表現で「トピックス」を抽出してみる。

use strict; use LWP::UserAgent; my $ua = LWP::UserAgent->new; # ヤホーは UA を見て表示するページを切り替えるので…… $ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'); my $content = $ua->request(HTTP::Request->new('GET','http://www.yahoo.co.jp'))->content; $content =~ m{<div class="topicsindex">(.*)</div>}; my $topics_index = $1; my @topics = $topics_index =~ m{<li>(.*?)</li>}g; print join "\n", @topics;
まぁこれぐらいだったら正規表現でいいかもしれないけど、例題としてならとも かく、ヤホーのトピックスなんて普通スクレイプしないと思うよ。するとしたら もっと複雑なページだよね〜。んで表題に戻る。 ruby だったら scrapi もしくは hpricot(こちらの方が後発っぽい)が、 perl だったら Web::Scraper(scrapi の perl fork らしい)があって、 どちらも XPath もしくは CSS セレクタで、抽出部分を指定できる。 インターネットのヤホーから、今度は Web::Scraper で抽出してみる。
use strict; use WWW::Mechanize; use Web::Scraper; my $mech = WWW::Mechanize->new(cookie_jar => {}); $mech->agent_alias('Windows IE 6'); $mech->get('http://www.yahoo.co.jp'); my $feed = scraper { process '.topicsindex li', 'entry[]' => scraper { process 'a', 'link' => '@href'; process 'a', 'title' => 'TEXT'; } }->scrape($mech->content, $mech->uri); for my $entry (@{$feed->{'entry'}}) { print $entry->{'title'} . "\n"; print $entry->{'link'} . "\n"; }
複雑な階層でも呼び出し一発で、まとめて配列や連想配列に入れてくれるので、 ちょ→楽チンです。ただまぁ手動で切り出すよりは負荷が高いんで、用途により けりなのかもしれず。 XPath / CSS は yunogenerator.bookmarklet を使えば、ソースを参照する必要 すらなく得られるし、Firefox なら Web Developer から Ctrl + Shift + Y (CSS > View Style Information)で CSS の階層が簡単に得られます。(けど 仕様上、コピペ出来ないのは悩ましい) Firebug も使えるかもしれない。 数年前の時点で既に手垢が付きまくったトピックだろうけど、最近思うところが あったので、手垢も気にせず書いてみました。 -- Mechanize の agent_alias (user_agent_alias)は、ruby 版だと "Windows IE 7" があるみたいだけど、perl 版には現時点で "Windows IE 6" しかないのね。 なんか悔しい気がしないでも無いなー。

2009/05/14

_ ルビ用6x6フォントを作る
DQIX は何が凄いって、DS の解像度でルビを振っているのが凄いと思う。
http://blog.square-enix.com/dqix/2009/05/post_23.html

感銘を受けてしまったので、余白込みの6x6フォントを自作してみた。


6x6.png

"る"がどうしようもなく難しい。改変歓迎です。ライセンスは OCPL00000 で。
一応アスキー文字も用意したけど、出来はあまり良くないと思う。
ちなみに 4x4 フォントはこちらで公開中です。

追記:v.1.1 にバージョンアップしました。

2009/05/06

_ すいませんでした
LLVMがこんな素晴らしいものだったなんて、今まで知らなくてすいませんでした。
まぁコンパイラの作り方が分かり始めたマイレボリューションなので、素晴らし
いと今は思うわけですが、そのうちクソだと言い出すのかもしれない。何故オタ
の思考回路は 1 と -1 しかありませんか?

--

LLVM 2.5 を MinGW + MSYS + ActivePerl な環境でビルドしたときの作業内容を
適当に書き残しておく。ビルドに必要なその他のソフトウェアは
 docs/GettingStarted.html#software
に記載されてるよ。

まず、groff が必要なので、groff for windows なのだった。

$(SRC_ROOT)/utils/unittest/googletest/Makefile
インクルードパス末尾の / を削除。
CPP.Flags += -I$(LLVM_SRC_ROOT)/utils/unittest/googletest/include
$(SRC_ROOT)/docs/CommandGuide/Makefile MSYS 由来の perl は pod2html が提供されてないので、ActivePerl のものを使う。 ActivePerl の pod2html / pod2man はバッチファイル経由なので、直接呼ぶように修正。
/perl/perl -x -S pod2html --css=manpage.css --htmlroot=. \ --podpath=. --noindex --infile=$< --outfile=$@ --title=$*
/perl/perl -x -S pod2man --release=CVS --center="LLVM Command Guide" $< $@
僕の環境だと ActivePerl をインストールしたディレクトリは /etc/fstab の設 定で /perl へとマウントしているので、環境に合わせて置き換えてください。 まぁそんなこんなで LLVM の make; make install が完了するわけです。 -- 追記:MSYS の perl.exe をリネームしないやり方に変更しました。(09/05/14)


過去へ -->
2009 | 01 02 03 04 05 06
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12