ProceesingP3D
emacsによるpdeファイルの編集
mac osx上で.
- Processing(12/03/24)の環境設定で,"Use external editor"をcheck(最新版(13/02/24)には見当たらない)
- processing-mode.elをここよりダウンロード
- processing-mode.el
- .emacsを編集.
- 編集しようとするpdeファイルがあるdirectoryにprocessing-mode.elをいれて,下記のようにしている.
- あるいは,/usr/share/emacs/site-lispにcp
;; ===============================
;; Processing mode
;; ==============================
(add-to-list 'load-path "./")
(autoload 'processing-mode "processing-mode" "Processing mode" t)
(add-to-list 'auto-mode-alist '("\\.pde$" . processing-mode))
(setq processing-location "/path/to/processing")
データの読み込み
FloatTable.pdeをダウンロードして,おなじフォルダーの中に入れておく.次のようにして,39行2列のデータを読み込んでいる.ただし,
- 用意するデータファイルの一行目はデータ名を期待している.あるいは,読み飛ばす
- すべての行の先頭はタブを入れておく.
FloatTable data;
float[][] data_point = new float[40][2];
data = new FloatTable("tmp.data");
for (int row = 0; row < 39; row++) {//tsv_gyou
for (int col = 0; col < 2; col++) {
data_point[row][col] = size*data.getFloat(row, col)/2.0;
}
}
3次元表示
void setup() {
size (800, 600, P3D);
colorMode(RGB, 100);
}
で準備完了.translateで原点をずらしておくと便利.
translate(width/2,height/2,0); camera(0, 0, depth/20, 0, 0, 0, 0, 1, 0);
坂本作のrotate部分.同じようにしてcameraの位置をうまく動かせばzoom, translateもできるはずだが...
if (mousePressed) {
mvX=mouseX-oldX;
mvY=mouseY-oldY;
oldX=mouseX;
oldY=mouseY;
}
else {
mvX=0;
mvY=0;
oldX=mouseX;
oldY=mouseY;
}
nowX += mvX;
nowY -= mvY;
rotateX(radians(nowY/3));
rotateY(radians(nowX/3));
Keyword(s):
References:[ProgrammingMemo]