グラフィカルユーザインターフェース(以下、GUI)では、計算機内の情報の視覚化と、その視覚化に対する直接操作の実現のためのプログラム開発コストが大きい。その解決法の1つとして、幾何的制約を用いて図の構造を表現し、制約を解くことによって図を校正し、制約の動的変更により直接操作を実現する手法が注目され、盛んに研究されている。しかし、これまでに提案された制約解消法は、高速化のために、制約の連立や非線形な制約を禁ずるなど、制約系のクラスを大幅に制限していたため、これを採用したGUIシステムでは実用上必要な図を表現することが難しかった。そこで本研究では、制約の連立や非線形な制約も扱うことができる高速な制約解消法を開発した。これは以下のような分析と考察に基づいている。GUIで使われる一般的な制約系では、制約の連立は局所的に現れていて、大部分では制約を単独に解くことが可能である。また、単独であれば非線形な制約でも高速に解くことができ、連立する部分が小さければ全体的な速度低下への影響も少ない。そこで開発した制約解消法では、制約系を分析して連立する必要のある最小限の部分を求め、それ以外の制約を単独で解ける部分と合わせて、統一的に扱うようにした。これに基づいて制約解消系を作成し、その性能評価を行ったところ、制約系のクラスを大幅に制限した制約解消系と比べても、それほど大きな速度低下を生じていないことがわかった。さらに、この制約解消系を使用して、複数の視覚的例による直接操作インターフェイスの対話的実現を行うシステムImageを作成した。このシステムでは、制約を連立する機能を大いに活用している。また、現在開発中の宣言的記述に基づくアルゴリズムアニメーション作成システムにも採用する予定である。
|