JP4868044B2 - オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法 - Google Patents

オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法 Download PDF

Info

Publication number
JP4868044B2
JP4868044B2 JP2009193245A JP2009193245A JP4868044B2 JP 4868044 B2 JP4868044 B2 JP 4868044B2 JP 2009193245 A JP2009193245 A JP 2009193245A JP 2009193245 A JP2009193245 A JP 2009193245A JP 4868044 B2 JP4868044 B2 JP 4868044B2
Authority
JP
Japan
Prior art keywords
attribute change
attribute
display
overlap
displayed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009193245A
Other languages
English (en)
Other versions
JP2009283009A (ja
Inventor
博之 勢川
浩之 塩谷
哲一 開
友一 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009193245A priority Critical patent/JP4868044B2/ja
Publication of JP2009283009A publication Critical patent/JP2009283009A/ja
Application granted granted Critical
Publication of JP4868044B2 publication Critical patent/JP4868044B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

本発明は、オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法に関する。さらに、詳細には、例えばPC、CAD等のディスプレイに表示されたオブジェクトに対する属性変更処理を、オペレータが容易に理解できるとともに操作性を向上させた処理として実行可能としたオブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法に関する。
従来の画像処理システムにおいて、編集対象のオブジェクトのサイズ変更のようなオブジェクト属性変更処理を実行しようとする場合、アプリケーションウインドウの上部に位置するメニューの中から該当するメニューを選択して、プルダウンを実行して、さらに、所望のサイズメニューを選択して実行するといった煩雑な処理が要求される。あるいは、キーボード上のキーの組み合わせで、上述と同様のメニュー表示を実行して、メニュー選択を実行して属性変更処理を行なう構成もある。さらに、ディスプレイに表示されるサイズ変更処理を示すアイコンを選択することによってサイズ変更処理を実行させる処理形態も実現されている。
しかしながら、上記の従来の方法、すなわち
1)メニューによる属性変更処理方法
2)キーの組み合わせによる属性変更処理方法
3)アイコンを選択することによる属性変更処理方法
のいずれにおいても、次のような問題がある。
ユーザーは編集中のオブジェクトに興味があるのに、サイズを変更している間、その興味対象から別のものに注目対象を移さなければならない。また、1)、2)の処理を実行するためには、メニューの場所等を知っていることが必要であり、ある程度システムに慣れていることが要請される。さらに、上記1)、2)、3)に共通する課題は、該当処理が、どのオブジェクトに対する処理であるかを明示する方法(いわゆる選択(select)操作)が必要であったり、処理順や組み合わせなどの約束事をユーザーに強いたりすることである。これら、従来技術における属性変更処理方法は、いずれもインターフェースとしてユーザーにとって「直感的」でない。
本発明は、このような従来技術における問題点を解決することを目的とするものであり、コンピュータを利用したオブジェクト編集システムの作業を容易に実行可能とし、コンピュータのマウス、キーボード等、各種の入力装置の扱いに不慣れな低年齢の幼児や高齢者にとってのインターフェースとして有効なシステム、方法を実現し、デジタル技術を使った情操教育玩具や、オンラインショッピングまたはコミュニケーションツールへの応用が適用可能なオブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法を提供することを目的とする。
本発明の第1の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行する制御手段を有し、
前記編集対象オブジェクトの変更対象属性は、オブジェクトの大きさ、明るさ、光沢に関する属性のいずれかであることを特徴とするオブジェクト属性変更処理装置にある。
さらに、本発明の第2の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
前記重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行するモード切り換えステップを有し、
前記編集対象オブジェクトの変更対象属性は、オブジェクトの大きさ、明るさ、光沢に関する属性のいずれかであることを特徴とするオブジェクト属性変更処理方法にある。
さらに、本発明の第3の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行する制御手段と、
前記オブジェクト領域に対する操作情報を入力する第一の入力手段と、
前記属性変更定義領域に対する操作情報を入力する第二の入力手段と、
を有することを特徴とするオブジェクト属性変更処理装置にある。
さらに、本発明のオブジェクト属性変更処理装置の一実施態様において、前記第一の入力手段と、前記第二の入力手段は、同一装置に備えられていることを特徴とする。
さらに、本発明の第4の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
第一の入力手段を適用した入力処理により、ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域を操作するステップと、
第二の入力手段を適用した入力処理により、前記ディスプレイおいて定義される属性変更定義領域を操作するステップと、
ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
前記重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行するモード切り換えステップを有することを特徴とするオブジェクト属性変更処理方法にある。
さらに、本発明の第5の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行する制御手段を有し、
前記制御手段は、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を変更するモード(状態)とする制御を実行する構成を有することを特徴とするオブジェクト属性変更処理装置にある。
さらに、本発明の第6の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
前記重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行するモード切り換えステップを有し、
前記モード切り換えステップは、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を変更するモード(状態)とする制御を実行するステップであることを特徴とするオブジェクト属性変更処理方法にある。
さらに、本発明の第7の側面は、
ディスプレイに表示される編集対象オブジェクトとしての3次元モデルの属性を変更する3次元モデル処理装置であり、
ディスプレイに表示された処理対象である3次元モデルに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記3次元モデルの属性変更モードへの切り換え処理を実行する制御手段を有し、
前記制御手段は、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を変更するモード(状態)とする制御を実行する構成を有することを特徴とする3次元モデル処理装置にある。
さらに、本発明の3次元モデル処理装置の一実施態様において、前記制御手段は、前記3次元モデルに関連づけられたオブジェクト領域と、前記定義領域との重なりの発生を検出し、該重なり発生検出に応じて予め設定された単位量の属性変化量に基づいて、前記3次元モデルの属性を変更する処理を実行する構成を有することを特徴とする。
さらに、本発明の第8の側面は、
ディスプレイに表示される編集対象オブジェクトとしての3次元モデルの属性を変更する3次元モデル処理方法であり、
ディスプレイに表示された処理対象である3次元モデルに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
前記重なり判定に基づいて、前記3次元モデルの属性変更モードへの切り換え処理を実行するモード切り換えステップを有し、
前記モード切り換えステップは、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を変更するモード(状態)とする制御を実行するステップであることを特徴とする3次元モデル処理方法にある。
さらに、本発明の3次元モデル処理方法の一実施態様において、前記3次元モデル処理方法において、さらに、前記3次元モデルに関連づけられたオブジェクト領域と、前記定義領域との重なりの発生を検出し、該重なり発生検出に応じて予め設定された単位量の属性変化量に基づいて、前記3次元モデルの属性を変更する属性変更処理ステップを有することを特徴とする。
さらに、本発明の第9の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行する制御手段と、
前記ディスプレイ上に位置を固定して表示した前記属性変更定義領域に対して、前記オブジェクト領域を相対的に移動させる入力手段と、
を有することを特徴とするオブジェクト属性変更処理装置にある。
さらに、本発明の第10の側面は、
ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
ディスプレイに表示された編集対象オブジェクトに関連づけられたオブジェクト領域を、ディスプレイ上に位置を固定して表示した属性変更定義領域に対して相対的に移動させる入力ステップと、
前記オブジェクト領域と、前記属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
前記重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行するモード切り換えステップと、
を有することを特徴とするオブジェクト属性変更処理方法にある。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
本発明のオブジェクト属性変更処理装置のハードウェア構成例を示すブロック図である。 本発明のオブジェクト属性変更処理装置の実施例1の処理概要を説明する図である。 本発明のオブジェクト属性変更処理装置の実施例1の入力装置例(その1)を示す図である。 本発明のオブジェクト属性変更処理装置の実施例1の入力装置例(その2)を示す図である。 本発明のオブジェクト属性変更処理装置における重なり判定に適用可能なバウンディングボックスについて説明する図(その1)である。 本発明のオブジェクト属性変更処理装置における重なり判定に適用可能なバウンディングボックスについて説明する図(その2)である。 本発明のオブジェクト属性変更処理装置における重なり判定に適用可能なバウンディングボックスについて説明する図(その3)である。 本発明のオブジェクト属性変更処理装置における重なり判定に適用可能なバウンディングボックスについて説明する図(その4)である。 本発明のオブジェクト属性変更処理装置における重なり判定に適用可能なバウンディングボックスについて説明する図(その5)である。 本発明のオブジェクト属性変更処理装置における実施例1の処理を説明するフローチャート図である。 本発明のオブジェクト属性変更処理装置における実施例1の処理を説明するデータフロー図である。 本発明のオブジェクト属性変更処理装置における移動距離算出に適用可能な距離算出処理例について説明する図(その1)である。 本発明のオブジェクト属性変更処理装置における移動距離算出に適用可能な距離算出処理例について説明する図(その2)である。 本発明のオブジェクト属性変更処理装置における移動距離算出に適用可能な距離算出処理例について説明する図(その3)である。 本発明のオブジェクト属性変更処理装置における移動距離算出に適用可能な距離算出処理例について説明する図(その4)である。 本発明のオブジェクト属性変更処理装置の実施例2の処理概要を説明する図である。 本発明のオブジェクト属性変更処理装置における実施例2の処理を説明するフローチャート図である。 本発明のオブジェクト属性変更処理装置における実施例2の処理を説明するデータフロー図である。 本発明のオブジェクト属性変更処理装置の実施例3の入力装置例(その1)を示す図である。 本発明のオブジェクト属性変更処理装置の実施例3の入力装置例(その2)を示す図である。 本発明のオブジェクト属性変更処理装置の実施例3の入力装置例(その3)を示す図である。 本発明のオブジェクト属性変更処理装置の実施例3の入力装置例(その4)を示す図である。 本発明のオブジェクト属性変更処理装置における実施例3の処理を説明するフローチャート図である。 本発明のオブジェクト属性変更処理装置における実施例3の処理を説明するデータフロー図である。 本発明のオブジェクト属性変更処理装置における実施例3の変更例の処理を説明するフローチャート図である。 本発明のオブジェクト属性変更処理装置における実施例3の変更例の処理を説明するデータフロー図である。 本発明のオブジェクト属性変更処理装置の実施例4の入力装置例(その1)を示す図である。 本発明のオブジェクト属性変更処理装置の実施例4の処理概要を説明する図である。 本発明のオブジェクト属性変更処理装置の実施例4の定義領域の例(その1)を示す図である。 本発明のオブジェクト属性変更処理装置の実施例4の定義領域の例(その2)を示す図である。 本発明のオブジェクト属性変更処理装置における実施例4の処理を説明するフローチャート図である。 本発明のオブジェクト属性変更処理装置における実施例4の処理を説明するデータフロー図である。 本発明のオブジェクト属性変更処理装置における実施例5の処理(その1)を説明するフローチャート図である。 本発明のオブジェクト属性変更処理装置における実施例5の処理(その2)を説明するフローチャート図である。 本発明のオブジェクト属性変更処理装置における実施例5の処理(その3)を説明するフローチャート図である。
以下に本発明のオブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法の実施の形態を説明する。以下、具体的な実施例として5つの形態、実施例1〜5に分けて説明する。実施例1から実施例5は編集対象オブジェクト(「編集対象物体」と呼ぶこともある)のサイズ変更(以降、「スケーリング」と呼ぶこともある)に関する実現方法である。以下の実施例においては物体の属性の一つである「サイズ(大きさ)」を変更するための方法・装置として説明するが、これは例えば対象物体の色や明るさや光沢度や構成するポリゴンの数などといった、オブジェクトの様々な属性を変更するためにも同じ方法・装置を適用することができる。
以後「定義領域」と呼ぶのは、編集対象オブジェクトがその領域に重なった場合にサイズ変更が行なうことができるようになる、領域のことである。これより以降の説明の中で「仮想空間」と呼ぶのは計算機(コンピュータ)内で編集を行なう空間である。編集対象が2次元であれば仮想空間は2次元空間であり、3次元であれば仮想空間は3次元空間となる。
実施例1から実施例3は定義領域と対象オブジェクトが領域を共有している間、サイズ変更モードに入り、その後の相対関係の変化により連続的なサイズの変更を行なう。実施例4では定義領域と対象オブジェクトが領域を共有する度に、定められた量だけサイズ変更を行なう。実施例5ではこれまでの4つの実施例にボタンのON/OFFを組み合わせた形態を論じる。これら複数の実施例に共通する構成部分の説明をまず行なう。
[各実施例共通部]
本発明の処理システムはコンピュータを用いた、図や絵あるいは3次元物体(これらを総称して編集対象オブジェクトと呼ぶ)などのコンピュータ内での編集処理を実行する編集装置である。
図1は、本発明を適用したオブジェクト属性変更処理装置の制御手段を中心とするハードウェア構成例を示すブロック図である。処理プログラムを実行する演算処理回路101と、処理プログラムが格納されるプログラムメモリ102と、処理データを格納するデータメモリ103と、編集対象オブジェクトの位置・属性や定義領域の位置・属性や編集内容などの情報を格納するデータメモリ103と、処理対象となるオブジェクトである図形、3次元物体、定義領域、あるいはユーザーへの指示などを描画するための画像情報を格納するフレームメモリ104と、フレームメモリ104に格納された画像信号を表示する画像表示装置105と、マウスや各種センサなどを構成要素として持つ(詳細は各実施例にて述べる)入力装置106と、編集対象物体あるいは編集内容などを記憶する外部記憶装置107と、各回路を接続してプログラムやデータを伝送するバス108とを備えている。
外部記憶装置107は、ハードディスクドライブ(HDD)や、光ディスクなどのランダムアクセスが可能な記憶媒体が望ましいがテープストリーマーなどのランダムアクセスの不得手な記憶媒体でも構成可能であるしメモリースティックに代表される不揮発性の半導体メモリでもよい。あるいはネットワーク接続された他のシステムの外部記憶装置でもよい。またそれらの組み合わせでもよい。外部記憶装置107には、プログラムや編集対象オブジェクト情報、例えば3次元モデル情報が格納される。データメモリ103に格納されるオブジェクトに関する情報やツールの状態など、プログラムの処理に必要とされる情報を外部記憶装置107に格納することも可能である。
入力装置106では、各種入力デバイスからの計測値を取得する。編集対象オブジェクトが3次元モデルである場合は、編集対象オブジェクトである3次元モデルに対応する3次元センサ、及び編集処理ツールの位置ならびに姿勢を更新するために、3次元センサや3次元マウスなどの3次元入力デバイスの計測値を取得する。例えば、オペレータがその位置、姿勢を自由に変更可能な3次元センサが入力装置として使用可能である。なお、本発明の編集装置は、2次元図形にも適用可能であり、マウス、タブレットなどの2次元入力デバイスも使用可能である。また、キーボードあるいは、オン/オフの状態を持つプッシュボタンなどから、各種入力値を取得する構成として各種の指示入力、例えば編集ツールの設定、切り換え処理等を行なうように構成してもよい。以下の説明では、オフの状態からオンの状態になることを「ボタンが押された」、オフの状態からオンの状態になることを「ボタンが放された」、ボタンが押されてからすぐに放される動作を「ボタンがクリックされた」と呼ぶこととする。また、これらすべてのボタン操作による指示入力をイベント入力と呼ぶ。
データメモリ103は、例えば編集オブジェクトが3次元モデルである場合、3次元モデルの位置ならびに姿勢情報や、表面属性情報などの様々な3次元モデル情報が格納される。3次元モデル情報は、例えば、ポリゴンやボクセル、NURBSなどの自由曲面などによって表現するためのパラメータの情報である。
演算処理回路101では、入力装置から得られた計測値を基に、編集対象オブジェクトの位置等を更新する。編集対象が3次元モデルである場合は、3次元モデルと編集ツールの位置ならびに姿勢情報を更新し、必要であればデータメモリ103に格納されている3次元モデル情報を変更する。例えば、コンピュータグラフィックスで表現された3次元モデル表面の形状や色などの表面情報を変更するための処理が演算処理回路101において実行され、データメモリ103に格納されている3次元オブジェクトの表面の色等の属性情報を変更する。
画像表示装置105には、編集対象オブジェクトとして、例えば3次元モデル、あるいは2次元図形等が表示される。さらに、編集対象オブジェクトに対して拡大等の属性変更変形、ペイント等、各種処理を施すためのツール(またはポインタ)が表示される。
編集対象が3次元モデルである場合、編集ツールは、ツール操作用3次元センサの操作に応じて位置ならびに姿勢情報が変更される構成が好ましい。編集対象オブジェクトが3次元モデルである場合は、画像表示装置105に表示された3次元モデルはオブジェクトは、3次元モデル操作用3次元センサの操作に応じて位置ならびに姿勢情報が変更可能な構成とすることが好ましい。3次元モデル操作用3次元センサ、ツール操作用3次元センサは、磁気センサ、超音波センサ等によって構成され、磁気、あるいは超音波により、それぞれの位置、姿勢情報が取得される。なお、3次元モデルを動かす必要がなければ、3次元モデル操作用3次元センサは必ずしも必要とはしない。この場合は、編集ツールのみの操作で固定した3次元モデルに対する拡大、ペイント、変形等の処理を行なう。以下、本発明の具体的な実施例について、それぞれ詳細に説明する。
[実施例1]
実施例1で示すのは編集対象オブジェクトの位置が変化して、サイズ変更のための定義領域を固定とした構成例である。コンピュータのディスプレイ上での処理イメージを図2に示す。画面2−1で示す201はサイズ変更のための定義領域、202は編集対象オブジェクトである。編集対象オブジェクト202はユーザーが、編集対象オブジェクト202に対応する入力装置からの入力により任意の位置に移動でき、定義領域201は編集作業を行なう空間(あるいは平面)内の決まった位置に配置される。
編集対象オブジェクト202を移動するためには図1で示した入力装置106を構成するものの1つとしてマウスを用いることができる。図3にマウスを入力装置として用いた場合の操作状況を示す図を示す。位置入力装置はマウスに限定されるものではなく例えば図4のようにタブレットなどのほかの入力装置を利用することが可能である。
タブレットを利用した例がマウスを使った例に対し有利なのは、図4に示すように仮想空間上の定義領域からタブレットの座標空間上に写像した部分に物理的に枠401を設けることで作業領域内の定義領域の存在位置をユーザーにより直接的に知らしめることのできる点にある。編集対象システムが3次元のCG(コンピュータグラフィックス)あるいはCAD(コンピュータ支援設計)のシステムである場合には入力装置が3次元センサ(3次元タブレット、磁気センサ、光学センサ、超音波センサなどのセンサあるいはそれらの組み合わせ)を利用する。以下の説明においてはこれらの位置入力用のデバイスを総称してポインティングデバイスと呼ぶこととする。
図2に戻り操作概要の説明を続ける。画面2−2に示すように編集対象オブジェクト202が定義領域201とその領域を共有するときに対象物体のサイズを変更できるモードに入る。このモード変更は、画面2-2,画面2−3に示すような、編集対象オブジェクト202を囲む識別可能なインディケータ203を表示、非表示とすることでオペレータに知らせる構成とする。画面2-2,画面2−3に示すようなインディケータ203を表示することで、表示でサイズ変更モードに入ったことがユーザーによって把握される。ただし、この表示は、本発明の構成において必要不可欠ではない。また、インディケータの形態も様々な形態が適用可能である。例えば編集対象オブジェクトの濃淡の反転表示等の形態としてもよい。
定義領域201内で対象物体を移動すると移動方向と移動量に応じてサイズを変更する(画面2−3)。すなわち編集対象のオブジェクトが定義領域と重なりを持ったときから重なりがなくなったときまでの移動量に基づきオブジェクトのサイズ変更を行なう。ここでは、モードの切り換えを定義領域201と編集対象オブジェクト202とが、「重なりを持つかどうか」を判定することによって行なう構成としている。「重なりを持つかどうか」の判定処理としては、例えば次に挙げる手法のいずれかを適用できる。
(1)編集対象オブジェクト202を表現するモデルと定義領域201を表現するモデル間で論理的(Boolean)演算が可能であれば、二つの論理積が空であるか否かで重なりを知ることができ、この論理積によって「重なりを持つかどうか」を判別する。このアプローチでは両者の本当の物理的な重なりを計算できる。ただし、2次元世界では計算が簡単であるが、3次元が編集対象空間であるとボリュームデータ(ボクセル)を使う場合やポリゴンモデルやパラメトリックな曲線面を使った場合のいずれにせよ扱うデータ量や計算コストが大きくなる。
(2)編集対象ならびに定義領域にはバウンディングボックスと呼ばれる、「対象物体を含む最小の長方形(2次元の場合)や直方体(3次元の場合)」が定義できる。この領域情報を常に定義領域201、編集対象オブジェクト202のそれぞれに属性として保有する構成とする。定義領域201、編集対象オブジェクト202の各々のバウンディングボックス同士の重なりを検出することにより、「重なりを持つかどうか」を判別する。バウンディングボックスの例は2次元の場合は図5(a)、3次元の場合は図5(b)のようになる。
表示されている定義領域の境界がそのままバウンディングボックスであるとインターフェースとしては直感性が増加する。重なりの判定方法は以下の二つの方法が考えられる。このバウンディングボックスを用いた重なり判定方法には、さらに異なる態様での判定方法がある。
(2−1)部分的に少しでも重なりがあった場合を「重なった」とする方法。
これは、図6に示すようにバウンディングボックス同士が、その一部領域で重なりを持ったとき、「重なった」と判定する方法である。例えば3次元空間を対象とすると、オブジェクトのバウンディングボックスが図6に示すバウンディングボックス601、定義領域(=自身のバウンディングボックス)がバウンディングボックス602であるとき、ボックス同士の重なり603があるかどうかをチェックする。
(2−2)一方のバウンディングボックスが他方のボックスに完全に包含されるときに「重なった」とする方法。
これは図7に示すように、いずれかのバウンディングボックスが、他のバウンディングボックスに対して全領域で重なりを持ったとき、「重なった」と判定する方法である。3次元モデルの例では図7のような関係になったとき重なりが有ると判定する。図7では一方のバウンディングボックス701が他方のバウンディングボックス702に完全に含まれる構成となっている。
ただし、図2に示す画面2−2の方法を適用する場合はどちらかのバウンディングボックスが必ず他方に包含されるための制約が必要となる。例えば3次元のバウンディングボックスの場合、いずれかのバウンディングボックスがx,y,z方向で他方のバウンディングボックスより小さいことが必要となる。これらの制約を考慮すると、前者(2−1)の手法がより現実的である。ただ、バウンディングボックスは対象物体の形状によっては予想より大きくなる場合が多く、この場合には重なっていないのに重なっていると判定される場合もあることが注意点としてあげられる。例を挙げると、図8において編集対象オブジェクト801が図のような形状であるとき、そのバウンディングボックスはバウンディングボックス802となる。バウンディングボックス802は、定義領域803と重なり804を持つが、オブジェクト801は定義領域803との重なりは持っていない。このような形状の場合には、注意が必要である。
(3)編集対象オブジェクトに関連付けられた点が、定義領域のバウンディングボックス内にあるかどうかを判定するアプローチ。編集対象オブジェクトに関連付けられた点をどのように決定するかが鍵になるが、これに対しては、(3−1)オブジェクトのバウンディングボックスの重心を用いる方法。(3−2)オブジェクトそのものの重心を計算する方法。(3−3)ポインティングデバイスでオブジェクトを選択した時点の位置(オブジェクトのローカル座標内の位置)、などが考えうる。計算量や直感性を意識すると、(3−1)が有利である。(3−1)オブジェクトのバウンディングボックスの重心を用いる処理例を図9に示す。編集対象オブジェクトのバウンディングボックス901の重心903が定義領域のバウンディングボックス902内に位置するときに両バウンディングボックスが重なりを持つという判定を行なう。
本発明のシステムにおいては、上記のいずれの方法でも実装が可能であるが、以下の実施例ではオブジェクトのバウンディングボックスの重心が、定義領域(=バウンディングボックス)内に有るかどうかを調べることを「重なりをチェックする」方法として採用する。
さて、編集対象オブジェクトのサイズ変更の方法に関してその処理方法について詳細に説明を加える。演算処理回路(CPU)101は、プログラムメモリ102に記録されているプログラムにしたがって、各種の処理を実行する。演算処理回路(CPU)101で行われる処理を説明するフローチャートを図10に示す。なお、ステップ内でデータを処理する必要がある場合にそのデータがどこから来たものか示した方がよりシステムの振る舞いが明確になるので、ステップ内容に応じてはデータの流れを表わすデータフロー図(図11)も参照しながらの説明を行なう。ちなみにデータフロー図とはオブジェクト指向分析では広く知られた表記法であるが、システムで計算される値の間の関数的な関係を示し、そこには入力値・出力値・内部データストアを含む。データフロー図は、オブジェクト内部のデータソースからデータを変換するプロセスを経由して、他のオブジェクト内部の目標へ至るデータの流れを示すグラフである。データフロー図では、データを変換するプロセス(楕円で示される)、データを運ぶデータフロー(矢印で示される)、データの生産と消費を示すアクターオブジェクト(長方形で示される)、受動的にデータの格納を行なうデータストアオブジェクト(2本の太い直線に挟まれ示される)によって構成されている。
図10に示したフローチャートはサブルーチンであり、メインのルーチンの中からあるイベントがあればコールされることになる。本実施例ではある定義された時間ごとにイベントを発生させてコールさせることとするが、他のハードウエアからの割り込みをイベントとして用いるなどの他の方法でも実装可能である。本システムはサイズ変更のできる状態(以後、スケーリングモードと呼ぶ)とそうでない状態の2つの状態を持つが、最初に図10に示したサブルーチンを呼ぶ前はスケーリングモードでない状態であるように初期化されていることをメインルーチンは保証する必要がある。以下の説明ではスケーリングモードであるときにはスケーリングフラグをONにし、そうでない状態のときはスケーリングフラグをOFFにする。よって第1回目のイベント発生前にはスケーリングフラグはOFFになっている。
図10に示したサブルーチンがコールされるとまずS101のステップの処理を行なう。このステップではポインティングデバイスから得られた位置情報を用いて、コンピュータ内のワールド座標系における位置を算出する。データの流れは図11のA101[編集対象オブジェクトの位置入力装置]のポインティングデバイスで得られた位置情報がP101[編集対象オブジェクトの仮想空間上の位置の算出]のプロセスへ取り込まれ位置算出処理が行なわれる。図11のP101[編集対象オブジェクトの仮想空間上の位置の算出]は、図10のS101すなわち本ステップでの処理に対応している。
続いてS102においてオブジェクトの位置と定義領域で重なりがあるかどうかを算出する。このとき固定されている定義領域の領域データは図1のデータメモリ103あるいは外部記憶装置107に記憶されているので、これら(図11ではD101[定義された領域の位置(領域)データ])の記憶手段から該当データを、またオブジェクトの位置情報は上記算出結果を図11のP101[編集対象オブジェクトの仮想空間上の位置の算出]からデータを得て、重なりを算出する。図11のP102[重なりを計算]が本ステップS102の処理に対応する。重なり判定の方法については前述した手法のいずれかを適用する。
S103の判定で重なりがない場合にはスケーリングフラグをOFFにして本サブルーチンを抜ける。重なりがある場合には続いてS104で現在既にスケーリングモードに入っているかをフラグによって判断する。初めて重なりを持ったとき、あるいは重なりのない状態から重なり状態になったときはまだスケーリングモードでない状態なので次にS107の処理を行なう。
S107ではスケーリングフラグをONにするとともに図2で説明したインディケータ203を表示することにより、スケーリングモード状態にあることを示す。図2のインディケータ203ではオブジェクトのまわりに長方形状のインディケータによりモードを示しているが、インディケータは他の形状を用いることも可能であるし、インディケータを用いずオブジェクトの色を変えたりするなどの表示方法も可能である。
S107の処理後はS108においてS101で算出した位置データを保存しておく。これは定義領域にオブジェクトが入った(重なりのない状態から重なった)時点でのコンピュータ仮想空間(または平面)上の位置情報を記録しておくということにあたる。データフロー図(図11)ではP101[編集対象オブジェクトの仮想空間上の位置の算出]からD102[基準位置データとして格納]へとデータが流れる。この流れが起きるのはこのステップにおいてのみである。S108の処理後、本サブルーチンから抜ける。
さて、S104でスケーリングフラグがONだった場合には既にスケーリングモードであることから、前述のS108で記録されている位置情報があるのでこれと今回S101で算出した位置情報との差すなわち移動量を算出する。図11のD101[定義された領域の位置(領域)データ]内のデータと今回P101[編集対象オブジェクトの仮想空間上の位置の算出]から得られた位置データを用いて処理する(P103[移動量算出])。なお、P102[重なりの計算]から来るデータは重なりがあったかなかったか(0か1)だけである。ここで移動量の算出方法について次のような方法がある。
(1)単純に移動量のユークリッド距離を計算する方法。図12でdと書かれた距離情報である。図12では、P1が定義領域と重なり始めた際の点で、P2が最新の位置情報である。距離d,1201とはP1からP2へのベクトルのノルム(長さ)である。
(2)定義された軸方向の移動成分を取り出し、それを移動量とする方法。図13の例ではx軸が定義してあり、移動量としてdxを用いる。軸は複数持つ事ができ、2軸の場合を図14、3軸の場合を図15に示す。各軸方向の成分の長さを算出するためには、各軸方向の単位ベクトルとP1からP2のベクトルの内積を求めればよい。その性質上、軸に対する向きによって正負または0の値を持つことになる。図14や図15などのように複数の軸が定義できる場合には、それぞれの軸方向の移動量を異なる属性に関連付けることができる。例えば図15の例の場合は、dx、dy、dzをそれぞれ物体のx軸方向、y軸方向、z軸方向のサイズ変更に用いることができ、また、dx、dy、dzをそれぞれ物体の反射光の明るさ、光沢、色に関連付けることができる。この軸の設定方法にも二通りある。ワールド座標に対して相対関係が常に一定であるように設定する方法と定義領域のローカル座標に対して相対関係が常に一定であるように設定する方法である。しかしこの実施例では定義領域が固定であるのでこの二つに明確な差異は生じない。なお、本実施例では定義領域のx軸方向の成分を移動距離として使うこととする。
図10のフローの説明に戻る。算出された移動量をもとにS106の編集対象オブジェクトに対するサイズ変更(スケーリング)処理を行なう。データフロー図(図11)においてはP103[移動量算出]から得られた移動量をP104[サイズ変更]のサイズ変更に用いている。P104[サイズ変更]は本ステップS106の処理に対応している。ここでのサイズ変更処理はたとえば次のように行われる。図11のP103[移動量算出]から得られた移動量データがdistとすると(本実施例ではdist=dxとなる)、スケーリングファクターすなわちサイズ変更比例係数をsとすると、s=1+k・distで算出したsを適用して(乗ずることにより)サイズ変更を行なう。なお前式でkは任意の定数である。この式を用いると直線的にサイズが変更できる。本実施例では移動量distは負の値もとりうるのでその場合には物体のサイズは元より小さくなる。もちろん前式ではない他の関数を適用することもできる。S106の処理が完了すると本サブルーチンを抜ける。
なお、上記実施例では変形できるモード(状態)にあるかどうかをフラグによって識別したが、状態を記述するほかの方法(例えばデザインパターンの一つであるステートパターンなど)を用いても実装することができる。
[実施例2]
実施例2で示すのは編集対象オブジェクトの位置を固定して、サイズ変更のための定義領域の位置を変化させる構成である。ポインティングデバイスが一つしかないときには、編集中のオブジェクトを一度作業空間(または平面)において、この移動可能な定義領域にポインティングデバイスの制御を移すなどの手順が事前に必要となる。この実施例を実現するための入力装置(図1の106)としては、実施例1と同様にマウスを用いたり(図3、但し指し示すものは定義領域となる)、タブレットを用いたり(図4、但し指し示すものは定義領域となる)または他のセンサやポインティングデバイスなどを用いる。
ユーザーが編集対象オブジェクトのサイズを変更させるときの本システムの振る舞いを図16に示す。動かないオブジェクト1602に対し、画面3−2のように定義領域1601を移動させてオブジェクト1602に重ねあわせてサイズ変更モードに入る。この時、実施例1と同様、インディケータ1603を表示することが望ましいる。定義領域1601を移動することで画面3−3のようにオブジェクト1602の属性(サイズ)を変更する。
この実施例では実装としては基本的には実施例1と大きな相違点がない。フローチャートを図17に、データフロー図を図18に示す。本フローチャートに示される処理はサブルーチンであり、実施例1と同様にメインルーチン内よりある一定時間ごとによばれることとする。実施例2での処理が実施例1と異なる点はS201で得られる位置情報が図10のS101とは異なり定義領域の位置情報であるということだけである。
図18のA201[定義領域の位置(ならびに姿勢)入力装置]のポインティングデバイスで得られた位置情報がP201[定義領域の仮想空間上の位置(並びに姿勢)の算出]のプロセスへ取り込まれ位置算出処理が行なわれる。P202[重なりを計算]とP203[移動量を算出]で使われるのは固定の編集対象オブジェクト位置と、ポインティングデバイスから得られた定義領域の位置である。また、重なり始めたときの位置として記憶されるのはやはり定義領域の位置である。よってS208でいう基準位置は図18のP201[定義領域の仮想空間上の位置(並びに姿勢)の算出]からD202[基準位置データ格納]へと入る定義領域の位置である。
図18のP203[移動量算出]は、図18のD201[編集対象オブジェクトの位置データ]内のデータとP201[定義領域の仮想空間上の位置(ならびに姿勢)の算出]から得られた位置データを用いて処理する(P203[移動量算出])。これは、図17のS205に対応する。P203[移動量算出]から得られた移動量をP204[サイズ変更]のサイズ変更に用いている。P204[サイズ変更]はステップS206の処理に対応している。
S205で行われる移動量の算出については次のようになる。実施例1の説明において移動量の算出方法のうち、定義された軸方向成分を取り出す計算ではワールド座標に対して相対関係が常に一定であるように設定する方法と定義領域のローカル座標に対して相対関係が常に一定であるように設定する方法の2つの方法が有るとした。本実施例では定義領域のみが移動するので、ワールド座標に対して相対関係が常に一定であるよう軸に関する定義領域の位置変化を使うこととする。定義領域のローカル座標に関する軸を用いることもできるが、この方法については実施例3の項で後述する。それ以外の部分については実施例1と基本的に同じなので、実施例1における説明を参照されたい。
[実施例3]
実施例3で示すのは編集対象オブジェクトの位置、ならびにサイズ変更用定義領域の位置の両方が変化する場合である。
基本的な振る舞いは実施例1や実施例2と同じで編集対象オブジェクトと定義領域が重なり始めた位置から重なりが終わった位置までの移動量でサイズ変更を行なう。
この実施例の具体的な実装方法をこれより述べる。基本的に実施例1あるいは2と共通部分が多い。共通の部分は実施例1で説明を行なったので、異なる部分に対しての説明を主にこれより行なう。システムの構成例は図1に示す通りである。構成そのものは実施例1と同じである。ただし図1の入力装置106に関しては2つ以上のポインティングデバイスが必要となる。構成例を図19、図20に示す。図19の構成例ではマウスを2つ用い、一方が編集対象オブジェクト、他方が定義領域に対応している。図20の構成では、マウスとタブレットの組み合わせでそれぞれの移動を実現している。ただし、タブレットでペンを2つ以上センシングできるデバイスを用いれば図21のように、本実施例において適用可能なポインティングデバイスを構成することができる。すなわち、一方のペンで編集対象オブジェクト、他方のペンで定義領域の移動を行なうように構成する。
編集対象作業空間が3次元であれば図22のように2つの3次元入力センサによって構成することができる。図22で3次元空間上の編集対象オブジェクト2202に対応づけられた入力用ポインティングデバイス2204、3次元空間上の定義領域2201に対応づけられた入力用ポインティングデバイス2203をオペレータが操作することでディスプレイ上の編集対象オブジェクト2202、定義領域2201の相対移動を行なう。オペレータは、左右両手に持ったそれぞれのポインティングデバイスを自由に動かすことができ、左手で操る編集対象物体に対して、左手で操るサイズ変更用定義領域を重ねてその相対位置を変化させることによりサイズ変更を行なう。
図1の演算処理回路101で行われる処理を表わすフローチャートを図23に示す。また、システム全体にわたるデータの流れを述べるためのデータフロー図を図24に示す。本フローチャートに示される処理はサブルーチンであり、実施例1などと同様にメインルーチン内である定義時間ごとに発生するイベントがあると呼ばれるものとする。
実施例3での処理が実施例1や2と大きく異なる点はデータフロー図(図24)を見るとわかりやすい。まず、アクターとしての入力がA301[編集対象オブジェクトの位置入力装置]とA302[定義領域の位置入力装置]と2つになっていることであり、したがってその情報に対する仮想空間における位置(または+姿勢)の算出処理もそれぞれに必要になっていることである。フローチャート(図23)でもこれまで1ステップであった部分がS301とS302の2ステップになっている。すなわた、S301では、編集対象オブジェクト、S302では、定義領域の位置をそれぞれ求める。
ステップS303〜S309は、実施例1における処理フロー(図10)のステップS102〜S108とほぼ同様である。以下、相違点について説明する。実施例3においては、実施例1や2のように、重なり始めたときの位置を基準位置として記憶する必要がある(図23のS309)が、このとき、対象物体の位置と定義領域の位置をそれぞれの基準位置として記憶する。データフロー図(図24)ではD301[定義位置データ格納]とD302[オブジェクト基準位置データ格納]へと記憶される。P305[定義領域の仮想空間上の位置(領域)の算出]からD301[定義位置データ格納]、P301[編集対象オブジェクトの仮想位置空間上の位置の算出]からD302[オブジェクト基準位置データ格納]へデータが流れるのはこのS309のときだけである。データストアはこのように2つ必要になる。
さて、これまでの実施例と比べて計算が少し複雑になるのが移動量計算ステップS306である。このステップはデータフロー図(図24)においてはP303[移動量を算出]で表されるが、この算出プロセスで使われるデータは、
1P305[定義領域の仮想空間上の位置(領域)の算出]からの今回算出された仮想空間上の定義領域の位置と姿勢
2P301[編集対象オブジェクトの仮想位置空間上の位置の算出]からの今回算出された仮想空間上の対象物体の位置
3D301[定義位置データ格納]からの定義領域の基準位置
4D302[オブジェクト基準位置データ格納]からの対象物体の基準位置
である。
ちなみにP302[重なりを計算]からの矢印は重なりがあったかどうかの1か0かの情報の流れを示すのみである。さて、本ステップ(S306)における算出方法の一例は、上の4種類のデータのうち3と1を使って定義位置の移動量を計算し4と2を使い対象物体の移動量を計算後その2つの計算結果を使って定義領域に対する対象物体の相対的な移動量を算出する方法である。上では2つの段階に分けて算出する表現を取ったが、数式にするとこれを一つのステップにまとめることができる。いずれにせよ、定義領域のローカル座標における対象物体の移動量がここで計算されるのである。他の部分はこれまでの実施例と同様である。
[実施例3の変更例]
上記実施例3は定義領域と対象物体の基準位置をそれぞれ維持する必要があり、しかも移動量算出ステップで扱うデータの種類が多かったが、あらかじめ相対位置情報で管理しておくとデータの流れはすっきりとする。この実施例3のマイナー変更例を実現するためのフローチャートが図25であり、データフロー図が図26となる。本実施例では、図25に示すように新たにS311という、定義領域のローカル座標系における対象物体の位置を算出するステップを追加している。
重なり算出ステップ(S303)が、実施例1などと同様に対象物体のバウンディングボックスの重心と定義領域(=そのバウンディングボックス)との重なりを使うので、図25のS303での算出はS311の結果を使うと容易になる。またS309での基準位置の記憶もデータ一つだけでよく(図26のP306[編集対象オブジェクトの定義領域との相対位置の算出]からD301[相対位置基準位置データ格納]への流れ)、S308の移動量算出ステップも容易になる。実際に、図26のようにデータの流れの管理が容易になるメリットを持つ。
実施例3ならびにそのマイナー変更版では移動量の算出に対象物体の定義領域に対する相対的な移動量を用いたが、これに対し対象物体のワールド座標系に対する移動量を用いる方法も考えられる。この場合、定義領域はただサイズ変更モードのON・OFFのみに使われることになる。用途によればこの方法の方が入力しやすい場合もある。
[実施例4]
これまでの実施例では連続的にサイズを変更することを特徴としているが、この実施例4ではある一定の度合いでのサイズ変更を繰り返して行なうことで所望するサイズに変更することを特徴とする。この実施例においてもこれまで説明した実施例1から実施例3のようにそれぞれの位置を固定したり移動可能にしたりといった構成が可能であるが、本実施例では上記実施例3のように編集対象オブジェクトと定義領域の両方がユーザーによって移動可能な場合に限って説明を行なうこととする。図1の入力装置106は、例えば図27のような構成として実現できる。図27で仮想空間上の編集対象オブジェクト2702に対応づけられた入力用ポインティングデバイス2704、仮想空間上の定義領域2701に対応づけられた入力用ポインティングデバイス2702の両センサをオペレータが操作することによってセンサの3次元空間での動きを検出してディスプレイ上の編集対象オブジェクト2702と定義領域2701とを相対移動させる。
図27では定義領域2701が一例として「魔法の杖」のメタファーになっており、それに対応するポインティングデバイス2703もやはりその形状によりその機能をわかりやすく示すものとなっている。振る舞いとしては図28に示すように、定義領域2801が編集対象オブジェクト2802に重なると決められた増分だけサイズを変更している。定義領域は、図29の(a)のようにサイズを大きくするためだけの定義領域(L)と29(b)のように小さくするための定義領域(S)の二つを独立に持つ実装方法がある。
また、図30のようにサイズ変更を大きくする部分としての定義領域L,3001と小さくする部分としての定義領域S,3002の2つの領域を結合した状態で一つのセンサに対応させる実装方法も有る。本実施例では図29の(a)の構成を使った場合について説明する。ここで説明する方法は他の方法にも簡単に応用が可能である。
図1の演算処理回路101で行なわれる処理を表わすフローチャートを図31に示す。また、システム全体にわたるデータの流れを述べるためのデータフロー図を図32に示す。本フローチャートに示される処理はサブルーチンであり、実施例1などと同様にメインルーチン内である定義時間ごとに呼ばれるものとする。
本サブルーチンではS401ならびにS402のステップで、実施例3のとき同様に、それぞれ対象物体と定義領域の仮想空間内での領域位置が算出される。しかしこれらのデータが使われるのは重なりがあるかどうかを計算するためだけである。このことはデータフロー図(図32)を見ても明白である。
アクターとしての入力は、実施例3と同様、A401[編集対象オブジェクトの位置入力装置]とA402[定義領域の位置入力装置]と2つになっており、したがってその情報に対する仮想空間における位置(または+姿勢)の算出処理(P401,P405)もそれぞれに必要になる。P401[編集対象オブジェクトの仮想空間上の位置の算出]と、P405[定義領域の仮想空間上の位置(領域)の算出]に基づいてP402[重なりを計算]が実行される。
P402[重なりを計算]における重なりの計算については実施例1同様に、本実施例でも対象オブジェクトのバウンディングボックスの重心が、定義領域のバウンディングボックスの中にあるかどうかで算出することとする(S404)。算出方法については実施例1のところで書いたように他の実装方法もある。
判別ステップS404で重なりがあった場合で、スケーリングフラグがonでなかった場合には、領域の中に対象物体が入った瞬間であるのでこのときにS406でフラグをonしたのち、S407で対象物体に対してサイズ変更、すなわちP404[一定量サイズ変更]を行なう。サイズ変更は固定された増分をΔsとすると、s=1+Δsとして算出したsをスケールファクター(係数)としてサイズ変更を行なう。
このルーチンにおいてスケーリングフラグの振る舞いはこれまで紹介した実施例1から3までのものと同じであるが、領域に入ったときだけサイズ変更を行なうことを保証するために使用されているところが異なる。
[実施例5]
これまで説明を加えてきた実施例1から4についてであるが、入力装置(図1における106)に上記実施例で用いた位置入力に加えてさらにon/offを検出できるボタンなどのイベントを発生するデバイスとの組み合わせにより異なった入力指示方法が可能となる。ここでは実施例1に関してのバリエーションを説明する。
この実施例ではユーザーは以下のようなシナリオで編集オブジェクトへの変形操作を行なう。図2を再び参照して説明する。
画面2−1の状態から編集対象オブジェクト202を定義領域201に入れる。画面2−2のように編集対象オブジェクト202が定義領域201に入るとインディケータ203が表示される。インディケータ203は定義領域に入った(重なった)ことを示しているので、このときにボタンを押せばスケーリングモードに入る。ユーザはボタンを押しながら対象物体を移動すると移動量に応じて対象物体のサイズが変化する(画面2−3)。ユーザーがボタンを離すとその時点でサイズ変更が確定(すなわち終了)する。
本実施例の実施例1との相違点は前述の通り図1の入力装置106にボタンが追加されることであり、図1の演算処理回路101で処理されるルーチンも異なる。図33にそのサブルーチンを示す。これまでと同様、メインルーチン内においてある時間ごとに発生するイベントによってこのサブルーチンは呼ばれる。異なるのはS504、すなわちボタンが押されているか否かの判定処理が追加されたことである。なお、S504ではボタンが押されたかどうかのチェックをするのみでなく、前述のシナリオで登場したインディケータを表示することも行なう。他の部分は実施例1と同じである。データフロー図も図11と同様のフローとなる。
すなわち、本実施例では、S504のボタンが押されているの判定がYesであれば、S505以下のスケーリングモードによる処理が実行され、S504のボタンが押されているの判定がNoであればスケーリングモードによる処理は実行されず、S510においてスケーリングフラグがOFFに設定されて、処理を終了する。
本実施例は実施例1をベースにした例として説明しているが、ボタンの付加は実施例2から4に対しても適用できる。実施例3に適用した例を参考までに図34に挙げる。
図34において、S601〜S604は実施例3の図23のS301〜S304と同様である。S304のYesの判定の次ステップとして、S605のボタンが押されているか否かの判定処理が追加されている。なお、S605ではボタンが押されたかどうかのチェックをするのみでなく、前述のシナリオで登場したインディケータを表示することも行なう。以下のステップは実施例3と同様である。S605のボタンが押されているの判定がYesであれば、S606以下のスケーリングモードによる処理が実行され、S605のボタンが押されているの判定がNoであればスケーリングモードによる処理は実行されず、S611においてスケーリングフラグがOFFに設定されて、処理を終了する。
また、実施例1にボタンを付加し、さらに、ボタンを押したまま、編集対象オブジェクトが定義領域を離れた場合に、スケーリング処理を続行する構成の処理フローを図35に示す。
図35の処理フローにおいて、S701,S702は、実施例1の処理フローである図10のS101,S102と同様の処理である。S703では、スケーリングフラグがONであるか否かが判定される。Yesの判定である場合は、S711においてボタンが押下中であるか否かが判定される。Yesの場合は、スケーリングモードが続行されていると判定され、S706で基準位置との差(移動量)が算出され、S707で移動量に基づいてスケーリング処理が実行される。
S711においてボタンが押されていないと判定されると、S710に進みスケーリングフラグをOFFとしてスケーリングモードから抜ける。
また、S704において重なりがあると判定された場合、S705においてボタンが押下中であるか否かが判定される。Yesの場合は、スケーリングフラグをON(S708)とし、S709で今回の仮想世界でのオブジェクトの位置を基準位置として保存する。S705においてボタンが押されていないと判定されると、S710に進みスケーリングフラグをOFFとしてスケーリングモードから抜ける。
この処理は、ボタンを押したまま、編集対象オブジェクトが定義領域を離れた場合に、スケーリング処理を続行することを可能としたものである。本構成も、他の実施例2〜4においても適用できる。実施例4における構成としては、ボタンを押下中は、一定量のサイズ変更が繰り返し実行される構成として実現することができる。
なお、図1に示したオブジェクト属性変更処理装置では、属性変更の処理プログラムをプログラムメモリ102に格納しているが、例えばCD−ROMあるいはDVD−ROM、CD−R、CD−RW、DVD−RAM、DVD−RW、DVD+RWのような光ディスクに格納してもよいし、MOのような光磁気ディスクに格納してもよい。また、ハードディスクあるいはフレキシブルディスクのような磁気ディスクに格納してもよい。あるいはメモリースティックのような半導体メモリに格納してもよい。いずれにしても、これまでの実施例で論じてきた編集のための入力方法に関する処理プログラムを供給する供給媒体からその処理プログラムを読み出して実行すれば、該物体への編集において該物体のサイズなどの属性変更などを容易かつ効果的に行なうことができるようになる。
上述した実施例においては物体の属性の一つである「サイズ(大きさ)」を変更するための方法・装置として説明したが、上述した定義領域を例えば編集対象オブジェクトの色や明るさや光沢度や構成するポリゴンの数などといった、オブジェクトの様々な属性を変更する定義領域として定義する構成とすることにより、オブジェクトの様々な属性を上述のスケーリング処理と同様に変更する構成が実現される。本発明は、スケーリング処理に限らず、編集対象オブジェクトの属性の変更処理全般に適用可能なものである。例えば、オブジェクト変形ツール、仮想カタログビューワーのユーザーインターフェースとして応用できる。
上述の構成では、スケーリング処理として、定義領域での移動距離に基づく拡大処理を中心として説明したが、例えば変形処理として、3次元モデルに対してへこみあるいは凸部を形成する処理に適用する構成として、定義領域内での編集対象オブジェクトの移動距離に応じて、へこみあるいは凸部の大きさを変更するようにオブジェクトの属性を変更する処理を実行したり、また、オブジェクトの色属性を定義領域内での編集対象オブジェクトの移動距離に応じて、RGB値を変更するように構成することが可能である。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
上述の説明から、明らかなように、本発明のオブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、によれば、編集対象オブジェクトと定義領域との重なりに基づいて、編集対象オブジェクトの属性変更モードへの切り換えを実行し、定義領域内での移動、あるいは定義領域への重なりの発生に基づいて所定の属性変更、例えばスケーリング処理が実行される構成であるので、コンピュータを利用したオブジェクト編集システムの作業が容易に実行可能となる。従って、コンピュータのマウス、キーボード等、各種の入力装置の扱いに不慣れな低年齢の幼児や高齢者にとってのインターフェースとして有効である。デジタル技術を使った情操教育玩具や、オンラインショッピングまたはコミュニケーションツールへの応用が期待できる。
101 演算処理回路
102 プログラムメモリ
103 データメモリ
104 フレームメモリ
105 画像表示装置
106 入力装置
107 外部記憶装置
108 バス
201 定義領域
202 編集対象オブジェクト
203 インディケータ
401 枠
601,602 バウンディングボックス
603 重なり領域
701,702 バウンディングボックス
801 編集対象オブジェクト
802,803 バウンディングボックス
804 重なり領域
901,902 バウンディングボックス
903 重心
1601 定義領域
1602 編集対象オブジェクト
1603 インディケータ
2201 定義領域
2202 編集対象オブジェクト
2203,2204 3次元センサ
2701 定義領域
2702 編集対象オブジェクト
2703,2704 3次元センサ
2801 定義領域
2802 編集対象オブジェクト
3001 定義領域L
3002 定義領域S

