(57)【要約】【課題】３Ｄオブジェクトの回転、移動、拡大縮小の自由度を向上させる。【解決手段】発光部、及び、オンのときには３Ｄオブジェクトの操作が可能な３Ｄオブジェクト操作モードになる信号を発生するボタンを有する電子ペンと、３Ｄオブジェクトを表示する表示部、表示部の上部両端に配置され発光部を撮影する撮影部、両撮影部からの発光部の画像に基づいて電子ペンの３Ｄ座標を検出する座標検出部、及び、表示部の前面の所定領域内で電子ペンのボタンがオンのときには電子ペンの動きに合わせて３Ｄオブジェクトが直接回転、移動、拡大縮小操作され、ボタンがオフのときには記３Ｄオブジェクトは静止状態のまま所定領域内で筆記動作やジェスチャー動作が可能なホバリング操作モードに切り替わる制御部を有する情報処理装置と、を備える。【選択図】図４
2017021495.tif 000002
【特許請求の範囲】
【請求項１】
発光部、及び、オンのときには３Ｄオブジェクトの操作が可能な３Ｄオブジェクト操作モードになる信号を発生するボタンを有する電子ペンと、
前記３Ｄオブジェクトを表示する表示部、前記表示部の上部両端に配置され前記発光部を撮影する撮影部、前記両撮影部からの前記発光部の画像に基づいて前記電子ペンの３Ｄ座標を検出する座標検出部、及び、前記表示部の前面の所定領域内で前記電子ペンの前記ボタンがオンのときには前記電子ペンの動きに合わせて前記３Ｄオブジェクトが直接回転、移動、拡大縮小操作され、前記ボタンがオフのときには前記３Ｄオブジェクトは静止状態のまま前記所定領域内で筆記動作やジェスチャー動作が可能なホバリング操作モードに切り替わる制御部を有する情報処理装置と、
を備えたことを特徴とする３Ｄ座標検出システム。
【請求項２】
前記電子ペンが前記表示部に接触している場合には筆記動作が可能な筆記操作モードとなることを特徴とする請求項１記載の３Ｄ座標検出システム。
【請求項３】
前記電子ペンの発光部は赤外線を発光することを特徴とする請求項１または２記載の３Ｄ座標検出システム。
【請求項４】
３Ｄオブジェクトを表示する表示部と、
前記表示部の上部両端に配置され電子ペンの発光部を撮影する撮影部と、
前記両撮影部からの前記発光部の画像に基づいて、前記電子ペンの３Ｄ座標を検出する座標検出部と、
前記表示部の前面の所定領域内で前記電子ペンのボタンがオンのときには前記電子ペンの動きに合わせて前記３Ｄオブジェクトが直接回転、移動、拡大縮小操作され、前記ボタンがオフのときには前記３Ｄオブジェクトは静止状態のまま前記所定領域内で筆記動作やジェスチャー動作が可能なホバリング操作モードに切り替わる制御部と、を備えたことを特徴とする情報処理装置。
【請求項５】
表示部、撮影部、座標検出部、及び制御部を有する情報処理装置のコンピュータが読み取り可能なプログラムであって、
前記コンピュータに、
前記表示部が、３Ｄオブジェクトを表示する手順、
前記撮影部が、前記表示部の上部両端に配置され電子ペンの発光部を撮影する手順、
前記座標検出部が、前記両撮影部からの前記発光部の画像に基づいて前記電子ペンの３Ｄ座標を検出する手順、
前記制御部が、前記表示部の前面の所定領域内で前記電子ペンの前記ボタンがオンのときには前記電子ペンの動きに合わせて前記３Ｄオブジェクトが直接回転、移動、拡大縮小操作され、前記ボタンがオフのときには前記３Ｄオブジェクトは静止状態のまま前記所定領域内で筆記動作やジェスチャー動作が可能なホバリング操作モードに切り替わる手順、
を実行させるためのプログラム。
【請求項６】
発光部、及びオンにされると３Ｄオブジェクトが操作可能な３Ｄオブジェクト操作モードとなるボタンを有する電子ペンを準備する工程、
３Ｄオブジェクトを表示する表示部の上部両端に配置された撮影部で前記電子ペンの発光部を撮影する工程、
前記両撮影部からの前記発光部の画像に基づいて前記電子ペンの３Ｄ座標を検出する工程、
前記表示部の前面の所定領域内で前記電子ペンの前記ボタンがオンのときには前記電子ペンの動きに合わせて前記３Ｄオブジェクトが直接回転、移動、拡大縮小操作され、前記ボタンがオフのときには前記３Ｄオブジェクトは静止状態のまま前記所定領域内で筆記動作やジェスチャー動作が可能なホバリング操作モードに切り替わる工程、
を備えたことを特徴とする３Ｄ座標検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、3D座標検出システム、情報処理装置、プログラム、及び3D座標検出方法に関する。
【背景技術】
【０００２】
電子ペンを用いてディスプレイをタッチしたり、なぞったり、その軌跡を表示面に表示したり、映したい内容を表示したりする電子ホワイトボードと制御方法が既に知られている（図１参照）。
【０００３】
図１は、電子ホワイトボードの概念図である。
図１において、コンピュータに接続され、上面両端に一対のカメラを配置した電子ホワイトボードが示されており、ディスプレイに電子ペンが表示されている。
【０００４】
近年、高度なグラフィックス機能を持つコンピュータの普及に伴い、3DCG（3 Dimensional Computer Graphics）を用いたコンテンツが広く普及している。しかし、今までの電子ペンでの3Dオブジェクトの操作では限れている。
【０００５】
図２は、ディスプレイと電子ペンとの関係を示す概念図である。
図２に示すように、ディスプレイに接触した状態で電子ペンは平面中の動きしか出来ないので、奥行きがある移動や回転等の動作が不十分であるという問題があった。
尚、3Dオブジェクト（3-dimension object：三次元物体）とは、三次元物体を記述するデータである。
この種の問題を解決すべく種々の提案がなされた（例えば、特許文献１参照）。
特許文献１には、3Dオブジェクトを操作目的で、筆圧情報は奥行座標として操作することが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の発明は、筆圧や傾きを利用し3Dオブジェクトを操作する方法は自由度がまだ低い、例えば自由に回転操作できないという問題がある。
【０００７】
そこで、本発明の目的は、3Dオブジェクトの回転、移動、拡大縮小の自由度を向上させることにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１に記載の発明は、発光部、及び、オンのときには3Dオブジェクトの操作が可能な3Dオブジェクト操作モードになる信号を発生するボタンを有する電子ペンと、前記3Dオブジェクトを表示する表示部、前記表示部の上部両端に配置され前記発光部を撮影する撮影部、前記両撮影部からの前記発光部の画像に基づいて前記電子ペンの3D座標を検出する座標検出部、及び、前記表示部の前面の所定領域内で前記電子ペンの前記ボタンがオンのときには前記電子ペンの動きに合わせて前記3Dオブジェクトが直接回転、移動、拡大縮小操作され、前記ボタンがオフのときには前記3Dオブジェクトは静止状態のまま前記所定領域内で筆記動作やジェスチャー動作が可能なホバリング操作モードに切り替わる制御部を有する情報処理装置と、を備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、3Dオブジェクトの回転、移動、拡大縮小の自由度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】電子ホワイトボードの概念図である。
【図２】ディスプレイと電子ペンとの関係を示す概念図である。
【図３】3D座標検出システムのハードウェアブロック図の一例である。
【図４】電子ペンの仮想操作空間における3Dオブジェクト105の概念図である。
【図５】電子ペンの仮想操作空間及び筆圧情報により拡張した仮想操作空間と3Dオブジェクト105との関係を示す概念図である。
【図６】ホバリング状態の説明図である。
【図７】一実施形態に係る情報処理装置及び電子ペンの概念図である。
【図８】図７に示した電子ペンで3D操作している状態を示す図である。
【図９】三つの走査モードの関係を示すフローチャートの一例である。
【図１０】電子ペン103のボタン104をオンからオフにした状態を示す図である。
【図１１】電子ペン103を3D操作モードで書込操作を行っている状態を示す図である。
【図１２】図３に示した3D座標検出システムの機能ブロック図の一例である。
【図１３】電子ペン103をX、Y、Z方向に移動した場合の説明図である。
【図１４】（ａ）は、図４に示した電子ペン103を直線移動した場合のフローチャートの一例であり、（ｂ）は、図４の縮小図であり、（ｃ）は、電子ペン103の移動距離の説明図である。
【図１５】（ａ）〜（ｄ）は、電子ペン103による回転操作の説明図である。
【図１６】（ａ）は、回転操作のフローチャートの一例であり、（ｂ）は、電子ペン103の移動軌跡の一例である。
【図１７】（ａ）は、電子ペン103の先端で円弧を描いた場合の回転角度を示し、（ｂ）は、3Dオブジェクト105の回転前後の様子を示す図である。
【図１８】電子ペン103による拡大縮小操作の説明図である。
【図１９】（ａ）は、拡大縮小操作のフローチャートの一例であり、（ｂ）は、拡大縮小尺度の説明図であり、（ｃ）は、拡大縮小操作指示矢印の説明図である。
【図２０】（ａ）は、3Dオブジェクト105の直線移動操作、回転操作、もしくは拡大縮小操作の切り替えのフローチャートの一例であり、（ｂ）は、電子ペン103の円弧状の移動軌跡の一例であり、（ｃ）は、電子ペン103の直線状の移動軌跡の一例であり、（ｄ）は、電子ペン103のジグザグ状の移動軌跡の一例である。
【発明を実施するための形態】
【００１１】
＜概要＞
本発明の実施の形態を説明する。具体的には、3Dオブジェクト105を操作するに際して、以下の特徴を有する。
要するに、本発明は、（カメラ＋発光式の電子ペン）の光学式システムに対して、自然な動きで高自由度な操作もできることが特徴になっている。
【００１２】
＜実施形態＞
上記特徴について、以下の図面を用いて具体的に解説する。
[構  成]
図３は、3D座標検出システムのハードウェアブロック図の一例である。
【００１３】
3D座標検出システムは、情報処理装置100と電子ペン103とを有する。
情報処理装置100は、バスライン118を介して電気的に接続されたCPU11、ROM12、RAM13、SSD14、ネットワークコントローラ15、外部記憶コントローラ16、カメラコントローラ120、GPU112、及び、キャプチャデバイス111を有する。
【００１４】
CPU(Central Processing Unit)11はアプリケーションソフトウエア（以下、アプリケーション）を実行して座標検出システムの動作全体を制御する。ROM（Read Only Memory）12にはIPL（Initial Program Loader）等が記憶されており、主に起動時にCPU11が実行するプログラムが記憶されている。RAM（Random Access Memory）13は、CPU11がアプリケーションを実行する際のワークエリアとなる。SSD(Solid State Drive)14は、3D座標を検出する座標検出システム用のアプリケーション119や各種データが記憶された不揮発メモリである。CPU11、ROM12、及びRAM13で制御部が構成されている。
【００１５】
ネットワークコントローラ15は、不図示のネットワークを介してサーバ等と通信する際に通信プロトコルに基づく処理を行う。尚、ネットワークは、LAN（Local Area Network）又は複数のLANが接続されたWAN（Wide Area Network：例えばインターネット）等である。
【００１６】
外部記憶コントローラ16は、着脱可能な外部メモリ117に対する書き込み又は外部メモリ117からの読み出しを行う。外部メモリ117は、例えばUSBメモリ、SDカード等の記憶媒体である。キャプチャデバイス111は、PC110が表示部としてのディスプレイ101に表示している映像を取り込む（キャプチャする）。GPU（Graphics Processing Unit）112は、ディスプレイ101の各ピクセルの画素値を演算する描画専用のプロセッサである。ディスプレイコントローラ113は、GPU112が作成した画像をディスプレイ101に出力する。
【００１７】
カメラコントローラ120には、表示部の上部両端に配置され電子ペン103を撮影する撮影部としての２つのカメラ102が接続されており、例えば、三角測量方式による座標の検出を行う。詳しくは後述する。
【００１８】
尚、本実施の形態では、情報処理装置100は指示手段としての電子ペン103と通信する必要はないが、通信機能を有していてもよい。この場合、図示するように情報処理装置100は電子ペンコントローラ116を有し、電子ペン103から接触信号を受信する（電子ペン103が通知手段を有している場合）。これにより、情報処理装置100は先端がディスプレイ101と接触しているか否かを検出することができる。
【００１９】
尚、座標検出システム用のアプリケーションは、外部メモリ117に記憶された状態で流通されてもよいし、ネットワークコントローラ15を介して不図示のサーバからダウンロードされてもよい。アプリケーションは圧縮された状態でも実行形式でもよい。
【００２０】
図４は、電子ペン103のディスプレイ101の前面の所定領域内としての仮想操作空間における3Dオブジェクト105の概念図である。
図６は、ホバリング状態の説明図である。
カメラ102と電子ペン103とを用いた光学式ディスプレイでは、図６に示すホバリング状態の座標も検出できる。ホバリングとは、電子ペン103がディスプレイ101に直接接触しない状態であり、電子ペン103の空間座標を検出でき、ディスプレイ101に対応する平面ホバリング座標も算出できる。さらに、ホバリングにより、3Dオブジェクト105は静止状態のまま、筆記やジェスチャー操作ができる。この結果、既存の光学式手書きシステム（電子ペン＋カメラ）が電子ペン103の非接触状態の空間座標を検出可能により非接触状態で3Dオブジェクト105の操作ができる。人間の空間中自然な動きでディスプレイ101に表示されている3Dオブジェクト105を高自由度の移動や回転等の操作もできる。
【００２１】
図５は、電子ペン103の仮想操作空間及び筆圧情報により拡張した仮想操作空間と3Dオブジェクトとの関係を示す概念図である。
図５に示した仮想操作空間との相違点は、電子ペン103による筆圧情報によりディスプレイ101の後方（奥）に仮想空間が作成された点である。
このような場合においても3Dオブジェクトを移動、回転、縮小拡大が可能である。
【００２２】
図７は、一実施形態に係る情報処理装置及び電子ペン103の概念図である。図８は、図７に示した電子ペン103で3D操作している状態を示す図である。
具体的には、101はディスプレイであり、手書き軌跡を表示し、表示した内容を移動させることができる平面状の装置である。
102は、カメラである。電子ペン103の座標を検出するために少なくても二つのカメラ102を設置する必要がある。三角測量により、電子ペン103の位置を検出する。更に、カメラ102はディスプレイ101の画面より少し高い位置を設置することにより、図６に示すような非接触の場合のホバリング座標も検出できる。
【００２３】
図８に示す電子ペン103は、例えば赤外線点光源としての発光点103aを有するペン型の指示部材である。カメラ102の画像から画像処理手法により発光点103aの位置を検出し、電子ペン103の空間中の座標を算出できる。尚、赤外線点光源をもちいることによる効果は、ユーザには見えないので操作中に気になることが無い点である。
【００２４】
ボタン104は、ユーザによりオンにされると3Dオブジェクトを回転、移動、拡大縮小の操作可能な3Dオブジェクト操作モードとなることを要求する信号を発生するボタンである。電子ペン103にボタン104を設けることにより、2D操作である筆記操作やジェスチャー操作と、3D操作である、移動操作、回転操作、もしくは縮小拡大操作とを切り替えることができる。オフ状態はボタン104が押されてない状態であり、オン状態はボタン104が押下されている状態である。
【００２５】
ディスプレイ101で表示している内容は、3D対応の場合は算出した電子ペン103とディスプレイ101との間の距離を、Z座標を3Dの奥行座標として扱い、対象3Dオブジェクト（以下、3Dオブジェクトと表記）105を操作する。3D対応してない場合はボタン104がオフの場合と同じ状態になる。
【００２６】
3Dオブジェクト105は、ディスプレイ101に3Dオブジェクト105を表示する。この表示は、既存のwebGL(ウェブブラウザで3Dコンピュータグラフィックスを表示させるための標準仕様)やCAD(Computer Aided Design)等で実現できる。また、OpenGL（Open Graphics Library）等3D対応ライブラリで新規開発でもできる。
【００２７】
電子ペン103とディスプレイ101との接触状態と、ボタン104の状態とから三つの操作モードに分けられる。
【００２８】
＜動作１＞
図９は、三つの走査モードの関係を示すフローチャートの一例である。
まず、電子ペン103がディスプレイ101に接触しているか否かを判断し（ステップS201）、電子ペン103がディスプレイ101に接触している場合（ステップS201/Y）、筆記操作モードとなる（ステップS203）。
【００２９】
ここで、筆記操作モードとは、ボタン104がオフの状態で、電子ペン103とディスプレイ101とが接触し、通常のタッチパネルのように描画とジェスチャー操作と行うことができるモードである。
【００３０】
電子ペン103がディスプレイ101に接触していない場合（ステップS201/N）、ボタン104が押下されているか否かを判断し（ステップS202）、ボタン104が押下されていない場合（ステップS202/N）、ホバリング操作モードとなる（ステップS204）。
【００３１】
ここで、ホバリング操作モードとは、ボタン104がオフの状態で、図１に示すように、電子ペン103がディスプレイ101に直接触らずに（非接触状態）、電子ペン103の空間座標を検出でき、ディスプレイ101に座標の表示が可能となるモードである。
【００３２】
ここで、図６を参照してホバリング状態について述べる。
図６に示すディスプレイ101の上面両端に一対のカメラ102が配置されている。カメラ102と電子ペン103の発光点103aとを結ぶ線とイメージ平面との交点がイメージ平面上に示されている。カメラ102からディスプレイ101に向かう破線は、ディスプレイ101と平行かつ電子ペン103へ向かう線である。すなわち、カメラ102から電子ペン103の発光点103aに向かう直線は破線に対して下向きになっており、カメラ102がディスプレイ101に対して浮いた位置にあることを示している。
ディスプレイ101の上に電子ペン103がホバリング状態で配置されている。ディスプレイ101上に世界座標系の空間座標（X,Y,Z）が示されている。
【００３３】
ここで、世界座標系とは、主に3DCGの分野で用いられる、空間全体を表す座標系である。空間の中での物体の位置を示すための座標系であって、物体の表示や移動を扱うために用いられる。「グローバル座標系」（global coordinate system）と呼ばれることもある。これに対し、個々の物体の形状や変形を扱うために用いられる座標系は、ローカル座標系またはボディ座標系と呼ばれ、それぞれの物体の重心を原点とする。
【００３４】
両カメラ102は、ディスプレイ101のXY平面に対してZ方向に所定の距離だけ離れて配置されている。電子ペン103の先端部の発光点103aの座標を電子ペン103の空間座標とする（X,Y,Z）。電子ペン103の空間座標（X,Y,Z）は、三角測量により検出可能である。ホバリング座標は（X，Y）となる。
【００３５】
図９に戻って、ボタン104が押下されている場合（ステップS202/Y）、3Dオブジェクト操作モードとなる（ステップS205）。
【００３６】
ここで、3Dオブジェクト105の操作モードは、電子ペン103がディスプレイ101に非接触、且つボタン104をオンの状態でディスプレイ101に表示している3Dオブジェクトを操作するモードである。3Dオブジェクト操作モードは本願の主な特徴である。
【００３７】
対象とする3Dオブジェクトの選定方法は電子ペン103のボタン104を押下した時点の空間座標（X,Y,Z）とする。対応しているディスプレイ101の平面座標は（X,Y）である。この座標の対応する3Dオブジェクト105は操作対象にする。そして、ボタン104を押下したまま、オブジェクト操作を行う。
【００３８】
電子ペン103の3D操作はディスプレイ101の手前にある電子ペン103の仮想操作空間で行うことができる。図８に示すように、電子ペン103の操作空間、即ち電子ペン103の位置を検出できる範囲である。電子ペン103のボタン104を押下することにより3Dオブジェクト105を選定し、この位置をペン操作の初期位置とする。
ディスプレイ101に表示している3Dオブジェクト105に対する操作は、3Dオブジェクトに操作することになる（3Dオブジェクトは実際に存在しないが、理解しやすいため作られた）。
電子ペン103を操作する際、電子ペン103の位置と動きとをカメラ102より検出し、ディスプレイ101に表示されている3Dオブジェクト105が操作に応じて位置を更新する。
【００３９】
更に、電子ペン103の移動範囲が大きいため、且つ操作者が自然に動作できるため、下記の数式（１）のように、電子ペン103の移動距離を測定して3Dオブジェクト105の移動距離とする。
3Dオブジェクト105の移動距離ｄ＝ｋ×電子ペン103の移動距離Ｄ    ……（１）
（但し、０≦ｋ≦１）
【００４０】
電子ペン103の3D操作は主に三つ挙げられる。すなわち、直線移動操作、回転操作、及び拡大縮小（スケーリング）操作である。図８における実線で示す3Dオブジェクト105が、電子ペン103の拡大操作により破線で示す3Dオブジェクトとして示されている。電子ペン103の操作空間において、電子ペン103の先端をペン操作初期位置にてボタン104を押下し、図示する位置までドラッグすることにより拡大表示される。
【００４１】
図１０は、電子ペン103のボタン104をオンからオフにした状態を示す図である。
ボタン104をオンからオフにすることにより、電子ペン103を3D操作から2D操作に切り替えることになり、3Dオブジェクト105の移動、回転、縮小拡大はできなくなるが、筆記操作やジェスチャー操作は可能である。
【００４２】
図１１は、電子ペン103を3D操作モードで書込操作を行っている状態を示す図である。電子ペン103をディスプレイ101上で移動させることで丸印、矢印、及び折れ線を表示することができる。
【００４３】
図１２は、図３に示した3D座標検出システムの機能ブロック図の一例である。
情報処理装置100は、3Dオブジェクト操作モジュール305、画像処理モジュール301、座標検出部としての座標計算モジュール302、筆記操作モジュール303、及びほかアプリケーション304を有する。
3Dオブジェクト操作モジュール305は、移動操作子モジュール306、拡大縮小操作子モジュール307、及び回転操作子モジュール308を有する。
【００４４】
画像処理モジュール301では、カメラ102が撮影した画像を分析し、目標対象（例えば、電子ペン103）を背景から切り出し、形状情報やイメージ座標情報や得ることが出来る。
座標計算モジュール302では、イメージ座標から世界座標の計算を行う。イメージ座標とは、図５に示すように、イメージ平面に投影した電子ペン103の座標位置である。世界座標では、空間中の電子ペン103の座標位置である。
筆記操作モジュール303では、世界座標モジュールの計算結果により、手書き軌跡をディスプレイ101に描画したり、操作する対象を反応させたりすることが出来る。
3Dオブジェクト操作モジュール305では、3Dオブジェクト操作モードの操作を行うモジュールである。更に、直線移動操作、回転操作、もしくは拡大縮小操作に応じて、移動操作子モジュール306、回転操作子モジュール308、及び拡大縮小操作子モジュール307の三つの子モジュールを含む。
【００４５】
以下、具体的な3Dオブジェクト操作方法について図１３を参照して説明する。
図１３は、電子ペン103をX、Y、Z方向に移動した場合の説明図である。
【００４６】
直線移動操作
図１３に示すように、電子ペン103のボタン104を押下することにより対象となる3Dオブジェクト105を選定し、この位置をペン操作の初期位置とする。ボタン104を押下したまま電子ペン103を移動すると、ディスプレイ101に表示している3Dオブジェクト105の位置も同じ方向に移動する。電子ペン103の移動は三つの自由度がある。即ちX方向、Y方向、Z方向、或はXYZの任意組み合わせの方向に移動できる。
【００４７】
＜動作２＞
図１４（ａ）は、図４に示した電子ペン103を直線移動した場合のフローチャートの一例であり、図１４（ｂ）は、図４の縮小図であり、図１４（ｃ）は、電子ペン103の移動距離の説明図である。
【００４８】
１．直線移動操作
フローチャートにおけるステップS501にて、3Dオブジェクトを選定する。電子ペン103のボタン104を押下することにより対象とする3Dオブジェクト105を選定し、この位置をペン操作の初期位置とする。図１４の右上には電子ペン103の移動に伴い、3Dオブジェクトがディスプレイ101上を移動する様子が表示されている。
【００４９】
ステップS502にて、電子ペン103の世界座標を算出する。すなわち、当時点の電子ペン103の世界座標(x0,y0,z0)を算出する。
ステップS503にて、世界座標(x0,y0,z0)を更新して新たな世界座標(xt,yt,zt)を得る。時間△tが経過し、電子ペン103の新しい時点の世界座標を再計算する。
図１４の右中央に更新前の世界座標(x0,y0,z0)と更新後の世界座標(xt,yt,zt)とが表示されている。
【００５０】
ステップS504にて、電子ペン103の移動距離を計算する。図１４（ｃ）に示すように、ステップＳ502とステップＳ503で算出した世界座標から、電子ペン103の各方向の移動距離（Dx,Dy,Dz）を計算する。
【００５１】
ステップＳ505にて、3Dオブジェクト105の移動距離を換算する。すなわち数式（１）により3Dオブジェクト105の各方向の移動距離（dx,dy,dz）を計算する。数式（２）の平行移動行列の形で保存する。
ステップS506にて、3Dオブジェクト105の移動（再描画）を行う。移動後の座標を算出し、新座標位置で3Dオブジェクト105を再描画する。3Dオブジェクト105の各点に対して、移動後座標＝平行移動行列＊移動前座標となる。
人の手の動きには微小な振動があるので、何フレームの移動方向を計算し、その平均方向を3Dオブジェクト105の移動方向とすることで、小さい振動を抑えることができる。
【００５２】
＜動作３＞
２．回転操作
電子ペン103のボタン104を押下することにより対象とする3Dオブジェクト105を選定し、この位置を電子ペン103の操作の初期位置とする。ボタン104を押下したままで徐々にある方向の円周もしくは円弧を描くことにより、3Dオブジェクト105をその方向で回転させることができる。
【００５３】
図１５（ａ）〜（ｄ）は、電子ペン103による回転操作の説明図である。
図１５（ａ）に示すように、回転操作は基本的にXYZ方向の各軸に対する回転操作である。すなわち、図１５（ｂ）に示すようにX方向軸を回転軸として電子ペン103の先端の発光点103aを破線矢印の方向に回転させると、3Dオブジェクト105はX方向軸で回転する。図１５（ｃ）に示すようにY方向軸を回転軸として電子ペン103の先端である発光点103aを破線矢印の方向に回転させると、3Dオブジェクト105はY方向軸で回転する。Z方向軸についても同様に、図１５（ｄ）に示すようにZ方向軸を回転軸として電子ペン103の先端の発光点103aを破線矢印の方向に回転させると、3Dオブジェクト105はZ方向軸で回転する。
【００５４】
図１６（ａ）は、回転操作のフローチャートの一例であり、図１６（ｂ）は、電子ペン103の移動軌跡の一例である。
図１６（ａ）のステップS601にて、3Dオブジェクトを選定する。電子ペン103のボタン104を押下することにより対象とする3Dオブジェクト105を選定し、この位置をペン操作の初期位置とする。
ステップS602にて、電子ペン103の世界座標を算出する。当時点の電子ペン103の世界座標(x0,y0,z0)を算出する。
【００５５】
ステップS603にて、世界座標を更新する。ある時間間隔Ｎ△t経過し、このＮ△tの間の各位置の座標を算出し、図１６に示すような電子ペン103の移動軌跡を記録する。
ステップS604にて、電子ペン103の移動軌跡を分析し、回転方向を推定する。具体的には電子ペン103の軌跡を分析（直線のフィッティング等）により、回転方向を推定する。
ステップS605にて、回転角度を計算する。
【００５６】
図１７（ａ）は、電子ペン103の先端で円弧を描いた場合の回転角度を示し、図１７（ｂ）は、3Dオブジェクト105の回転前後の様子を示す図である。
図１７（ａ）、（ｂ）に示すように、電子ペン103はZ方向軸周りにθ度に回転する例である。3Dオブジェクト105の回転角度θは電子ペン103と回転角度に相当する。
ステップS606にて、3Dオブジェクト105の回転、すなわち再描画を行う。回転後の座標を算出し、新座標位置で3Dオブジェクト105を再描画する。3Dオブジェクト105の各点に対して、数式（２）で表される。
【００５７】
【数１】
2017021495.tif 000003
【００５８】
回転後座標＝回転行列＊回転前座標                        ……（３）
【００５９】
回転行列としては、４行４列の回転行列（X軸：数式（４））、回転行列（Y軸：数式（５））、回転行列（Z軸：数式（６））が挙げられる。
【００６０】
【数２】
2017021495.tif 000004
【００６１】
【数３】
2017021495.tif 000005
【００６２】
【数４】
2017021495.tif 000006
【００６３】
＜動作４＞
３．拡大縮小操作
この拡大縮小操作により3Dオブジェクト105の形を変えずにサイズだけを変更することができる。
図１８は、電子ペン103による拡大縮小操作の説明図である。
拡大縮小操作と移動操作とを区別するため、拡大縮小操作するための指示矢印を3Dオブジェクト105a、105bの隅に表示する。この矢印を選定し、拡大方向と縮小方向とに徐々に移動することにより、3Dオブジェクト105のサイズを変更することができる。
【００６４】
図１９（ａ）は、拡大縮小操作のフローチャートの一例であり、図１９（ｂ）は、拡大縮小尺度の説明図であり、図１９（ｃ）は、拡大縮小操作指示矢印の説明図である。
ステップS701にて、3Dオブジェクトを選定する。ホバリング状態で座標位置を確認しながら、拡大縮小指示矢印の範囲内で電子ペン103のボタン104を押下することで対象とする3Dオブジェクトの拡大縮小モードを選定することができる。
図１９（c）に示すように、指示矢印は3Dオブジェクトを囲む立方形の角に記載する。
【００６５】
ステップS702にて、電子ペン103の世界座標を算出する。当時点の電子ペン103の世界座標(x0,y0,z0)を算出する。
ステップS703にて、世界座標を更新する。時間間隔△t経過し、新しい世界座標(xt,yt,zt)を再計算する。図１９（ｂ）に示すように、x, y, z方向の移動距離(Dx,Dy,Dz)も算出できる。
ステップS704にて、前述した数式（１）により、ステップS703で算出した移動距離(Dx,Dy,Dz)を3Dオブジェクト105bの移動距離(dx,dy,dz)に換算する。
ステップS705にて、移動距離(dx,dy,dz)からx,y,z方向の拡大縮小尺度を計算する。具体的には図１９（ｃ）に示すように、3Dオブジェクト105bを囲む立方形のx,y,zの長さを(Lx,Ly,Lz)とする。拡大縮小尺度(sx,sy,sz)は、下記の数式（７）で表される。
(sx,sy,sz) = (dx/Lx, dy/Ly, dz/Lz)                              ……（７）
【００６６】
ステップS706にて、3Dオブジェクト105bの更新である拡大縮小実施（再描画）を行う。拡大縮小後の座標を算出し、新座標位置で3Dオブジェクトを再描画する。3Dオブジェクト105bの各点に対して下記の数式（８）で再描画する。
拡大縮小後座標＝拡大縮小行列＊拡大縮小前座標                    ……（８）
尚拡大縮小行列は、数式（９）で表される。
【００６７】
【数５】
2017021495.tif 000007
【００６８】
前述した3Dオブジェクト105,105a,105bの直線移動操作、回転操作、拡大縮小操作の切り替え方法については、通常の3Dソフトウェアでは、メニューから一つの操作を選ぶことが多い。
そこで、余分な手間がかからないように、本願では、自動的に操作を判断することとする。具体的な判断方法を図２０（ａ）〜（ｄ）に示す。
【００６９】
図２０（ａ）は、3Dオブジェクトの直線移動操作、回転操作、もしくは拡大縮小操作の切り替えのフローチャートの一例であり、図２０（ｂ）は、電子ペン103の円弧状の移動軌跡の一例である。図２０（ｃ）は、電子ペン103の直線状の移動軌跡の一例であり、図２０（ｄ）は、電子ペン103のジグザグ状の移動軌跡の一例である。
【００７０】
図２０（ａ）に示すフローチャートのステップS1701にて、図９に示すように3Dオブジェクトの操作モードと判断され、3Dオブジェクト操作開始とする。
ステップS1702にて、開始する時点（ボタン104が押される時点）の電子ペン103の世界座標を算出する。
ステップS1703にて、世界座標が拡大縮小操作を指示する指示矢印の作用範囲内に入るか否かを判断する。
【００７１】
ステップS1704にて、ステップS1703の判断結果が「指示矢印の作用範囲内」となる場合、これからの操作は拡大縮小操作と判断される。
ステップS1705にて、ステップS1703の判断結果が「指示矢印の作用範囲外」となる場合、さらに動作分析を行う。まず図２０（ｂ）のように、ある時間間隔N△t内で電子ペン103の移動軌跡を記録し、各点の世界座標を算出する。
ステップS1706にて、電子ペン103の移動軌跡を直線でフィッティングする。具体的には直線をy＝ax＋bと想定し、最小２乗法で直線のパラータａとパラメータbとを算出する。
【００７２】
ステップS1707にて、記録した電子ペン103の移動軌跡と算出した直線との間の誤差エラーを計算する。ある閾値thを設定して計算する。
ステップS1708にて、ステップS1707で算出したエラー ＜ thの場合は、電子ペン103の運動軌跡は直線でフィッティングできると考えられるので、直線移動と判断される（図２０（ｃ））。
【００７３】
ステップS1709にて、ステップS1707で算出したエラー ＞ thの場合は、図２０（ｄ）に示すように各軌跡点が直線からかなり離れているので、フィッティング誤差エラーが大きい。このため、電子ペン103の運動軌跡は直線でフィッティングできないと考えられる。本願の場合は回転操作と判断される。
【００７４】
人間の手が宙中での動きが不安定なこともあるが、数式（１）により微小な動きを避け、大きめな動きで操作することで不安定が減少することができる。更に、前述したように、何フレームの平均を使って動作を推定することによる不安定が減少することができると考えられる。
【００７５】
＜作用効果＞
以上より、カメラと電子ペンとを用いた光学式ディスプレイによりホバリング状態の座標、筆記、及びジェスチャーを検出できるので、3Dオブジェクトの回転、移動、拡大縮小の自由度を向上させることができる。
【００７６】
尚、この実施形態で説明する電子ペンと、情報処理装置とが接続されたシステム構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【００７７】
＜プログラム＞
以上で説明した本発明に係る情報処理装置は、コンピュータで処理を実行させるプログラムによって実現されている。一例として、プログラムにより本発明の機能を実現する場合の説明を以下で行う。
【００７８】
例えば、
表示部、撮影部、座標検出部、及び制御部を有する情報処理装置のコンピュータが読み取り可能なプログラムであって、
コンピュータに、
表示部、撮影部、座標検出部、及び制御部を有する情報処理装置のコンピュータが読み取り可能なプログラムであって、
コンピュータに、
表示部が、3Dオブジェクトを表示する手順、
撮影部が、表示部の上部両端に配置され電子ペンの発光部を撮影する手順、
座標検出部が、両撮影部からの発光部の画像に基づいて電子ペンの3D座標を検出する手順、
制御部が、表示部の前面の所定領域内で電子ペンのボタンがオンのときには電子ペンの動きに合わせて3Dオブジェクトが直接回転、移動、拡大縮小操作され、ボタンがオフのときには3Dオブジェクトは静止状態のまま所定領域内で筆記動作やジェスチャー動作が可能なホバリング操作モードに切り替わる手順、
を実行させるためのプログラムが挙げられる。
【００７９】
このようなプログラムは、コンピュータに読み取り可能な記憶媒体に記憶されていてもよい。
【００８０】
＜記憶媒体＞
ここで、記憶媒体としては、例えばCD-ROM、フレキシブルディスク（FD）、CD-R等のコンピュータで読み取り可能な記憶媒体、フラッシュメモリ、RAM、ROM、FeRAM等の半導体メモリやHDDが挙げられる。
【００８１】
CD-ROMは、Compact Disc Read Only Memoryの略である。フレキシブルディスクは、Flexible Disk：FDを意味する。CD-Rは、CD Recordableの略である。FeRAMは、Ferroelectric RAMの略で、強誘電体メモリを意味する。HDDは、Hard Disc Driveの略である。
【００８２】
尚、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。例えば、上述した実施の形態では、発光部に赤外線点光源を用いた場合で説明したが、本発明はこれに限定されるものではなく、可視光点光源を用いてもよい。
【符号の説明】
【００８３】
１００    情報処理装置
１０１    ディスプレイ
１０２    カメラ
１０３    電子ペン
１０３ａ    発光点
１０４    ボタン
１０５、１０５ａ、１０５ｂ    ３Ｄオブジェクト
１１０    ＰＣ
１１６    電子ペンコントローラ
１１７    外部メモリ
１１８    バスライン
１１９    アプリケーション
１２０    カメラコントローラ
３０１    画像処理モジュール
３０２    座標計算モジュール
３０３    筆記操作モジュール
３０４    ほかアプリケーション
３０５    ３Ｄオブジェクト操作モジュール
３０６    移動操作子モジュール
３０７    拡大縮小操作子モジュール
３０８    回転操作子モジュール
【先行技術文献】
【特許文献】
【００８４】
【特許文献１】特開２００７‐５３６６５２号公報
【図１】
2017021495.tif 000008
【図３】
2017021495.tif 000009
【図４】
2017021495.tif 000010
【図５】
2017021495.tif 000011
【図６】
2017021495.tif 000012
【図９】
2017021495.tif 000013
【図１２】
2017021495.tif 000014
【図１４】
2017021495.tif 000015
【図１５】
2017021495.tif 000016
【図１６】
2017021495.tif 000017
【図１７】
2017021495.tif 000018
【図１８】
2017021495.tif 000019
【図１９】
2017021495.tif 000020
【図２０】
2017021495.tif 000021
【図２】
2017021495.tif 000022
【図７】
2017021495.tif 000023
【図８】
2017021495.tif 000024
【図１０】
2017021495.tif 000025
【図１１】
2017021495.tif 000026
【図１３】
2017021495.tif 000027