※環境はQt SDK 4.7.3, OpenGL 2.1 QtでOpenGLを利用するにはQGLWidgetクラスを利用します。このクラスはOpenGL絡みの抽象メソッドを3つ持っています。 ・initializeGL(初期化処理) ・resizeGL(フレームバッファサイズ変更時処理) ・paintGL(描画処理) 実際に…
QImageクラス QImageはpngやjpgなどいくつかのフォーマットの画像を読み込んでRawデータを保持することができるクラスです。 利用するときはqimage.hをインクルードすればよいです。 #include <qimage.h> 画像の読み込み loadメソッドを使います。 QImage img; bool re</qimage.h>…
2011/8/5 MacOSX 10.7 Lion にeclipse 3.7(Indigo)をインストールする手順です。 同時にプラグインをいくつか入れてみましたのでメモしておきました。ところどころ端折っています。 eclipseのインストール 公式サイトからJava開発環境をダウンロード → http:…
上記タイトルのメモ。まずXcodeを起動します。 プロジェクトの作成 "Create a new Xcode Project"→MacOSX→Application→"Command Line Tool"→"Next" Product Nameにプロジェクト名入力(例えば"glut_sample"), Type→"C++"→"Next" プロジェクトパスを指定して"c…
単純ミスでCGIが動作しなかったのでメモしておきます。 (あまり環境依存の話題ではないですがUbuntu10.4LTS + Apache2.2+perl5) usr/lib/cgi-bin/test.plを作成 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello, World."; ・症状:設定…
MathMLを使うのが主流になりそうですが、、 mimeTeXのダウンロード http://www.forkosh.com/mimetex.html からmimetex.zipをダウンロード→展開。展開したディレクトリに移動。 mimeTeXのコンパイル README(III.COMPILATION AND INSTALLATION)にコンパイル手…
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:…