# -*- coding: sjis-dos -*-
# author: Tomoya Kamata

pijectorの使い方説明

===========
■構成ファイル
===========

 pijector
 ├── find_homography.py	平面射影行列の計算スクリプト
 ├── CQ-logo-854x480.png	CQロゴ画像
 ├── Makefile　メイクファイル
 ├── bird.png　鳥の画像
 ├── fb.cpp　フレームバッファ管理モジュール
 ├── fb.h　フレームバッファ管理モジュールのヘッダファイル
 ├── get-web-png.sh　WEBサイトの画面イメージを生成するスクリプト
 ├── light.png　ニューステロップ画面の背景画像
 ├── main.cpp　メインモジュール
 ├── pijector.sh　自動起動スクリプト
 ├── readme.txt　本ファイル
 ├── toy2.png　ぬいぐるみの画像
 ├── ui.cpp　ユーザインターフェース管理モジュール
 ├── ui.h　ユーザインターフェース管理モジュールのヘッダファイル
 ├── ui_config_warp.cpp　ひずみ調整モードモジュール
 ├── ui_image.cpp　画像表示モードモジュール
 ├── ui_telop.cpp　ニューステロップモードモジュール
 ├── utils.cpp　雑用モジュール
 └── utils.h　雑用モジュールのヘッダファイル

===========
■動作環境
===========

次の環境で動作確認しております
Raspberry Pi Model B/ Pi 2 Model B

===========
■使用機器
===========
プロジェクタ本体：サンワダイレクト 
ゲームパッド：ELECOM JC-U3412SBK
USB無線LAN：BUFFELO WLI-UC-GNM


===========
■起動時のWEB画面取得
===========

アプリ起動時に，CQ出版社のウエブサイトを取得しに行くのに５秒程度のウエイトが入ります．
main.cppの85行目から88行目までをコメントアウトすると，WEB画面取得をやめることができます．
また，表示するウエブサイトを変更するには，main.cppの85行目のURL文字列を変更します．


===========
■TrueTypeフォントの用意
===========
ニューステロップの表示にTrueTypeフォントが必要です．
プログラム上では，Ricty-Regular.ttfを使用しておりますが，
他のフォントを使う場合は，ui_telop.cppの95行目にあるフォントファイル名を変更してください．

m_font = TTF_OpenFont("Ricty-Regular.ttf", 80);

なおRicty-Regular.ttfは，次のサイトからソースを入手してコンパイルすれば入手可能です．
https://github.com/yascentur/Ricty

===========
■ライブラリなどの入手
===========
sudo apt-get -y install fbset libopencv-dev libsdl1.2-dev libsdl-ttf2.0-dev libcurl4-openssl-dev libtinyxml2-dev xvfb cutycapt


===========
■自動起動の設定
===========
/etc/rc.localに次の既述を追加します.(/usr/local/pijectorフォルダに本フォルダを配置した場合)

rc.localの最後に追加
/usr/local/pijector/pijector.sh

ゲームパッドをラズベリーパイに接続して起動すると，pijectorが自動起動するようになります．
pijectorを終了させると，自動的にシャットダウンします．


===========
■利用方法
===========
pijectorを起動すると，まずCQ出版のウエブサイト画像を取得してから，歪調整モードに切り替わります．
各モードの動作は次のとおりです．

(1)ひずみ調整モード
　チェスパターンが表示されます．ゲームパッドのボタン10番を押すとpijectorが終了します．
　主な調整方法は次のとおりです．
　十字ボタンのみの操作で，オフセット調整
　ボタン1番同時押しの十字ボタン操作で，スキュー補正調整
　ボタン2番同時押しの十字ボタン操作で，台形補正調整
　ボタン3番同時押しの十字ボタン操作で，アスペクト調整
　ボタン4番同時押しの十字ボタン操作で，回転調整
　ボタン11番押下で，リアルタイム平面射影行列計算による表示モードに切り替え(デフォルト)
　ボタン12番押下で，ルックアップテーブル補正による表示モードに切り替え
　ボタン9番　画像表示モード(2)へ切り替え
　ボタン10番　アプリ終了

(2)画像表示モード
　画像を閲覧したり，物体表面に投影したりするモードです．
　プログラムでは，サンプルとして４種類の画面を表示できます．
　①起動時にネットから取得したCQ出版のウエブサイト画面
　②CQ出版とInterfaceのロゴ
　③オカメインコの写真
　④なまけもののぬいぐるみの写真
　ボタン1番か4番の操作で，順番に切り替わります
　ボタン9番の操作で，(3)テロップニュース表示モードになります
　ボタン10番の操作で，(1)ひずみ調整モードになります

(3)テロップニュース表示モード
　スポット光を照らしながら，yahoo newsから取得したテキストニュースを横スクロール表示します
　ボタン9番の操作で，(2)画像表示モードになります．
　ボタン10番の操作で，(1)ひずみ調整モードになります．

詳しくは，Interface 2015年5月号をご覧ください

--------------------------- 以上 ---------------------------------
