ちはやふる日記


Electron版 PazuCraft

2016年12月18日 20:09更新

この投稿は Electron Advent Calendar 2016 の 17日目 の記事です。

PazuCraftとは

RICOH THETA で撮影した全天球画像から立体のペーパークラフトの展開図を作成するアプリです。パソコンアプリやスマホアプリを使ってグルグル回転させて閲覧している全天球画像をプリンターで印刷して立体に組み上げることで机に置いて飾ることができます。

Paper craft

PazuCraftは最初にRuby(コマンドライン)版アプリを開発してアルゴリズムを検証。次にiOSアプリに展開したのですが、スマホ(タブレット)では如何せんマシンパワーが低く展開図の作成に数分から數十分かかっています。特に解像度が上がったTHETA Sの画像を低スペックのiPhoneで展開すると処理中にアプリが落ちていました。そこで今回PC(Win/Mac/Linux)のデスクトップアプリに作り替えました。

BEFORE AFTER

 

ペーパークラフト作成方法

 

開発環境

  • Electron 1.4.12
  • TypeScript 2.1.4
  • gulp 3.9.1

 

感想

画像処理はHTML5のCANVASを直接操作しましたが、画像変形のアルゴリズムをすでに確立していたので、それほど苦労はありませんでした。 一方で途切れ途切れに開発作業を続けて半年近くかかったため、開発の途中でElectronが0.36系から1.4系へ TypeScriptが1.4系から2.x系へと大幅なバージョンアップを乗り越えることになってしまいました。 Electronは1.x系へのバージョンアップでremoteオブジェクトなどが大きく変更されて、以前のコードが大きく書き直しになり大変でした。 TypeScriptも2.x系へのバージョンアップで型定義の方法がtsdからnode_modulesによる管理に代わり、やはり以前のビルド構成では動作しなくなり苦労しました。

 

ソースコード・実行ファイル



編集

連絡先 (E-Mail)

mail address