2010-03-22から1日間の記事一覧

NumPyのarrayとPILの変換

Python Imaging LibraryのImageクラスのデータをNumpyのarrayとして扱うための方法について。 Numpyの関数を使って直接pixel値を書き換えることが目標です。 まずは両方のライブラリをインポートしておきます。 import numpy import Image PILからNumpyのarr…

テンプレート関数とテンプレートクラス

テンプレートを使った関数とクラスについてのまとめです。 テンプレートが必要な理由 float型の要素を持つベクトルと、int型の要素をもつベクトルを作成することを考えてみます。ベクトル同士の演算は型に依存しない処理ですが、それぞれの型に対してfVector…

C++で作るベクトルクラス その3 〜可変長ベクトル

可変長でN個の要素を持つベクトルを作成するときの注意事項について。 メンバ変数 ベクトルクラスが持つべき情報は、要素の個数と1次元配列の先頭アドレスになります。 class Vector{ private: int m_size; float* m_val; コンストラクタによる初期化につい…

ビューポート変換の式

2次元ワールド座標から2次元ディスプレイ座標への変換式のメモです。 行列を使わずに直接計算しています。 class ViewportTransform{ protected: //Device(Screen)座標系における原点座標 float m_screenOriginX; float m_screenOriginY; //倍率 screen / wo…