catalinaの備忘録

ソフトウェアやハードウェアの備忘録。後で逆引きできるように。

2014-01-01から1年間の記事一覧

Arduinoを使って魔法陣ライトアッププロジェクト(魔法陣側のライトアップシステム検証)

コスプレで魔法詠唱中には魔法陣を出したいプロジェクト。 テープLEDを使った電飾は実現可能だということがわかったので、制御モジュールも自作しようということで作り始めました。 魔法陣モジュールの全体図 前回のブログエントリで、テープLEDを使ったライ…

魔法陣コースター作ってみた

経緯 コスプレで足元に魔法陣出したい。杖振り回すと、魔法陣と杖が連動して光ってほしい。 というわけで、実現可能性を検証するために色々試してみた。 いい感じになったので、マグカップとか置けるようにコースターにしてみました。 まずは写真。 通常光で…

Maker fair Tokyo2014いってきた

何か面白いもの無いかなとMaker fair Tokyo 2014いってきました。 こういう場は刺激的で楽しい。 自分も新しいものを作り出そうっていうエネルギー分けてもらえる。 というわけで、見て回った範囲をざっと写真で。 と思ったけどブログに載せていいかどうかほ…

boost::streambufの内部構造の調査

以前書いたエントリのboost::asioの続き的なもの。 boost::streambufというものをを使うと、バッファの細かいことを意識せずにread/writeをできるので便利そうだと感じた。 ただ、コレって内部実装によって性能に大きな影響が出るんじゃないかな?という疑問…

OpenGLでパーティクル実験

ひとまず条件付きでできたので、アップロード。 mmdviewリポジトリのparticleブランチ コミットNo: 94b7ed9a81ab6d54c8f721a71db4b89ca6bf47b0 javoren/mmdview · GitHub 中心から放射状に広がるパーティクル 見ていて飽きない。特に背景真っ黒だから、加算…

openGLでMMDモデルを表示する