Claims (13)

  1. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
    ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更する属性変更モードへの切り換え処理を実行する制御手段を有し、
    前記編集対象オブジェクトの変更対象属性は、オブジェクトの大きさ、明るさ、光沢に関する前記編集対象オブジェクト単位の属性のいずれかであることを特徴とするオブジェクト属性変更処理装置。
  2. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
    ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
    前記重なり判定に基づいて、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更する属性変更モードへの切り換え処理を実行するモード切り換えステップを有し、
    前記編集対象オブジェクトの変更対象属性は、オブジェクトの大きさ、明るさ、光沢に関する前記編集対象オブジェクト単位の属性のいずれかであることを特徴とするオブジェクト属性変更処理方法。
  3. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
    ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更する属性変更モードへの切り換え処理を実行する制御手段と、
    前記オブジェクト領域に対する操作情報を入力する第一の入力手段と、
    前記属性変更定義領域に対する操作情報を入力する第二の入力手段と、
    を有することを特徴とするオブジェクト属性変更処理装置。
  4. 前記第一の入力手段と、前記第二の入力手段は、同一装置に備えられていることを特徴とする請求項3に記載のオブジェクト属性変更処理装置。
  5. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
    第一の入力手段を適用した入力処理により、ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域を操作するステップと、
    第二の入力手段を適用した入力処理により、前記ディスプレイおいて定義される属性変更定義領域を操作するステップと、
    ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
    前記重なり判定に基づいて、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更する属性変更モードへの切り換え処理を実行するモード切り換えステップを有することを特徴とするオブジェクト属性変更処理方法。
  6. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
    ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行する制御手段を有し、
    前記制御手段は、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更するモード(状態)とする制御を実行する構成を有することを特徴とするオブジェクト属性変更処理装置。
  7. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
    ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
    前記重なり判定に基づいて、前記編集対象オブジェクトの属性変更モードへの切り換え処理を実行するモード切り換えステップを有し、
    前記モード切り換えステップは、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更するモード(状態)とする制御を実行するステップであることを特徴とするオブジェクト属性変更処理方法。
  8. ディスプレイに表示される編集対象オブジェクトとしての3次元モデルの属性を変更する3次元モデル処理装置であり、
    ディスプレイに表示された処理対象である3次元モデルに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記3次元モデルの属性変更モードへの切り換え処理を実行する制御手段を有し、
    前記制御手段は、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更するモード(状態)とする制御を実行する構成を有することを特徴とする3次元モデル処理装置。
  9. 前記制御手段は、前記3次元モデルに関連づけられたオブジェクト領域と、前記定義領域との重なりの発生を検出し、該重なり発生検出に応じて予め設定された単位量の属性変化量に基づいて、前記3次元モデルの属性を変更する処理を実行する構成を有することを特徴とする請求項8に記載の3次元モデル処理装置。
  10. ディスプレイに表示される編集対象オブジェクトとしての3次元モデルの属性を変更する3次元モデル処理方法であり、
    ディスプレイに表示された処理対象である3次元モデルに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
    前記重なり判定に基づいて、前記3次元モデルの属性変更モードへの切り換え処理を実行するモード切り換えステップを有し、
    前記モード切り換えステップは、前記編集対象オブジェクトの全部が、前記定義領域とその位置を共有したことを条件として、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更するモード(状態)とする制御を実行するステップであることを特徴とする3次元モデル処理方法。
  11. 前記3次元モデル処理方法において、さらに、前記3次元モデルに関連づけられたオブジェクト領域と、前記定義領域との重なりの発生を検出し、該重なり発生検出に応じて予め設定された単位量の属性変化量に基づいて、前記3次元モデルの属性を変更する属性変更処理ステップを有することを特徴とする請求項10に記載の3次元モデル処理方法。
  12. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理装置であり、
    ディスプレイに表示された処理対象である編集対象オブジェクトに関連づけられたオブジェクト領域と、前記ディスプレイおいて定義される属性変更定義領域との重なりの有無を判定し、該重なり判定に基づいて、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更する属性変更モードへの切り換え処理を実行する制御手段と、
    前記ディスプレイ上に位置を固定して表示した前記属性変更定義領域に対して、前記オブジェクト領域を相対的に移動させる入力手段と、
    を有することを特徴とするオブジェクト属性変更処理装置。
  13. ディスプレイに表示される編集対象オブジェクトの属性を変更するオブジェクト属性変更処理方法であり、
    ディスプレイに表示された編集対象オブジェクトに関連づけられたオブジェクト領域を、ディスプレイ上に位置を固定して表示した属性変更定義領域に対して相対的に移動させる入力ステップと、
    前記オブジェクト領域と、前記属性変更定義領域との重なりの有無を判定する重なり判定ステップと、
    前記重なり判定に基づいて、前記編集対象オブジェクトの属性を編集対象オブジェクト全体を処理単位として変更する属性変更モードへの切り換え処理を実行するモード切り換えステップと、
    を有することを特徴とするオブジェクト属性変更処理方法。
