2012/02/11(土)最近の趣味のプログラミング動向
前から,趣味と仕事半々でプログラムを書いています.
これからも書き続けると思いますし,
最近やったことを簡単に紹介してみようかと思います.
主にC言語で開発してます.処理系はWindows版のgccです.
最近書いたプログラムですが,
主な物でいうと,誘電体多層膜の分光特性の計算をするやつを書きました.
仕事柄,誘電体多層膜の分光特性の計算法をマスターしておく必要があり,
その勉強もかねて,簡単な条件での計算に関してはプログラムを作り終えました.
膜構成を書いたファイルを読み込んで,計算して,グラフを描画+画像で保存するものです.
任意の膜構成(1層→200層以上で厚みも各層バラバラ可)での分光特性を算出できます!
業務で使っているソフトの計算結果と比べて,その妥当性とかも検証しました.
個人的にはなかなか良い出来です.
次は入射角度と物質の吸収を考慮し,
ガラス基板の表裏面反射も考慮した計算を行うプログラムを書こうと思ってます.
目指せ,市販ソフトと同等以上の性能のプログラム完成!
勉強+趣味でやってるんでいつできるかわかりませんがね.
あとは業務用のジグソフトをちょくちょく書いている感じです.
こういうものはある意味での資産だと思います.
完成度が低いので今は自分専用ですが,
ゆくゆくは職場の人にも使ってもらえるレベルに持っていきたいです.
他には構想段階ですが,
有限要素法とFDTD法を使った電磁場解析プログラム作成を目論んでます.
学生時代からやってみたいと思っていましたが,
資金力が学生時代よりも向上した関係で,
良い本をたくさん手元に置けるようになったため,実現に目処がついてきました.
今はRitz-Galerkin法の算法を勉強しているところです.
学生時代,数学をまじめにやらなかったので結構躓いてますが,
しがみついて前に進んでいくつもりです.
プログラムを書くことだけでなく,最近また開発環境を整えることも始めました.
gccのバージョンアップ作業もそうです.
今まではversion 4.5.2を使っていましたがそれを4.6.1に更新したのです.
そうしたらOpenMPオプションのバグが直ってました.かなりこれは重要です.
素直にVisual C++ とICCで計算しろという話かも知れないですが,
個人でも会社でもあまり資金的に余裕がないので,gccな訳です.
OpenMPは並列処理を行う仕組みでして,これで並列計算が試せます!
あと,ライブラリを増やしました.
クロスプラットフォームのwxWidgetsなるGUIライブラリです.これはC++です.
今は基本的にコマンドラインで動作するプログラムを書いていますが,
徐々にGUIアプリも作れるようにならなければなりません.
特に有限要素法のプログラムは高度な可視化も必要です.その布石です.
このwxWidgetsはOpenGLやグラフ描画用のクラスもありますので,有用だと判断しています.
それにしてもフリーソフトでプログラムを書くのは面白いが大変です.環境構築が特に.
wxWidgetsのインストールも,数日間は夜の時間を潰しています.
ま,これからも気楽に進めていこうかと思います.
2012/02/06(月)2012年1期のアニメについて
視聴しているアニメの善し悪しを主観的に書いてみようと思います.
輪廻のラグランジェ
今期1,2を争うおもしろさだと思います.- まず,主人公のキャラクターが非常に明るくてよろしい.
- ロボットもので,しかも登場人物のキャラがよく立っている.
- メカとキャラクターデザインが良い(重要).
- キャストが地味に実力派.
- 佐藤竜雄氏が制作に関与している.
- OP・EDが中島愛(ランカちゃん)で上達ぶりに感心+演出にセンスが光る.
モーレツ宇宙海賊(パイレーツ)
こちらも良いです.原作が『ミニスカ宇宙海賊』であったり,
タイトルが昨今の萌えアニメ系を想起させますが,
実際はよく考え込まれた硬派なSF作品です.
- スロースタート.1話から徐々に盛り上がってきて失速していない(4話まで視聴).
- キャラクターデザイン・雰囲気が良い意味で古め(?).
- 作り込まれた世界観.
- ご都合主義があるが,よく考えられたご都合主義で良い.
- OP・EDの作画よし.曲も良い(歌は……慣れると大丈夫かも知れない).
- 佐藤竜雄氏が監督・脚本である.佐藤作品の雰囲気があり,それが好きな人にはよい.
- (魅力的な)登場人物が多い.
ペルソナ4
「ハイカラ」なアニメです.秀逸な脚本で,原作ゲームをやらなくても
ゲームの内容を追体験できるように構成されている模様です.
私もゲームをやっていませんが楽しんでみています.
ラストエグザイル
可もなく不可もない感じですね.前作の登場人物たちがどのように現れるのかに期待しています.
ちはやふる
相変わらず,話は面白いです.偽物語
良くも悪くも,新房さんの監督作品です.演出の仕方に飽きを覚える部分があります.
夏目友人帳
なんと4期目!ですが物語の品質は維持されていて良作です.探偵オペラ ミルキィホームズ 第二幕
1期目から変なテンションの作品でしたが,2期目になって,さらに磨きがかかっているというか何というか…….
この作品ほど,どのように着地するのか読めない作品はないですね…….
あの夏で待ってる
ちょっと期待しすぎましたかね…….通しで見ると良い作品かも知れません.
BRAVE10
やや,ダークホース気味.OP,演出,展開,いろいろ突っ込みながら見ています.
アクエリオンEVOL
ネタとして非常に良いかと思います.あと,ヒロインが(声を含めて)かわいいです.
アマガミSS+
展開が読め,個人的にはあまり面白くないです.相変わらず,主人公が紳士なのは流石ですが.
ポヨポヨ観察日記
ピカチュウが球体状の猫やってます.最近では珍しく,神谷明さんがキャストにいます.
あと,三森すずこさんも出ているのでマルです.
彩雲国物語
1期は見終えましたが,2期はペースに追いつけず積んであります(週に5話更新はかなり辛い).
というわけで,佐藤竜雄氏つながりの2作をプッシュしておきます.
2012/02/05(日)gnuplotを使ってグラフ出力ソフトを書いてみる
gnuplotを使ってグラフ出力ソフトを書いてみる
同じ書式のグラフを書いて,しかも毎回画像に変換してドキュメントに貼り付けないといけない場合があります.例えば,いちいちデータの数だけcsvファイルをExcelで読み込み,データをコピペしてグラフを書いて,書式を毎回設定して画像を保存します.
gnuplotを使うにせよ,ファイルの数だけplotにデータのファイル名とタイトルを入力していく必要があります.
1~3個くらいのデータを重ねるのはまだいいが,それ以上のグラフを重ねたり,
その解析の回数が多かったりすると,これらは苦行以外のなにものでもありません.
というわけで,実行ファイルにCSVファイルをドラッグアンドドロップをするだけで,
PNG,PDF,SVG,そしてウィンドウにグラフを描画してくれるプログラムを書いてみました.
複数のデータを選択してプログラムの実行ファイルにドラッグアンドドロップすれば,グラフを重ね書きもしてくれます.
描画にはgnuplotを使っているので,多くの出力形式に対応できました.
改良できていない部分も多いです.重ね書きの描画例を一つ.
こうしてみるとgnuplotの出力そのまんまなので何が便利なのかいまいち釈然としませんね.
凡例の曲線名の指定に不満があります.現状ではフルパスをそのまま表示してますが,
正規表現でファイル名だけを拾うなどして,見やすく変更したいです.

ちなみにコイツは,ガラス上に物質AとBを適当な厚みで交互にN層重ねていった際の光の透過率を計算してみた例です.
勉強のために式を理解して,自作のCのプログラムで計算したヤツです.
計算式は光学薄膜の本に普通に載っているもの,使用した値は適当なものです.
2012/01/29(日)メジロ
2012/01/23(月)あ,去年の一月よりも日記の数が少ない
1日1日を後悔しないように大切に過ごしていたのか,現実逃避気味だったのか.
1年前の日記を見ると,心は折れていなかったようです*1.
今の自分は,何だかちょうどいいあんばいですね.たぶん,きっと必ず.
仕事が趣味になりつつありますが,まあ悪い気はしません.
これから数年は必死にやって実績を上げていくしかないと思っています.
今まで以上に長期戦.適度に緊張感を保ちながら進めていこうかと.
しかし,気合いを入れても,週明け早々風邪を引いてしまったようでして.
今日は早く寝ようかと.おやすみなさい.