C++

PlayStationEyeで画像処理プログラミング

masafumiさんの日記で発見しましたが、PlayStation EyeをPCで使うという話が流行ってきているみたいです。 最近になってPlayStation EyeをPCで使うという話がどんどん進んでるなぁ・・・。 http://www.atinfinity.info/blog/archives/113 このライブラリだと…

memo

とりあえずメモしておきます。 ときどきの雑記帖 i戦士篇 仕様の話とか深い話をしているので興味深いです。inlineって標準予約語だったんですね odz buffer 神様なんて信じない僕らのために NyaRuRuの日記 同じく。 その他メモ。 GoogleのMapReduceアルゴリ…

回転の成分を正規化する

以前書いた角度を正規化するRadianNormalize関数は問題があったので、今更書き直しました。関数の引数に回転値を与えると、0〜2*PIまでの値を返します。英語のコメントに関しては現在間違っているので修正します。(追記:正しい英文に直しました) #define …

角度を正規化するソースコード

C C++

メモ。正規化する関数は無限ループで止まる可能性があるので注意です。 (追記:こちらの雑記で修正版を書きました) float RadianNormalize(float rad) { float d; if (rad > 0) d = -PI * 2; else d = PI * 2; // ラジアンを正規化する while (!(0.0 <= ra…

ASSERTを軽視してました

今までASSERTを軽視していたのですが、いろいろ情報を集めると便利な点があるんですね。正常な値の範囲を判定しておいて、その判定が偽になったら、すぐに止まった位置や値を表示できるんですね。 assertの使い方 - (kawauchikの日記) 続き デバッグvsリリ…

テキストファイルから一行を速く読み込む方法(2)

昨日の続きですが、一行を分割するのにstrtokを使えば楽なのでは?と考えました。 そこで、検索前のポインタを残しておきstrchrで検索→\0代入する速度と、strtokで検索する速度を比較しました。40000回でstrchrが大体[4ms]、strtokが大体[9ms]でした。二倍ぐ…

テキストファイルから一行を速く読み込む方法

テキストファイルを読み込むときに、一度バッファに読み込んでしまったら改行ってどうやって判断するんだろう?と考えていた時期がありました。しかし今思えば、strchrで改行を検索してしまえば一発ということに気がつきました。というわけで、毎回ファイル…

クラスをつくる上での目標

既定されている型(DirectX SDKのD3DCOLORとか)が見えないようにするのが目標。そうしておけば、リファクタリングとして機能しやすいですからね。 実際DirectXも、D3DCOLORとかはDWORDなどをtypedefしてバージョンアップにも備えているんですよね。でもスプ…

よく使うデザインパターン

先生に聞きましたら、よく使うのはNULLオブジェクトパターンで、時点はシングルトンパターンとのこと。 Factory系のパターンとかはネットでよく見ますね。 個人的に好きなのはシングルトンですね。まだ他のパターンの有効な使い道がわかっていないだけでしょ…

インターフェイスと抽象クラス

奥深いです。現在一番勉強したい部分でもありますね。(3Dの勉強もですが) プログラマにとっては綺麗なソースを書くことが美しさでもあると聞いていますので、ここは核となる部分。何かポイントがあったら、基礎の部分も含めてどんどん書いていきたいなぁ。…

問題

C++

今日はC++のテストを受けました。 その中で間違えてしまった部分を書きます。 プログラムコードとデータを組み合わせることによって作成されるものは? オブジェクト インターフェイス 正解は、オブジェクトです。 インターフェイスは、そのクラスを特徴付け…

暗黙の型変換の対策

C++

昨日は暗黙の型変換について書きましたが、ものによっては暗黙の型変換をしたくない時もあります。そこで、explicit修飾子というキーワードがあります。 explicit 修飾子 指定したコンストラクタは、暗黙の型変換に使用できなくなる。 使用方法:explicit コ…

暗黙の型変換

C++

昨日の、 CBase obj = 1; の件はC++でいう『暗黙の型変換』でした。つまりクラス側では、クラス自身を引数にとる『代入演算子』がオーバーロードされていました。 授業でやっていたのに、さっぱり忘れていたのでメモ。 コンパイルの考え(クラスはCBaseとす…

演算子のオーバーロード・継承のアクセス指定子

C++

とりあえず、はてなダイアリーやってみました。やりながら慣れてみますね。 C++の授業を受け終わって、テストをやったのですが演算子のオーバーロード、継承のアクセス指定子、コンパイルの動きに関して弱かったので自分のメモとして記します。 演算子のオー…