天井への金具設置メモ

会社に屋内測位システムQuuppa*1を導入した。Quuppaは電波を発信するロケーターを天井に取り付ける必要があり、そのための工事をした。この記事は、天井への機械の吊り下げを行うための金具を設置するためのメモである。 設置後の様子 天井に設置した機械と…

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のキモは…

microbitでMicroPythonが簡単で便利、そして楽しい

先日した仕事で、無線のセンサータグ的な要件にピッタリだったので、microbitをMicroPython使って開発したんだけど、これが簡単、便利、楽しいの三拍子が揃っててよかった。 microbitのいいところ 2000円程度と高くない 入力と出力が標準装備 入力:スイッチ…

仕事場のコンテナ収納

はじめに 収納についてずっと考えてきたけど、プラスチックのコンテナを使うのが正解だとようやく分かった。よく片付いてるなと思う研究室(橋本研や梶本研など)の様子を垣間見るたびにプラスチックのコンテナがちらちら見えてたからなんとなくそうなんだろ…

IndoorAtlas社 "Mapping Quick Start Guide with MapCreator2.0" の抄訳

Mapping Quick Start Guide with MapCreator 2 - IndoorAtlasIndoorAtlasとは磁場を測定することで建物内での位置測位が可能なシステム&会社名。SDKは公開されていて無料の枠で使えたりするのだが、使う際にはまず最初に位置測位を実際に使う場所の磁場をマ…

openFrameworksでやっておくとよいこと

仕事するたびに毎回忘れてしまった!って思ったりするのでまとめておく。 設計編 全体の設計を考える アプリを分けてOSCで連携する 規模が大きい & 期間が長い場合はAPIを先に定義し、各々がモックで開発するべき ofxStateMachineを使って各Stateごとの動作…

UnityのTextureで線が繋がるお絵描きをする

miso-engine.hatenablog.com oFでお絵描きしたら、今度はUnityでもやってみる。先人たちが結構やっているので、まず参考リンクから。 Unityでテクスチャにお絵描きしよう - おもちゃラボ 点を打つのではなく線を引く 上記の実装だと点なので、oFでもやったよ…

openFrameworksでマウス入力からある程度滑らかな線を引く

お絵描き機能の実現のためにタイトルのことをしたいときのソリューションをまとめておく。本気で滑らかにしたいならよりよいアルゴリズムがあるはずなので、他の場所で記事を探して欲しい。 基本 一番単純な実装は、マウスが押されている時の各フレームごと…

UnityのClothをスクリプトから操る

最近仕事でめっちゃCloth使ったのだが、Clothはスクリプトからcoefficientsを利用することで操れて楽しい。以下、簡単にClothについて箇条書き。 Clothがついてると拡大縮小が出来ないが、ClothをDestroyすると可能になる Cloth、実は実行中でもDestroyとAdd…

macOSのUnityでマルチディスプレイ時の注意点 InputModuleをハックする

Unity、少し前からPCでのマルチディスプレイに対応している。 https://docs.unity3d.com/ja/540/Manual/MultiDisplay.html対応しているのだが、macではマルチディスプレイ時に主ディスプレイ以外のマウスイベントを拾ってくれなくなる問題(少なくとも5.6.1f…

openFrameworksからのUnity入門

僕は普段、なにか表示系のものを作るときはopenFrameworksを使っているのだけど、今回3Dでグリグリや!という案件があったのでUnityを利用した。ということでoF経験者がUnityに入門する時のノウハウをまとめておく。Unityのバージョンは5.6.1f1、oFはv0.9.8…

人との距離をセンサで検知する

センサによって人を検知する方法は山ほどあるが、条件によってどのセンサを使うかは大きく変わってくる。今回は人がいるいないや動き以外に人との距離もセンシングしたいという条件で、センサを選定した。 人を検知するセンサの種類 赤外線センサ レーザーセ…

Mac対応コンピュータビジョン向けカメラ

先日の仕事で、Webカメラの性能だと微妙だなって感じがあったので、コンピュータビジョン向けカメラを検討し、導入してみたので共有。 使ってみた感想的にはWebカメラで足りるならWebカメラ使ったほうが気軽でいいね、といったところ。もちろんコンピュータ…

ビデオ会議で重要なのは音声だった

