「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

Processing

【Processing】配列ソート時に他の配列の要素の順番も連動させる方法

配列ソート時に他の配列の要素の順番も連動させる方法を自分用にメモ。 [ 方法 ] ArrayAをソートした時にArrayBの要素の順番も連動するようにします。 import java.util.Arrays; void setup() { final int[] ArrayA = new int[] { 2, 1, 3 }; final int[] Ar…

【Processing】自作クラスのソート方法

自作クラスのソート方法を自分用にメモ。 [ ソート方法 ] 自作クラスVector2を要素とする配列を要素のYが小さい順にソートします。 import java.util.Arrays; void setup() { final Vector2[] ArrayA = new Vector2[] { new Vector2(1, 4), new Vector2(6, 5…

【Processing】P3Dを使わずに三次元の物体の描画を試みる(2)

再びP3Dを使わずに三次元の物体の描画に挑戦してみました。 [ 実行結果 ] [ プログラム ] wasdで移動、tfghで立方体を回転できます。 final int Width_Window = 600; final int Height_Window = 600; final HashMap<Character, Boolean> InputMap = new HashMap<Character, Boolean>() {{ put('w', fa</character,></character,>…

【Processing】P3Dを使わずに三次元の物体の描画を試みる(1)

ProcessingでP3Dを使わずに三次元の物体の描画に挑戦してみました。 [ 実行結果 ] [ プログラム ] final int Width_Window = 600; final int Height_Window = 600; final int FrameRate = 60; float AngleX_Cube = 0; float AngleY_Cube = 0; float Width_Cu…

【Processing】スクリーンショットのやり方

スクリーンショットのやり方を自分用にメモ。 [ やり方 ] 「save()」でスクリーンショットを保存できます。画像はpdeファイルと同階層に保存されます。 [ 使用例 ] 以下はウィンドウを左クリックすると「ScreenShot」という名前のスクリーンショットが保存さ…

【Processing】オーディオの再生方法

オーディオの再生方法を自分用にメモ。 [ 再生方法 ] 再生したい音楽ファイルはpdeファイルと同階層にあるdataフォルダ内に入れておきます。 import ddf.minim.*; Minim Minim_; AudioSnippet Audio; void setup() { Minim_ = new Minim(this); Audio = Mini…

【Processing】複数キー同時入力の取得方法

複数キー同時取得の対応方法を自分用にメモ。 [ 対応方法 ] import java.util.HashMap; import java.util.Map; //入力を取得したいキーをあらかじめ登録しておきます。 final HashMap<Character, Boolean> InputMap = new HashMap<Character, Boolean>() {{ put('w', false); put('a', false); put('s</character,></character,>…

【Processing】HashMapの使い方

HashMapの使い方を自分用にメモすることにしました。 [ 使い方 ] 宣言 初期化 要素の追加 要素の消去 全要素の消去 要素の取得 要素の置換 長さを取得 特定の要素を含むか [ 関連記事 ] [ 使い方 ] 宣言 KeyがString型でValueがInteger型のHashMapとしてHash…

【Processing】文字列のn文字目を置換する方法

文字列のn文字目を置換する方法をメモ。 [ 方法 ] 文字列targetのn文字目をrに置換します。 String target = "abcdefg"; int n = 0; String r = "A"; target = target.substring(0, n) + r + target.substring(n + 1, target.length()); println(target);// …

【Processing】L-system(2)

[ プログラム ] import java.util.Arrays; final int Width_Window = 600; final int Height_Window = 600; final String[] V = new String[]{"F"}; final String[] S = new String[]{"+", "-", "[", "]"}; final String W = "F"; final String[][] P = {new…

【Processing】L-system(1)

[ L-systemとは ] L-Systemは、自然現象の模倣を可能にする形式文法の一種です。L-Systemは、再帰的に定義された文字列を生成することができ、これらの文字列は、植物の形態、細胞の増殖、結晶の成長など、さまざまな自然現象のモデル化に使用されます。 [ …

【Processing】入力されたキーが数字か否か判別する方法

入力されたキーが数字か否か判別する方法を自分用にメモ。 [ 判別方法 ] void draw() { } void keyPressed() { if(Character.isDigit(key)) { println("数値です。"); } else { println("数値ではないです。"); } }

【Processing】ArrayとArrayListの相互変換

ArrayをArrayListに変換する方法とListArrayをArrayに変換する方法をメモ。 [ 変換方法 ] ArrayからArrayList import java.util.ArrayList; import java.util.Arrays; import java.util.List; Integer[] ArrayTest = new Integer[]{}; ArrayList<Integer> ArrayListTe</integer>…

【Processing】頻繁に使用する関数メモ

僕が頻繁に使用する関数を自分用にメモ。 [ 関数一覧 ] 衝突を判別する関数 四角形ABCDと四角形EFGHが重なっているか判別する関数 三角形ABC内に点Pが存在するか判別する関数 四角形ABCD内に点Pが存在するか判別する関数 直線AB上に点Pが存在するか判別する…

【Processing】クリップボードへの書き込み方

クリップボードへの書き込み方を自分用にメモ。 [ 書き込み方 ] import java.awt.datatransfer.*; import java.awt.Toolkit; String Data = "あいうえお"; Clipboard Clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); StringSelection String…

【Processing】テキストファイルの書き出しと読み込みのやり方

テキストファイルの書き出しと読み込みのやり方を自分用にメモ。 [ 書き出し ] pdeファイルと同じディレクトリにテキストファイルが書き出されます。 String SaveDataName = "SaveData.txt"; String[] AryStr_SaveData = new String[3]; AryStr_SaveData[0] …

【Processing】ボロノイフィルタ

Processingでボロノイフィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後(平均化オン)使用後(平均化オフ) [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //母点…

【Processing】モザイクフィルタ

Processingでモザイクフィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後(平均化オン)使用後(平均化オフ) [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //ドッ…

【Processing】階調化フィルタ

Processingで階調化フィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //階調数 int th = 3; void setup() { PIm…

【Processing】細線化フィルタ

Processingで細線化フィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //左上カーネル float[][][] k_ul = new f…

【Processing】平均化フィルタ

Processingで平均化フィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //フィルタの一辺のサイズ(奇数) int th =…

【Processing】マウスのホイール回転を取得する方法

Processingでマウスのホイール回転を取得する方法を自分用にメモすることにしました。 [ どちら向きにホイールを回したか取得する方法 ] ※draw関数が無いとmouseWheel関数が機能しません。 void draw() { } void mouseWheel(MouseEvent MouseEvent) { float …

【Processing】マウスのボタン入力を取得する方法

Processingでマウスのボタン入力を取得する方法を自分用にメモすることにしました。 [ ボタンを押しているか判別する方法 ] void draw() { if(mousePressed) { println("ボタンを押しています。"); } else { println("ボタンを押していません。"); } } [ ど…

【Processing】ArrayListの使い方

ArrayListの使い方を自分用にメモすることにしました。 [ 使い方 ] 宣言 初期化 要素の追加 要素の挿入 要素の消去 全要素の消去 要素の取得 要素の置換 長さを取得 特定の要素を含むか 配列に変換 [ 関連記事 ] [ 使い方 ] 宣言 String型のArrayListとしてA…

【Processing】ソーベルフィルタ

Processingでソーベルフィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //縦カーネル float[][] k_v = new floa…

【Processing】エッジ検出フィルタ

Processingでエッジ検出フィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //カーネル float[][] k = new float[…

【Processing】二値化フィルタ

Processingで二値化フィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //閾値 int th = 120; void setup() { PIm…

【Processing】グレースケールフィルタ

Processingでグレースケールフィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 void setup() { PImage i = loadI…

【Processing】イラスト風フィルタ

Processingでイラスト風フィルタを作ったので残しておくことにしました。 [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実行するとpdeファイルと同じディレクトリ内にフィルタリングされた画像が保存されます。 //平均化フィルタの一辺のサイズ(奇数…

【Processing】メディアンフィルタ

Processingでメディアンフィルタを作ったので残しておくことにしました。 [ メディアンフィルタとは ] 周辺画素値の中央値(メディアン)を使って画像のノイズを除去する手法です。 www.sophia-it.com [ 使用例 ] 使用前使用後 [ プログラム ] プログラムを実…