制約ソルバ

Download Report

Transcript 制約ソルバ

班紹介
描画班一同
描画班の目的
快適でインタラクティブな描画環境の実現

主に論文やプレゼンテーションなどに使用す
るような論理的な概念や関係を表すようなも
のを対象とする
制約を用いたシステムの開発
制約とは?
成立すべき関係を宣言的に記述したもの
数学的には変数間の関係式で表現される
例:
 P.y = Q.y(2点のy座標が等しい)
P
P
Q
Pを動かすと・・・
x
Q
x
Y座標が同じという制
約がかかっているの
でQも自動的に動く
制約ソルバ
制約の集合から制約を満たす解を求める
システム
x+y=5
y+z=3
z+x=4
制約ソルバ
x=3
y=2
z=1
過去の研究(Udraw)
制約に基づいた
描画アプリケー
ション
GUI上の操作で
幾何学的な制約
を図形に付加す
ることが可能
Udrawのスクリーンショット
メンバー紹介(仮)
★中村好一(M2)
若槻聡一郎(M1)
大野太郎(B5)
描画班の上下関係
(★はリーダー)
メンバー紹介(真実)
中村好一(M2)
大
野
B4
中
村
若
槻
みんな仲良くやってます
若槻聡一郎(M1)
大野太郎(B5)
こんな人、募集してます
強い制約


研究室によくきてくれる人
制約関係に興味のある人
弱い制約


留年しない自信のある人
スポーツ好き
制約に基づくアニメーション
作成システムGrifonにおける
データ構造の設計と実装
3604U162-8
若槻聡一郎
研究の概要
本研究ではGrifonにおけるアニメーション
のデータ構造についての設計と実装を
行った
Grifonでは制約を用いることによって論理
的な概念を表すアニメーションを簡単に作
成できるようにすることを目的とした
- 物体の落下・衝突
- ビリヤードの玉の動作
制約を用いたアニメーション作
成システムGrifon
Grifonの特徴
制約を用いて設計した


Hybrid並行制約言語に基づき、時間的な変化
を表現した
幾何制約により図形の空間的な関係を表現し
た
アニメーションライブラリを備え、アニメー
ションの階層的な表現ができる
Hybrid並行制約
時間軸上の離散的・連続的な変化を表現するの
に適している
例: X = 10,
X’ = 0,
hence {if X > 0 then X’’ = -10,
if X = 0 then X’ = -0.5 * X’}
t=0
t=0+
t=1.414-
t=1.414
幾何制約
パラメタ間の幾何学的関係を表現するための制
約
例:


2点のx座標が等しい
ある点が別の2点の中点に位置する
実数方程式により定義される


P1.x = P2.x
P3.x = (P1.x + P2.x) / 2
P3.y = (P1.y + P2.y) / 2
PSVG(Parametrized SVG)
一般的なベクター画像情報(SVG, Scalable
Vector Graphics)にパラメタが付加された
もの
Grifonではこのパラメタを制約のドメインと
して扱う
Grifonのシステム構成
Javaで実装
主に以下の要素からなる




GUI環境
内部データ構造
アニメータ
制約処理系
GUI環境
アニメーションの作成・表示を行う
キャンバスにJHotDrawを使用
ライブラリ
キャンバス
スクリプトパネル
制約充足系
Grifonの制約充足系は、幾何制約と
Hybrid並行制約を一括して処理する
Hybrid並行制約充足系

V.Guptaによる既存実装を使用
幾何制約充足系

Cassowaryを使用
アニメータ
制約処理系からサンプリングデータを受け
取ってキャンバス上にアニメーションを表
示させるオブジェクト
アニメーションの一時停止やアニメーション
表示前の状態へのリセットを行う
課題
システムの実装



GUI上での機能の充実
作業の保存機能
アニメーションの一般形式での出力
図形の回転機能の追加
制約ソルバの改良


Hybrid並行制約処理系のJavaでの実装
幾何制約の処理にchorusを使用
メンバー紹介(仮)2
★中村好一(M2)
若槻聡一郎(M1)
大野太郎
(B5)
班ゼミの風景
アニメーションの作成方法
必要なPSVGの図形データ・制約のデータ
をアニメーションライブラリから呼び出す
制約とパラメタのマッチングを行う
制約を制約ソルバに解かせてアニメーショ
ンのデータであるサンプリングデータを生
成する