前回のエントリまででモデルしか表示できていなかったけども、今回はテクスチャに対応した。 あとは、しくみを変更して高速化した。 これでMMDを扱うための最低限の機能は実装できたはず。 とりあえずモデルを表示するという意味合いでは。 (このブログエン…

opeglでmmdモデルを表示してみる

linux上でやってみようということでやってみたらできた。まだテクスチャうまくはれてないですが。 とりあえずスクリーンショット。 モデルはこちらからお借りしました。 VPVP wiki - モデルデータ/アニメ関連/ま行 プログラムのソースコードはこちら。テクス…

WindowsストアアプリをC++で作る(前準備)

WindowsストアアプリでC++のライブラリ使いたいと思い、以下のリンク先に色々書いてあったので実験してみた。 MSDN Blogs 結果 とりあえず手順通りに実行したらできた。 手順とか考え方 自分の認識では、ソフトウェアレイヤーで考えると3層構造に相当する感…

aruduinoでフルカラーLED制御

コスプレで魔法詠唱中の演出で、オーブを光らせるにあたって色をどうしようかと考えた。 赤色オーブだから基本的に赤か無色になってしまうのだが、どのくらいの差があるのか試してみる。 実験のたびにLEDと抵抗を付け替えていては手間がかかるので、フルカラ…

PWM制御でLEDの明るさ制御

コスプレ用の小物でオーブを作ってあるので、そのオーブの中に明かりを入れて点灯させようと思う。 明かりの点灯のさせ方 魔力を集中させている状態を明かりで演出したい。 コスプレのキャラ的には攻撃魔法ではなく回復とか支援系なので、レーザーのような激…

フォトインタラプタの物体検出を割り込みで処理する

前回はフォトインタラプタの入力をreadでポーリングして、フォトインタラプタの隙間にものがあるかどうかを調べた。 今回はポーリングではなく割り込みで処理することにした。 プログラムはさらに簡単に。 回路図も大幅な変更は無いので、メモ書き程度にとど…

ARDUINO:フォトインタラプタで物体の通過を検出する

ARDUINOでコスプレ用小物を作ろうの巻き。 必要になりそうなパーツを一通り買いだしてきたので、設計前にパーツの特性を調べていくことにしました。 まずはモータの回転角度を検出するのに使おうと考えているフォトインタラプタの実験。 使うパーツはCNZ1023…

Arduinoでステッピングモータ制御

前回の記事でDCモータ制御したけども、速度制御とか回転方向とかもっと細かく制御したいので、ステッピングモータを試してみることにした。 試しに使ったのはSPG20-332。 4相ユニポーラ方式。 というわけで回路図。 回路図の説明。 左端のコネクタがArduino…

ArduinoでDCモータ制御

Arduinoでコスプレアイテムの電飾を制御しよう第2段 オーブ内部でLEDを動かすには、ステッピングモータかDCモータあたりでやってみようと。 クランク機構は週末などの時間とれたときに作るとして、とりあえずDCモータが動くことの確認。 逆起電流の処置やっ…

Arduinoで電子工作を始める。

いきなりですが、Arudino動かしてみました。 簡単なサンプルだけども、マイコンなんかよりもずっと簡単。トラ技とかInterfaceの付録についてたV850とかH8動かすときは随分と苦労した記憶がある。 簡単な手順メモ。 1, 開発環境をダウンロードする http://ard…

githubはじめました

MMDのモデルだけ読み込めたのでとりあえずコードあげてみました。 https://github.com/javoren/mmdview テクスチャうまくはれていないけども、今後いろいろやっていきたいなと思ってます。 かしこ。

OpenCVでクロマキー

クロマキーとは 3Dになる以前のゲームなんかでよく使われていた、抜け色転送の機能を使ってみた。映像用語ではクロマキーとかなんとか。 たとえば、お天気キャスターが青色のスクリーン前で演技して天気図を重ね合わせるアレですね。 コード Mat src; if( …

c++のboostを試してみる(その2)

直前のエントリでそもそもgccのバージョンが残念だったわけだけども。 そもそも古いバージョンでも、古いサンプルコードなら通るのか?と思って実験。 http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples/cpp03_examples.html Makefileの内…

c++のboostを試してみる

さて、boostでサーバ書くのがすっごくスマートだという噂があるので適当なサンプルを動かしてみたい。 とりあえずboostのインストール。 $sudo yum boost-devel boost-devel x86_64 1.41.0-18.el6 base 5.3 M こいつが入ってくれればOK。 さて、動かしてみ…

Vmwareでopenglを実行する

VMWareにCentOS入れるところまでできたので、次はOpenGLを動かすことにする。 背景 CentOS上でopenCV使ってカードの検出を行うことができた。 次は検出した情報をもとに3Dモデルのレンダリングを行いたい。(カードの位置、傾きに応じてレンダリングしたりet…

vmwareでの環境構築

なんかいろいろ手こずったのでメモ。 (6/21, smb自動起動を追加) 1, gccは入ってるけどg++が入ってないのでインストールする sudo yum install gcc-c++ これをやっておかないとc++のビルドでcc1がありませんとか言われる。 2, ネットワークのNAT設定とsshdの…

virtualboxにOpenGLをインストールしてビルド準備をする

VirtualBox上でOpenGLを使ってレンダリングできるようにする準備。 自分の環境ではminimalでインストールしてあるのでオフスクリーンレンダリングで試すことにする。 VirtualBoxの設定 こちらのサイトを参考に3Dアクセラレータを有効にする。 http://vboxman…

opencvでカードの傾きを検出する

前回のエントリまでで、カードの輪郭抽出までできたので、今回はその輪郭をもとにカードの傾きを求めることにする。 カードの傾きを求めることができれば、そのカードの上にARでモデルを表示するとき、カードの姿勢に追従することができる。 カードの傾きと…

C++でOpenCv

Opencvで輪郭抽出、実験としてJavaでやっていたけど、今回はC++でやってみることにした。やっぱり慣れてる言語っていいね。 2014/06/04追記:コード部分の体裁を修正 char* filename = argc == 2 ? argv[1] : (char*)"ajani.jpg"; if( (src = imread(filenam…

OpenCVでアルファブレンディング

OpenCVで画像同士を重ね合わせるとき、アルファブレンディングができたら演出の幅が広がりそうということで試してみた。 まずは実験ということで、文字を記述した画像を作っておいて、これを本来の画像にオーバーレイ表示する手法を取ることにした。 とりあ…

OpenCVで画像のリサイズ色々

OpenCVで画像をリサイズする方法メモ。 画像全体をリサイズ resize(src, dst, cv::Rect(320, 240), dst_size, 0, 0, INTER_LINEAR);imwrite("scale.jpg", dst); とりあえずこれで320x240にリサイズできる。ただ、アスペクト比が維持されない。(たとえば512x5…

クリーンな実験環境構築メモ

VirtualBoxにCentOS6.5環境の構築 ライブラリの依存関係を調査中。目的のプログラムを最小構成で動かしたいというありがちな要件。 問題はライブラリがほかの依存ライブラリを参照していて、どこまでが必要な機能なのかというお話。 というわけで、常にクリ…

Rで時系列のデータ分析

前回のエントリで書いたRでの動画の解析。 いい感じになってきたのでメモかねてかきかき。 Rでの三次元グラフの描画方法 scatterplot3dで3Dグラフの描画ができる。 画像に出力するためのコードはこんな感じ jpeg("output.jpg") scatterplot3d(histdata) de…

OpenCVの解析結果をRで分析する

動画サイトに色々と動画あがってるけども、再生してみないとどんな動画かわかんない。 そこで、自動でやりたい。 1, クローラで巡回して 2, OpenCvあたりでよさげな手法で解析して 3, 分析した結果をRで解析して 4, 一枚の静止画見るだけで、動画の内容がど…

Windowsストアアプリで画像の読み込みと表示

長い間ほったらかしにしていたWindowsストア向けのアプリ開発勉強再開しました。環境: C++ VisualStudio2012forWindows8まずは基礎から。と思ってhello world!やってみたけど、XAML編集するだけで終わったので次のステップに。 1, 目標 画像を表示したい。 C…