2010-01-01から1年間の記事一覧
Javaを使うことになったのでまとめてみました。 コメント // comment /* 複数行comment */ 変数 int i = 0; static int i = 0; //静的変数 static final float PI = 3.141592; //定数 データ型とリテラル プリミティブなデータ型 boolean byte char short in…
クラスの宣言 クラスはフィールド(属性)とメソッド(操作)で構成されます。 Class -field1 -field2 +method1 +method2 クラス宣言の例 class Person{ private int m_age; //フィールド private String m_name; //フィールド public void sleep() { //メソッド…
クラスの継承 class Base { //... } class Sub extends Base{ //... } メソッドのオーバーライド class Base { void execute(){ //Baseクラスが行う処理 } } public class Sub extends Base{ void execute(){ //Subクラスが行う処理 } } //利用例 Sub obj = …
wxWidgetsでXRCを使うのに"wxmsw28d_xrc.lib"だけリンクさせれば十分だと思ったのですが、コンパイルが通らなかったので色々試したところ以下のライブラリをリンクするとうまくいきました。 Debugビルド wxmsw28d_xrc.lib wxbase28d_xml.lib wxmsw28d_adv.li…
VC++ 2008 ExpressでwxWidgetsを使うための設定方法をまとめてみました。(2010/9/11時点の情報) 参考サイト: http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide wxWidgetsとは wxWidgetsとはC++でGUIを作成することができるクロスプラットフォーム…
光源から照射された物体を描画するための処理をシェーディングと呼びます。実際のモデルでは、光源から直接物体に到達する光だけでなく、間接的に物体を照らす光や、物体表面で反射・透過した光などが存在します。 環境光(ambient light) 光源から周囲と相互…
隠面消去を行うには、バックフェースカリング、奥行きソート法、スキャンライン法、zバッファ法などいくつかの手法が知られています。 zバッファ法は、ウインドウの各画素について投影面から物体の距離(デプス)の値が保存されたバッファを作成して、距離が大…
CGにおける座標系 CGで使われる座標系には次のようなものがあります。 モデリング座標系 各頂点の座標系 ワールド座標系 物体が配置されている座標系 視点座標系 カメラからみた座標系 デバイス座標系 長さ2×2で中心を原点とした正方形型の座標系 ウインドウ…
OpenGLの使い方についてまとめてみたいと思います。サンプルコードはPyOpenGLで作成しています。 OpenGL プラットフォーム非依存のグラフィクス用インターフェース。関数の接頭辞はgl GLU OpenGLのいくつかの関数を利用して有用な機能としてまとめたライブラ…
デフォルトの状態では原点がウインドウの中心で、幅高さが1.0の座標系で設定されています。 描画色の設定 glColor**関数で色を設定します。 例えばglColor3fはfloat型の値RGB値を引数にする関数、glColor4dはdouble型のRGBA値を引数にします。 RGBの値は0.0…
ループの基本形です。テンプレート引数をデクリメントして再帰的に呼び出すことで実現することができます。 template <int N>struct UNROLL { static void iteration(int i) { cout<< i <<endl; UNROLL<N-1>::iteration(i+1); } }; template <> struct UNROLL<0>{ static void iterati</endl;></int>…
参考サイト(英語)→http://processing.org/learning/tutorials/eclipse/ Eclipseを導入してからのお話です。 新しいプロジェクトを作る File→New→ProjectでJava Projectを作成。 ライブラリの追加 processing/lib/core.jarがprocessingのコアライブラリのよう…
Waveフォーマット ファイルの先頭から順に「RIFFヘッダ」,「fmtチャンク」,「dataチャンク」と呼ばれるメモリ領域に分かれています。 各チャンクはそれぞれ識別子とチャンクのサイズ、データと分かれており、波形データはdataチャンクのデータ部分に記録され…
TextFieldクラス テキストを表示するには、TextFieldクラスを利用します。TextFieldクラスのプロパティには以下のものがあります。 var myTextField :TextField = new TextField(); myTextField.text = "12345"; addChild(myTextField); 色の設定 myTextFiel…
音声ファイルの再生 音声を扱うクラスはSoundクラスです。これはEventDispatcherクラスの派生クラスであり、DisplayObjectは継承していません。 外部から音声データを読み込む場合は、画像データのときと同様にロードが完了するまで待つ必要があります。その…
Actionscriptで画像を扱うにはBitmapクラスやBitmapDataクラスを利用します。 BitmapDataクラス Bitmap画像の各画素データを記憶するクラスです。 プロパティ width:int height:int 幅と高さ メソッド 画素値の取得 getPixel(x:int, y:int):uint getPixel32(…
FilterはBitmapFilterの派生クラスとして様々なものが定義されています。 DisplayObjectクラスにはfilterという配列のプロパティを持っており、この表示オブジェクトにかけたいフィルタを格納します。 フィルタの追加 各種フィルタはflash.filtersで定義され…
プロジェクトの作成 Project>New ProjectからAS3 projectを選択 Mainクラスの作成 必須です。プロジェクトを作成すると自動生成されています。 package { import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { publ…
DisplayObjectのクラス継承関係 Actionscriptでは組み込み型以外はすべてObjectクラスを継承しています。グラフィクスを描くためのSpriteやMovieClipクラスや画像を表示するためのBitmapクラスなど、基本的に表示するものは全てDisplayObjectを継承していま…
絵を描くにはSpriteクラスのgraphicsプロパティを利用します。 簡単なSampleクラスを例にとって基本的な図形を描いてみます。 package { import flash.display.Sprite; public class Sample extends Sprite { public function Sample():void { myDrawRect();…
AS3では、イベントの仕組みはEventDispatcherクラスで定義されています。SpriteやMovieClipなど代表的なクラスは全てEventDispatcherクラスを継承しているのでイベント処理を行うことができます。 イベントリスナー イベントを受け取るための処理をイベント…
matplotlibはpythonでグラフを描くためのライブラリです。numpyなどと組み合わせると簡易matlabのような環境を整えることができます。 インストール 公式サイト→http://matplotlib.sourceforge.net/index.html matplotlib 0.99.1 is available for download…
準備 データ処理用にnumpy、プロット用にpyplot、3次元なのでmpl_toolkits.mplot3dをインポートします。 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np 描画するデータの作成 3次元で描画するにはメッシュ(2…
pythonでは、*argsという書式を使うと関数へ可変個数の引数を渡すことができます。 def function(arg1, arg2, *args): print "arg1:", arg1 print "arg2:", arg2 for arg in args: print "arg:", arg function(0, 1, 2 , "aaa", "bbb") arg1: 0 arg2: 1 arg:…
matplotlibで描いたグラフをwxPythonのパネル上に表示できると、matplotlibの機能を直接利用できるアプリケーションを作成することができます。次のコードは、3次元のグラフをパネル上にプロットさせて表示させた例です。 import matplotlib matplotlib.inte…
matplotlibで画像を表示させるための手順について。 matplotlibはPILを利用して画像の描画を行っているため、PILの機能に準じた処理になります。PILを使って画像の値を配列形式として読み込む作業を、matplotlibを使うと簡単に行うことができます。 画像の読…
PyOpenGLはOpenGLをPythonで扱うためのライブラリです。 PyOpenGL3.0のインストール PyOpenGL3.0の公式サイトhttp://pyopengl.sourceforge.net/documentation/installation.html Downloads>PyOpenGLからダウンロード。PyOpenGL-3.0.1.win32.exeを起動すると…
package パッケージを読み込むには次のようにimport文を用います。 import package名.クラス名 import package名.* //指定したpackage内の全てのクラスを読み込む クラスの定義 クラスおよびメンバ変数とメソッドの定義は次のようにpackageの中に記述します…
PyDevが既にインストールされているものとします。 OpenCV2.0をProgram Filesにインストールしている場合は、C:\Program Files\OpenCV\Python2.6\Lib\site-packagesにpython用opencvライブラリが入っているので、ここにパスを通します。 Window>Preference>P…
条件分岐 コンパイル時に条件分岐を行うためのテンプレートの使い方です。 テンプレート引数にtrueまたはflaseを指定すると、それぞれ100,200が代入されるようにしてみます。 //テンプレート引数にtrueを入れた場合 cout << 100 << endl;//100 //テンプレー…