プログラミング

macOSでのopenFrameworksのIDEはQt Creatorが良かった

openFrameworksもv0.10.0がリリースされたことだしと思い、oFを書く時のmacOSのIDEを調査&比較してみた。結果はQt Creatorがコード補完の精度と速度、アドオンの扱いやすさの点でベストだと思う。比較したIDEは以下の3つ。 Xcode 9.3.1 Visual Studio Code …

座標をメッシュワープする時の考え方

先日openFramworksでテクスチャのメッシュワープのような形で座標のメッシュワープをすることになったのだが、メッシュワープはメッシュの四角形それぞれの透視変換の集合ではない、という落とし穴にハマった。てっきりそう思ってたので透視変換行列を計算し…

GLSLで座標から角度を取得するためのatan2と角度のラップ

座標から角度を求めるatan2 フラグメントシェーダーを使っててある場所とある場所の角度を求めたい時がある。今回はGLSLなんだけど、atanを使えばいいのかな?と思ってやってみると円の反対側も同じ値が返ってきてしまうので微妙に使えない。C言語系統でいう…

openFrameworksでマルチモニタの時に、ofSetFullscreen()を使わずに全画面化する

OSはWindows10で、画面配置はこんな感じ。左の画面はオペレーション用にoFの画面を表示せず、右の2つの表示用画面(720P x 2 = 1280 x 1440)にまたがってフルスクリーンにしたかったのです。main.cppでofGLFWWindowSettingsを使ってウィンドウのサイズと場…

TouchDesignerのチャンネルをCHOPとスクリプトで自在に扱う

猫も杓子もTouchDesigner(以下TD)の昨今ですが、仕事で触ってみたのでノウハウをまとめてみる。僕のスキルとしては基本的にスクリプトでクリエイティブコーディングしてきてて、TDみたいなビジュアル言語なやつはMaxやPdをたまーに触ってたくらい。 TDのキ…

openFrameworksでofThreadを利用しマルチスレッドを実装する

先日openFrameworks(以下oF)を使った仕事でどうしてもシングルスレッドだと画像の処理速度が遅いのでマルチスレッドにしたことがあった。Macを使っていたので、最初はiOSアプリを作っていた時代に使い慣れていたGCDを利用していたのだけど、どうもGCDを利…

ZigBeeによるセンサネットワークを作った時のメモ

ZigBeeで複数台のモジュールから高頻度に情報を送信するネットワークを作ったので、その時のノウハウをまとめる。ZigBeeのやりとりにはXBee ZBシリーズを利用。2.4GHzのZigBeeを利用するXBeeモジュール。主要各国の規制をクリアしているのでグローバルに安心…

Arduinoのタイマーライブラリ

Arduinoでなんらかの時間的に正確な処理をしたい時、Arduinoのタイマーライブラリを利用すると簡単に出来る。ArduinoのタイマーライブラリはMsTimer2とTimerOneがあり、これらのライブラリを利用すると、一定時間ごとに関数を「割り込み(interrupt)」で呼…

シリアル通信でコンピューターがフリーズする問題と対処法

ArduinoなどのマイコンからUSBシリアル変換チップ経由でMacやPC(以下まとめてPC)とシリアル通信すると、適当に書いたPC側のシリアル通信プログラムがフリーズすることがある。これへの対処法が分かったので書いておく。 シリアル通信とバッファ マイコン、…

Quartz ComposerワークショップでGIFアニメとか作ってきました

BNN CAMP vol.8「Quartz Composerワークショップ」というonom氏が講師のワークショップに参加してきました。 BNN CAMP vol.8-11 | 株式会社ビー・エヌ・エヌ新社 WSで作ったもの このWS本当に大変楽しくって…… こんなモーショングラフィックスがパパっと作れ…