ビデオ会議システムを構築したところ、スムーズなコミュニケーションに重要なのは、 音声の質 映像のフレームレート 映像の解像度 という順に重要だということがわかった。音声でまず問題になったのがエコーで、エコーキャンセラーをソフトウェア的に実現*1…

openFrameworksでWebカメラを自動的に接続する

oFで自動的に接続するシリーズ。ofVideoGrabberで適当にデバイスの数字とかでやってるとノートPC内蔵のWebカメラ起動しちゃったりするんだけど、それを避けて常に特定のカメラを開けるようにする。避け方は簡単でWebカメラの名前(=ofVideoDeviceのdeviceNam…

openFrameworksからArduino Unoを自動的に接続する

openFrameworks v0.9.8毎回昔のコードを掘り出すのがめんどくさくなってきたので、ここに書いておく。たぶんArduinoUnoに限らずFTDIのチップで動くUSBシリアル変換デバイスを開くと思う。 ofSerial serial; bool serialStatus; void HogeClass::setup(){ ser…

openFrameworksのofxOSCでデカい(65KB以上くらい)データを送る

openFramworksのofxOSCでは画像を送ることが可能だが、サンプルにも書かれている通り、一定以上のサイズはサンプルのコードでは送る事ができない。具体的には大体65000Byte以上くらいなのだが、これはOSCが利用しているUDPのペイロードサイズの制限(より正…

Mac対応大型タッチパネルについて

Windowsが8でタッチを打ち出して以来、小型-中型ディスプレイはタッチのラインナップが存在して当たり前の状況だが、デジタルサイネージ向けサイズ(=大型)になると少し状況が異なる上に、Mac対応しているものは少なかったのでまとめた。 デジタルサイネー…

2016年度の社会貢献活動報告

経緯 2016年の3月からフルタイマーになったし、20歳はとっくに過ぎていたので大人の責務を果たすかと思い、今年度は社会貢献をいくつかしました。昔からOSSの使い方はブログに書いて貢献しているのですが、アフィリエイトなどの実益もあるのであまりコントリ…

2014年度下半期から2016年度までの仕事

仕事のまとめ、久しぶりなので結構多めです。前回の記事はこちらです。 2012年下半期から2014年上半期までしてきたこと - miso-engine Favrica以外の仕事はすべてアートアンドプログラム社でやっています。 Favrica iOS版リニューアル 2014年度下半期 ~ 2015…

2016年度のプロフィール

2017年2月現在のプロフィールです。川鍋徹と申します。アートアンドプログラム株式会社でエンジニアをしています。最近はいわゆるIoT、WiFi、BLEやZigBeeなど無線を利用して繋がるデバイスの開発や、特殊なハードウェアの制御*1、インタラクティブなシステム…

AXIS 2017年2月号 vol.185 『特集「テクノロジーと創造力が導く新体験」』にコメントが掲載されました

AXIS(アクシス) 2017年 02 月号 [雑誌]出版社/メーカー: アクシス発売日: 2016/12/29メディア: 雑誌この商品を含むブログを見る 掲載ページ 37-38p 「テクノロジーでブランドを体現するウィンドウディスプレイ」 概要と経緯 先日ファッションブランドのANREA…

電子工作向けの持ち運び用工具箱

設営や出張修理などで道具や工具を持ち運ぶ必要が出てきたため、いくつかツールケースを試した。入れる道具としては、ハンダ付けのための各種とラジオペンチ、ニッパー、コードストリッパー、ドライバー、テスターなどだ。結果としては、アステージのアルミ…

Ultimaker2のコツ

仕事でUltimaker2を使ったので、得たコツをまとめました。 ビルドプレート レベルの調整 ビルドプレートのレベル(高さ)調整は大変重要です。最初の方のプリント層がきれいにプリントされるまでレベル調整しましょう。調整結果はレイヤーが重なる板状のもの…

Ultimaker2のアップグレード

Ultimaker2という3Dプリンタを会社で使っているのですが、Extrusion Upgrade Kitなるものが出たので購入しアップグレードしてみました。これを装備すると2から2+として販売されているものとほぼ同じになります。日本ではBRULÉが49800円で販売しています。 ht…

アプリケーションが終了したら自動的に再起動させるAppleScript

タイトルのものを作ったので共有。動作としては5秒ごとにApplicationsディレクトリの"hoge.app"が起動していなかったら起動するというスクリプト。コードの該当箇所を変えれば秒数、起動アプリケーションが変えられる。 展示用のスクリプトで、異常終了した…