ROOTStudy

金曜日, 5月 25, 2007

Tips:2次元線形補間と3次元線形補間の式


2次元バイリニア法の式は比較的早く見つかるが、
3次元(voxel)線形補間の式は見つからなかった。
備忘録として載せる。(図はクリックで拡大)

火曜日, 5月 22, 2007

Tips:VC++6.0で関数の「引数」を変更する

関数の引数を変更するとツリーの参照から外れてしまうことがある。
genericクラスの関数が書かれているのは*.cppと*.hなので、
最初に*.cppの引数を変え、その後で「・・・の宣言位置を表示」で
*.hの宣言を表示させると探す手間が省ける。

月曜日, 5月 21, 2007

メモ:再利用できるコードが作りにくい理由

最新のテクノロジは大抵新しい関数セットか新しい文法として用意されていて、
便利だけれど次のバージョンで呼び出しの形が変わる危険性を持つ。

例:
文法の仕様全体にある程度理解をもたなければ、
10.0と10.が文法上等価であることはわかっても、
どちらかの表記は将来的にサポートされなくなるかも、と心配することは
ヒトの連想として十分自然である。
そしてコードとして安定したバージョンは存在しても、
そのコードのみでスレッドやネットワークなどの最新機能を一から記述するには
あまりにも非効率である場合が多い。

それで道具としてコードを書くプログラマは、いきおいどちらかに傾いていく:
「計算」に徹する、アスキーやバイナリの入出力のみの枯れたコードのコンソールアプリか、
「表示」に徹するシステムアプリか。
両者はほとんどの場合、個人レベルでは統合されない。

新しい機能が追加され、それを関数ラッパーで包んでいく限り、
そしてその「サービス提供」がソフト会社の収入である限り、
計算機コードが真の意味で
「再利用可能」と言える瞬間は存在しない。

水曜日, 5月 09, 2007

トラブル:VC++6.0でテキストボックスオブジェクトの値を取得できない


Visual Basic6.0以降ではテキストボックスは「オブジェクト」であって、

ダイアログから

a = TextBox1.value

のように値を取得できるが、

Visual C++6.0ではプロパティボックスが存在しない。


これはダイアログ自体の「メンバ変数」としてテキストボックスの

値取得・設定を行うような操作にユーザーからは見える。


ダイアログを出してテキストボックスを作成した後、

テキストボックスを右クリック→ClassWizardで

メンバIDと変数の表が現れる。

これに値のタイプと変数を入力すれば

(たとえば、TextBox1にm_text1というdouble型変数を割り付けた場合)

クラス外ではCXXXDlg.m_text1のようにして使える。

CXXXDlgクラス内では変数m_text1として使える。
値の取得にはUpdateData(TRUE);
を取得前に行い、
値の設定にはUpdateData(FALSE);
を設定後に行う。

火曜日, 5月 08, 2007

トラブル:PCが突然起動しなくなる

起動時に「Alert! Low Battery」が表示されていた場合、
PC内部のボタン電池が切れかかっている。
DELL Dimension8300の場合、
リチウム電池 3V・型番CR2032を購入して交換する。

補足:
PCの処理速度が向上したように感じる。

月曜日, 5月 07, 2007

トラブル:Blenderファイルに別ファイルとして作成したBlenderオブジェクトを追加したい


File->Append or Link ->ファイル名->Objectとたどり、
出てきたオブジェクト名を右クリック+右ドラッグで選択、Loadする。