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]