CG

Similar documents
Microsoft PowerPoint - [150421] CMP実習Ⅰ(2015) 橋本 CG編 第1回 幾何変換.pptx

CG

CG

Microsoft PowerPoint - 9.pptx

CG

Microsoft PowerPoint - 9.pptx

vecrot

PowerPoint Presentation

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

スライド 1

CG

コンピューターグラフィックスS

pp2018-pp4base

スライド タイトルなし

Microsoft PowerPoint - ロボットの運動学forUpload'C5Q [互換モード]

Microsoft PowerPoint - 第3回2.ppt


公式集 数学 Ⅱ B 頭に入っていますか? 8 和積の公式 A + B A B si A + si B si os A + B A B si A si B os si A + B A B os A + os B os os A + B A B os A os B si si 9 三角関数の合成 si

情報システム設計論II ユーザインタフェース(1)

pp2018-pp9base

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位

CG

代数 幾何 < ベクトル > 1 ベクトルの演算 和 差 実数倍については 文字の計算と同様 2 ベクトルの成分表示 平面ベクトル : a x e y e x, ) ( 1 y1 空間ベクトル : a x e y e z e x, y, ) ( 1 1 z1

Microsoft PowerPoint - Robotics_13_review_1short.pptx

スライド 1

ÿþŸb8bn0irt

2013年度 九州大・理系数学

1 対 1 対応の演習例題を解いてみた 微分法とその応用 例題 1 極限 微分係数の定義 (2) 関数 f ( x) は任意の実数 x について微分可能なのは明らか f ( 1, f ( 1) ) と ( 1 + h, f ( 1 + h)

2011年度 筑波大・理系数学

Microsoft PowerPoint - qcomp.ppt [互換モード]

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード]

課題

<4D F736F F D E682568FCD CC82B982F192668BAD9378>

スライド 1

Microsoft PowerPoint P演習 第5回 当たり判定(2)【課題】.pptx


断面の諸量

数学 t t t t t 加法定理 t t t 倍角公式加法定理で α=β と置く. 三角関数

2011年度 大阪大・理系数学

2013年度 信州大・医系数学

Microsoft PowerPoint - CV07.ppt [互換モード]

2014年度 筑波大・理系数学

線形代数とは

ToDo: 今回のタイトル

Processingをはじめよう

<4D F736F F D2094F795AA8C608EAE8E478B4C92A08250>

Microsoft Word - thesis.doc

木村の物理小ネタ ケプラーの第 2 法則と角運動量保存則 A. 面積速度面積速度とは平面内に定点 O と動点 P があるとき, 定点 O と動点 P を結ぶ線分 OP( 動径 OP という) が単位時間に描く面積を 動点 P の定点 O に

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

2014年度 千葉大・医系数学

重要例題113

ポンスレの定理


<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

計算機シミュレーション

テンソル ( その ) テンソル ( その ) スカラー ( 階のテンソル ) スカラー ( 階のテンソル ) 階数 ベクトル ( 階のテンソル ) ベクトル ( 階のテンソル ) 行列表現 シンボリック表現 [ ]

PoincareDisk-3.doc

<4D F736F F D EBF97CD8A B7982D189898F4B A95748E9197BF4E6F31312E646F63>

1222-A Transform Function Order (trsn

木村の物理小ネタ 単振動と単振動の力学的エネルギー 1. 弾性力と単振動 弾性力も単振動も力は F = -Kx の形で表されるが, x = 0 の位置は, 弾性力の場合, 弾性体の自然状態の位置 単振動の場合, 振動する物体に働く力のつり合

技術者のための構造力学 2014/06/11 1. はじめに 資料 2 節点座標系による傾斜支持節点節点の処理 三好崇夫加藤久人 従来, マトリックス変位法に基づく骨組解析を紹介する教科書においては, 全体座標系に対して傾斜 した斜面上の支持条件を考慮する処理方法として, 一旦, 傾斜支持を無視した

2 図微小要素の流体の流入出 方向の断面の流体の流入出の収支断面 Ⅰ から微小要素に流入出する流体の流量 Q 断面 Ⅰ は 以下のように定式化できる Q 断面 Ⅰ 流量 密度 流速 断面 Ⅰ の面積 微小要素の断面 Ⅰ から だけ移動した断面 Ⅱ を流入出する流体の流量 Q 断面 Ⅱ は以下のように

2018年度 筑波大・理系数学

1/15 平成 29 年 3 月 24 日午前 11 時 48 分第八章ニュートリノ質量行列 第八章 フレーバーニュートリノ ( e, m, t ) 換で結びつく (5.12) の ( e, m ) ニュートリノ質量行列 3 種混合 n n n と質量固有状態のニュートリノ ( n1, n 2, n

エジプト、アブ・シール南丘陵頂部・石造建造物のロータス柱の建造方法

コンピュータグラフィックスS 演習資料

< 三角関数 指数関数 対数関数の極限 > si lim は ラジアン角 6 逆関数の微分 : f æ ö lim ç 788 ± è ø 自然対数の底 3 指数関数 対数関数のグラフからも分かるように > ときは lim + lim + lim log + lim log + + < <

tottori2013-print.key



"05/05/15“ƒ"P01-16

連続講座 断層映像法の基礎第 29 回 : 篠原広行 他 断層映像法の基礎第 29 回 2 次元ファンビームの投影と画像再構成 篠原広行 II 梶原宏則 II 中世古和真 1 ) 橘篤志 II 橋本雄幸 2) 首都大学東京人間健康科学研究科放射線科学域 21 横浜愈 l 英短期大学情報学科 はじめに

ベクトルの基礎.rtf

点におけるひずみの定義 ( その1)-(ε, ε,γ ) の定義ひずみは 構造物の中で変化しているのが一般的である このために 応力と同様に 構造物内の任意の点で定義できるようにした方がよい また 応力と同様に 一つの点に注目しても ひずみは向きによって値が異なる これらを勘案し あ

スライド タイトルなし

Graphics with Processing モデリング 塩澤秀和 1

1/17 平成 29 年 3 月 25 日 ( 土 ) 午前 11 時 1 分量子力学とクライン ゴルドン方程式 ( 学部 3 年次秋学期向 ) 量子力学とクライン ゴルドン方程式 素粒子の満たす場 y ( x,t) の運動方程式 : クライン ゴルドン方程式 : æ 3 ö ç å è m= 0

<4D F736F F F696E74202D20836F CC8A C58B858B4F93B982A882E682D1978E89BA814091B28BC68CA48B E >

スライド 1

320_…X…e†Q“õ‹øfiÁ’F

医用工学概論  Medical Engineering (ME)   3年前期の医用工学概論実習と 合わせ、 医療の現場で使用されている 医用機器を正しく安全に使用するために必要な医用工学(ME)の 基礎知識を習得する。

プリント

< 図形と方程式 > 点間の距離 A x, y, B x, y のとき x y x y : に分ける点 æ ç è A x, y, B x, y のとき 線分 AB を : に分ける点は x x y y, ö ø 注 < のとき外分点 三角形の重心 点 A x, y, B x, y, C x, を頂

Taro-解答例NO3放物運動H16


2015年度 金沢大・理系数学

2017年度 長崎大・医系数学

Chap2.key

Microsoft PowerPoint - 10.pptx

スライド 1

問題-1.indd

情報システム設計論II ユーザインタフェース(1)

レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb

Computer Graphics

C 言語第 7 回 掛け算 (multiply number) ìz1 = x1 + iy1 í îz = x + iy 割り算 (devide number) ( )( ) ( ) Þ z z = x + iy x + iy = x x - y y + i y x + x y

スライド 1

2011年度 東京工大・数学

122 丸山眞男文庫所蔵未発表資料.indd

Microsoft Word - 201hyouka-tangen-1.doc

相関係数と偏差ベクトル

Transcription:

Grahics with Processig 7-6 座標変換と同次座標 htt://vilab.org 塩澤秀和

6-7 H. SHIOZAWA htt://vilab.org 6. * 座標系 座標系の変換 座標系 目盛りのつけかた 原点の位置 軸と 軸の方向 軸と 軸の目盛りの刻み 論理座標系 描画命令で使う目盛り ( 座標系 ) をつけかえることができる 論理座標系 描画命令で使う 座標 画面座標系 ウィンドウでのピクセル位置 座標系の変換 論理座標で描画命令を実行 画面座標でピクセルを設定 対応位置を数学的に計算する 画面座標系 ( wi, wi ) 論理座標系 (, ) OO wi wi 初期状態 ( 画面座標系 論理座標系 ) O wi wi O wi 描画用の原点をずらした例 wi

6-7 H. SHIOZAWA htt://vilab.org 6. * 座標変換 (.) 座標変換と幾何変換 座標変換 座標変換の合成 æ ç è いくつもの座標変換の 合成 で論理座標 画面座標を計算 幾何変換 ( 幾何学的変換 ) ö ø æ ç è 平行移動 拡大 縮小 回転 ö ø f æ ' ö ¾¾ ç è ' ø æ ' ö æ ç! ç è ' ø è wi wi ö ø 幾何変換関数 traslate(, ) 座標系を平行移動 ( 原点を移動 ) 軸方向に 移動 軸方向に 移動 Processigでは 軸は下向き scale(α, β) 座標系を拡大または縮小 軸方向 ( 左右 ) に α 倍 軸方向 ( 上下 ) に β 倍原点が中心に全体が拡大 rotate(θ) 座標系を回転原点中心に θ ラジアン回転 Processigで + 方向は時計回り 3

6-7 H. SHIOZAWA htt://vilab.org 6.3 * 幾何変換の効果 画面座標系 ( wi, wi ) OO wi wi O wi O wi 論理座標系 (, ) 平行移動 wi 拡大 縮小 wi OO wi wi OO wi wi 回転 wi wi

6-7 H. SHIOZAWA htt://vilab.org 6. * 幾何変換の数学表現 数式による表現 平行移動 ' ' + + 拡大 縮小 ' a ' b siq + cosq ベクトルと行列による表現 次変換 拡大 縮小と回転が表現可能 各自, 対応する行列を求めよ アフィン変換 すべての幾何変換を表現可能 回転 ' cosq - siq + ' 例 ) 原点を画面の (, ) に移動し, 座標 (5, 7) に点を打つと, 画面では (5, 7) に表示 例 ) 目盛りを横 倍, 縦 3 倍に拡大して, 座標 (5, 3) に点を打つと, 画面では (, 9) に表示 導出方法は 6. 参照 ' a ' c ' ' Û a c b d b d ì ' a + b + e í î' c + b + f なぜ平行移動は表現できないか? e f 定数項を付加 5

6-7 H. SHIOZAWA htt://vilab.org 6 6.5 * 同次座標表現 (.9) 同次座標表現 座標計算をしやすい形式 同次座標表現による変換行列同次座標表現による幾何変換 平行移動 拡大 縮小 回転 ' ' ' ' b a - cos si si cos ' ' q q q q ' ' f d c e b a 行列 つの掛け算で幾何変換を表せる ), ( ),, ( 次元直交座標 次元同次座標同じ座標

6-7 H. SHIOZAWA htt://vilab.org 6.6 * 幾何変換の合成 (.) O traslate O rotate void draw() { backgroud(); traslate(5, ); rotate(pi/); scale(.5,.5); // この後ハート描画 scale 7

6-7 H. SHIOZAWA htt://vilab.org 8 6.7 * 合成変換行列 (.8) 合成変換の数学表現 変換が 回 行列の積が 回 右上の例の合成変換を表す行列 - - 5.5.5 ) / cos( ) / si( ) / si( ) / cos( 5 wi wi wi wi wi P P!! 3 3 - \ 5 void draw() { backgroud(); traslate(5, ); // 変換 rotate(pi/); // 変換 scale(.5,.5); // 変換 3 // 図形描画

6-7 H. SHIOZAWA htt://vilab.org 6.8 変換行列の操作 (.5) 行列スタックの操作 システム変換行列 現在の座標系を示す行列 システム変換行列は幾何変換 (traslate, rotate, scale) の処理のたびに合成されていく ushatri() O ushatri で保存しておく ushatri() rotate(pi/) scale(.5,.5) // ハート描画 システム変換行列 ( 現在の座標系 ) を一時待避する oatri() 最近保存した変換行列を戻す oatri でもとに戻せる ushatri() と必ず対にする resetatri() O 変換行列をリセットする画面座標系 論理座標系の初期状態に戻す oatri() 9

6-7 H. SHIOZAWA htt://vilab.org 6.9 幾何変換と行列操作の例 // 描画の原点を移動する例 float bai.; void setu() { size(, ); rectode(center); framerate(3); void draw() { backgroud(55); traslate(, ); scale(bai); strokeweight(); fill(8, 8, 55); rect(,, 5, 5); bai +.; if (bai > 8.) bai.; // 行列の ush と o の例 void setu() { size(6, ); rectode(center); oloo(); void draw() { backgroud(#88e); ushatri(); traslate(, ); fill(#ffdd); rect(,, 5, 5); oatri(); ushatri(); traslate(, ); rotate(radias(5)); fill(#ffff); rect(,, 5, 5); oatri();

6-7 H. SHIOZAWA htt://vilab.org 6. * 演習課題 課題 6. はスマイリー ( にこちゃん ) を つ描画するプログラムである 問 ) 中心と外側の顔の描画位置を決めている合成変換行列 ( 中心と 外側 ) の両方を求めなさい 中心は右のヒント参照式は6.5を参考に簡単化せよ 次回,A レポート用紙で提出 問 ) このプログラムに幾何変換の関数を つ加えて, 外側の顔の大きさを半分にして, 顔の向きは回転しないようにしなさい ただし, 顔を描画する関数は, 変更したり追加したりしないこと プログラムと画面イメージを提出 問 の 中心のヒント 中心は次のつの変換の合成 traslate(, ) rotate(-a) それぞれの行列表現は cos( -a) - si( -a) si( -a) cos( -a) 中心はこの つの合成なので cos( -a) si( -a) - si( -a) cos( -a)

6-7 H. SHIOZAWA htt://vilab.org 6. 演習課題 ( 続き ) void setu() { size(, ); framerate(3); void draw_smile() { elliseode(center); strokeweight(3); stroke(); fill(#ffff); ellise(,,, ); ostroke(); fill(); ellise(-5, -5,, ); ellise( 5, -5,, ); stroke(#ff); ofill(); bezier(-5,, -, 35,, 35, 5, ); void draw() { float a radias(framecout); backgroud(55); traslate(, ); // 原点移動 // ushatri(); rotate(-a); draw_smile(); のところ oatri(); の座標系は // 同じになる ushatri(); rotate(-a); traslate(3, ); // ここにつ幾何変換を追加する draw_smile(); oatri(); //

6-7 H. SHIOZAWA htt://vilab.org 6. 参考 : せん断と鏡映 (.6) せん ( 剪 ) 断 / スキュー / シアー 斜めにゆがめる変換 座標系を平行四辺形にゆがめる 変換後も平行関係は保たれる shearx( 角度 ) 軸方向のせん断 軸より上は左に, 軸より下は右にずれていくように歪める 軸を指定の角度だけ傾ける ' + a ' (a taθ) sheary( 角度 ) 鏡映 ( 反転 ) 軸方向のせん断 ' ' b + 負の拡大縮小変換 軸または 軸を基準に反転 例 ) scale(-, ) 図の例の変換式 ' ( ) ' (b taθ) 3

6-7 H. SHIOZAWA htt://vilab.org 6.3 参考 : 回転行列の導出 初期位置, θ 回転後 %, % ì r cosf ì' r cos( f + q ) í í î r sif î ' r si( f + q ) %, % r r, θ r siφ φ O r cosφ 展開計算 ( 加法定理 ) ' r ' r ( cosf cosq - sif siq ) r cosf cosq - r sif siq cosq - ( sif cosq + cosf siq ) cosq + siq + siq r sif cosq + 行列形式 siq cosq r cosf siq ' cosq - siq ' siq cosq

6-7 H. SHIOZAWA htt://vilab.org 6. 参考 : 図形移動での考え方 (.9) 座標変換の別の解釈 座標系の移動ではなく, 同じ画面座標系上での図形の移動として考えることもできる その場合, 描画からさかのぼって, 図形に命令の逆順で変換を作用させる 数学的に等価 結果はどちらも同じ O %%, %% rotate %, % scale traslate, 右図の例 traslate(5, ); rotate(pi/); scale(.5,.5); oit(, ); 下から順に作用させる %%%, %%% 描画位置 5

6-7 H. SHIOZAWA htt://vilab.org 6.5 参考 : 三角関数の関係式 cos θ + π si θ + π si θ cos θ cos π θ si π θ si θ cos θ cos π θ cos θ si π θ si θ cos θ ± π cos θ si θ ± π si θ θ θ cos θ si θ cos θ cos θ si θ si θ cos 3π θ cos π θ si θ si 3π θ si π θ cos θ cos θ π si θ π si θ cos θ 6

6-7 H. SHIOZAWA htt://vilab.org 6.6 参考 : 行列計算の確認 a b e c d f a + b + e c + d + f i 行目 a @ b @ e @ c @ d @ f @ j 行目 a A b A e A c A d A f A 左の行列の i 行目と右の行列の j 列目の内積 積の行列の i 行 j 列 i 行 j 列 a @a A + b @ c A a @ b A + b @ d A a @ e A + b @ f A + e @ c @ a A + d @ c A c @ b A + d @ d A c @ e A + d @ f A + f @ 7