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の図形データ・制約のデータ
をアニメーションライブラリから呼び出す
制約とパラメタのマッチングを行う
制約を制約ソルバに解かせてアニメーショ
ンのデータであるサンプリングデータを生
成する