JP2009193245A 2009-08-24 2009-08-24 オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法 Expired - Fee Related JP4868044B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193245A JP4868044B2 (ja) 2009-08-24 2009-08-24 オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193245A JP4868044B2 (ja) 2009-08-24 2009-08-24 オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000145984A Division JP4389350B2 (ja) 2000-05-18 2000-05-18 オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体

Publications (2)

Publication Number Publication Date
JP2009283009A JP2009283009A (ja) 2009-12-03
JP4868044B2 true JP4868044B2 (ja) 2012-02-01

Family

ID=41453318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193245A Expired - Fee Related JP4868044B2 (ja) 2009-08-24 2009-08-24 オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法

Country Status (1)

Country Link
JP (1) JP4868044B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6308106B2 (ja) * 2014-11-14 2018-04-11 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
JP6891866B2 (ja) * 2018-10-25 2021-06-18 セイコーエプソン株式会社 表示装置、表示装置の制御方法および表示システム
CN110456908A (zh) * 2019-07-25 2019-11-15 广州彩构网络有限公司 一种基于三维模型的产品展示交互方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04364583A (ja) * 1991-06-12 1992-12-16 Hitachi Ltd 図形処理装置
US5900874A (en) * 1992-05-11 1999-05-04 International Business Machines Corporation Icon transformation system
JP3251639B2 (ja) * 1992-06-08 2002-01-28 株式会社東芝 ポインティング装置
JPH0830417A (ja) * 1994-07-13 1996-02-02 Canon Inc 画像編集方法及び装置
JP3276068B2 (ja) * 1997-11-28 2002-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトの選択方法およびそのシステム
JPH11296691A (ja) * 1998-04-09 1999-10-29 Canon Inc 図形選択装置、方法及び記憶媒体

