メモ

バイトニック経路版の平面巡回セールスマン問題

巡回セールスマン問題(TSP)は有名なNP完全問題だが、ユークリッド平面におけるTSPは経路がbitonic tourであるという制約をつければ動的計画法で簡単に解けるようになる。以下そのメモ。 巡回セールスマン問題 - Wikipedia bitonic tourとは bitonic tourとは…

VBAの個人的な嵌りどころ

必要に迫られてVBA入門中.ちょっと嵌ったところをメモ.間違っていたら誰か指摘してください… 小数→整数への暗黙変換は,最近接偶数に丸められる 小数部が0.5未満のときには切り捨て,ちょうど0.5のときは最も近い偶数に丸められ,それ以外のときには切り上…

画像のアルファ合成

cvLoadImageは読み込む画像のアルファチャネルを無視するので,画像を重ねあわせるときに不都合.opencv内で何かしらのマスク画像を生成し,そいつを使って重ねあわせる(参考:opencv.jp - OpenCV: コピーと充填(Copying and Filling)サンプルコード -)…

最近読んでいる本

地頭の悪さに呻いてるだけでは始まらないので,きちんと地に足の付いた思考展開をするために.GCJ2011のためでもある.アルゴリズムの設計と解析手法 (アルゴリズムイントロダクション)作者: T.コルメン,R.リベスト,C.シュタイン,C.ライザーソン,Thomas H. C…

マイコンのプログラミングでよく使うビット演算など

すべてnは0始まり,xはunsignedと仮定. nビット目が1かどうか判定 if(x & (1 << n)) ビットに1をセット x |= 0xF0; // 10100110 -> 10101111 下位nビットを1で埋めるなら,これでも. x |= (1 << n + 1) - 1; あるいはnビット目だけを1に. x |= (1 << n); …

OpenCVで遊んだ

同期とOpenCVやらARToolkitやらの環境を構築して遊んでみた.以下はWebカメラから動画を取り込み,リアルタイムに顔検出するコード.参考:カメラ利用の基本形 - OpenCV@Chihara-Lab. opencv.jp - OpenCV-1.0:CV 物体検出(Object Detection)リファレンス …

はてなダイアリ見出しのlt,gtが消える?

先日書いたこの記事.vector&lt;bool&gt;を使ってはいけない - Lagrangian point L2ページ内ではタイトルが意図したとおり表示されているけど, 記事一覧で見ると… "vectorを使ってはいけない"ひー,めっちゃ大胆なタイトルになっとる…! iPhone版,Web版と…

msysgitでssh接続時にid_rsaのパーミッションエラー

環境再構築中に出た症状.msysgitでssh接続を試みたところ,以下のようなエラー. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@…

LokiのGenScatterHierarchyを継承して使う

Lokiのタイプリストを使ったGenScatterHierarchyというやつは結構面白いんですが,それを継承したクラスでFieldヘルパを使おうとすると(VS2010では)コンパイルが通らない. template <class T> struct Foo { std::vector<T> value_; }; template <class TList> class Bar : public Lok</class></t></class>…

クラスの継承関係をコンパイル時に検出する

Modern C++ Designから. template<class T, class U> class Conversion { typedef char Small; class Big{ char dummy[2]; }; static Small Test(U); static Big Test(...); static T MakeT(); public: enum { exists = sizeof(Test(MakeT())) == sizeof(Small) }; }; int mai</class>…

最近読んでいる本

Read or Die.最近は機械系学科所属だというのに咳を切ったようにソフトウェア関係の本を買い漁っている*1.記録のためにここ1,2か月で読んだソフトウェア周りの本まとめ. *1:逆にM2の今の時期に専門領域の教科書を買いまくっていたら,よりダメですが…

簡単なICで90%効率のリチウムイオン充電器を構成する

リチウムイオン電池は爆発物.爆発物を安全に充電するために,ふつう充電電圧と電流をコントロールできる専用のICを使う.充電方式は以下のように分類される: CCCV充電方式 スイッチング充電方式 ダイオード整流式 同期整流式 リニア充電方式 パルス充電方式…

BitMap描画を10倍速くする

かなり間があいてしまった.また覚え書きエントリですが. C#のSystem.Drawing.Bitmapを使って画像を出そうとすると,場合によってはものすごく重たくなってしまう.ボトルネックとなっているのはSetPixel/GetPixel関数.ググると重いと感じている人は沢山い…

Google Mapsの逆ジオコーディングAPI,基本的な知識3つ

最近本業と関係ないことばかりメモっている気がする.研究しろよM2.Google Mapに緯度経度から地名を引くことができる逆ジオコーディングAPIがあることを以前書いた.xml/kml/JSON/csv形式のいずれかをoutputパラメータで指定する. Google Maps JavaScript …

OAuthとC#でマルチバイト文字を扱う

人工衛星bot(http://twitter.com/XI_V)を作ったときに嵌ったところをメモる。 まずはC#でのTwitterAPI使用例をググる OAuth認証まわりをやってくれるOAuthBase.cs、Twitter投稿用のOAuthTwitter.csというライブラリが転がっているので、これを使えばSignat…

Star Trackerに結像される星位置の計算

バイト先での仕事に使う自分用めも. (2010/4/9追記 DCMの表記がx-y-zオイラーになっていたのでz-y-xオイラーに修正.quaternion表現をq0=cosに修正) 問題設定 Star Tracker(STT)は宇宙で人工衛星の姿勢角および角速度を決定するセンサで,カメラとデータ処…

理系研究室のウェブサイトを作る時に気を付けること

誰に来てほしいか 内外の関係する研究者 学生 (スポンサー) 何に気を付けるべきか html素人でも管理できること 学生が管理する場合は自分も含めてhtml素人によって運営される リッチに作ってしまったばっかりに後任者が面倒臭くなって更新を放置するよりは,…

ASNARO Spacecraft

読んだ System outline of small standard bus and ASNARO spacecraft Toshiaki Ogawa, Keita Miyazaki, Osamu Itoh 23rd Annual AIAA/USU Conference on Small Satellite「論文1本ノック」というタグを一瞬付けようと思って踏みとどまった危ない。国産の小…

XP初期設定

前回に引き続き柄にも無い記事書いててあれですが、研究室PCの再配置が行われそうだったり、自宅のデスクトップが瀕死で再インストールしなきゃだったりで、XPの初期環境整備をやる機会がまだいくらかありそうなので。 普通の日記も書き溜めなきゃなとは思っ…

65535行ごとにファイルを分割する

実験とかで生成したCSVファイルが65535行超えてexcel2003で開けないことがしばしばあるので。 #!perl use strict; $ARGV[1] = 65535 unless $ARGV[1]; #第2引数を省略すると65535行ごとの分割に my $maxcol = pop @ARGV; my $output = $ARGV[0]; my $filecou…