Also Published As

Publication number Publication date
JP2009283009A (ja) 2009-12-03

Similar Documents

Publication Publication Date Title
KR102219912B1 (ko) 원격 호버 터치 시스템 및 방법
TWI247268B (en) Figure display control device and recording medium for executing display of graph and figure
Nee et al. Virtual and augmented reality applications in manufacturing
US6025847A (en) Three dimensional modeling system with visual feedback
JP2019519387A (ja) 拡張現実ロボットシステムの可視化
CN104011629A (zh) 用于能够进行基于触摸的输入的用户界面的经增强的目标选择
US7420556B2 (en) Information processing method and information processing apparatus
JP2004199496A (ja) 情報処理装置および方法、並びにプログラム
KR101392936B1 (ko) 사용자 맞춤형 인터페이스 시스템 및 그 구현 방법
CN101140598A (zh) 部件识别图像处理器、生成部件识别图像的程序和存储程序的记录介质
Eiriksson et al. Augmented reality interfaces for additive manufacturing
Jörg et al. Virtual hands in VR: Motion capture, synthesis, and perception
JP4868044B2 (ja) オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法
US20130332118A1 (en) Computer-Implemented Method For Defining Initial Conditions For Dynamic Simulation Of An Assembly Of Objects In A Three-Dimensional Scene Of A System Of Computer-Aided Design
JP2003256025A (ja) ロボット動作教示方法及び装置
JP4389350B2 (ja) オブジェクト属性変更処理装置、オブジェクト属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体
US5418712A (en) Manipulation performance evaluating apparatus for evaluating manipulation performance of a commodity having operating parts
Wang et al. Key technique of assembly system in an augmented reality environment
JP2001338306A (ja) 編集ツール属性変更処理装置、編集ツール属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体
Dickinson et al. Pen–tablet as a CAD interface alternative
Chen* et al. Haptic modeling for a virtual coordinate measuring machine
KR102392675B1 (ko) 3차원 스케치를 위한 인터페이싱 방법 및 장치
US11941773B2 (en) Method for designing a three-dimensional mesh in a 3D scene
JP5120290B2 (ja) 3次元座標入力方法,コンピュータプログラム及び3次元座標入力装置
Turner et al. 12DoF Interaction for Scientific Visualisation.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees