MM検定&CG検定 2004年2号
MM_______________________
挨 拶
________________________CG
年度も変わり、新しい生活をはじめた人もいるかと思います。
季節の変わり目でもありますので、体調にはお気をつけください。
MM_______________________
検定「問題」を解こう
________________________CG
今回は、かなり以前に発行した内容を再送信しております。
問題は、CG−ARTS協会のサイト(http://www.cgarts.or.jp/)等で入
手して下さい。(要AcrobatReader)
MM_______________________
「2級問題 第1問」
________________________CG
この問題はベジエ曲線に関する問題です。
《2000年度後期 2級問題 第1問》
以下の文章は,パラメトリック曲線の描画について述べたものである.「 」
にもっとも適するものを解答群から選び,記号で答えよ.
/P3
P2/
\
\P1
/
P0/
図は4個の制御点P0,P1,P2,P3で表されるベジエ曲線を折れ線として描画し
たものである.この折れ線を描くためのアルゴリズムの概要は以下のように表
される.
1.n個の折れ線を引く為のパラメータ増分値?tを求める
2.パラメータtを0に設定する
3.ベジエ曲線の座標値PSを求める
4.カウンターが1からnになるまで以下の処理を繰り返す
4−1.パラメータtを「a」だけ増加させる
4−2.増加させたパラメータに対する座標値PEを求める
4−3.PSからPEまでの「b」を引く
4−4.PSの「c」をPEの「c」に置き換える
このベジエ曲線上の座標値は,この4個の制御点P0,P1,P2,P3とパラメー
タtを用いる重み関数を用いて以下のように表される.
P(t) = P0 (1-t)^3 + P1 3t(1-t)^2 + P2 3t^2(1-t) + P3 t^3
= (1-t) ( (1-t)((1-t)P0 + tP1) + t((1-t)P1 + tP2) )
+ t ( (1-t)((1-t)P1 + tP2) + t((1-t)P2 + tP3) )
これより,ベジエ曲線はパラメータtを用いて,隣り合う制御点の内分点を
求め,内分点間の内分点を求めることで,曲線状の点が求まることがわかる.
t=0.2に対する曲線上の点を求めた図は「d」であり,t=0.8の点を求めた図は
「e」となる.
【a〜cの解答群】
ア.t イ.座標値 ウ.曲線 エ.?t
オ.線分 カ.パラメータ
【d,eの解答群】
ア. イ.
/P3 /P3
P2/ P2/
\ \
\P1 ・\P1
・/ /
P0/ P0/
ウ. エ.
/P3 /P3
P2/ P2/・
\・ \
\P1 \P1
/ /
P0/ P0/
注:問題文及び解答群の図は、私なりに勝手に文字で描き直したものですので、
実際の図では、かなり違って見えます。必ず、問題を入手し図を確認してく
ださい。
また、P(t)を表す式において、べき乗を「^」で表している。 t^3 はtの3
乗を意味している。
======================================================================
《考え方 と 回答》
まず、問題文と数式をきちんと読みましょう。
この問題では、アルゴリズムと、数式をきちんと理解できるるかどうかが、
答えにたどり着けるかどうかに大きく関わります。
問題文と数式を、図の説明として、書き直してみましょう。
/P3
P2/
\
\P1
/
P0/
図は4個の制御点P0,P1,P2,P3で表されるベジエ曲線を折れ線として描画し
たものである.この折れ線を描くためのアルゴリズムの概要は以下のように表
される.
P(t) = P0 (1-t)^3 + P1 3t(1-t)^2 + P2 3t^2(1-t) + P3 t^3
= (1-t) ( (1-t)((1-t)P0 + tP1) + t((1-t)P1 + tP2) )
+ t ( (1-t)((1-t)P1 + tP2) + t((1-t)P2 + tP3) )
この問題では、数式から逃げるのではなく、数式を積極的に理解し、数式で
表されている内容と、文章で説明されている内容をきちんと把握しましょう。
この点が理解できれば、分かりやすい問題です。
線分ABを、m:nに内分する点の座標Cは以下の式で表す事を思い出せば、
この問題は解けたも同然です。
A m C n B
−−−−−−+−−−−−−
\ | /
\ | /
\ | /
\ | /
\ | /
\/
n×A + m×B
C=−−−−−−−−−−−−
m+n
参考
http://mis.edu.yamaguchi-u.ac.jp/~asao/koukou/bunten02.htm
上の式において、m=t、n=1−tとしてみるとどうなるでしょうか。
n×A + m×B
C=−−−−−−−−−−−−
m+n
(1−t)×A + t×B
=−−−−−−−−−−−−−−−
t+(1−t)
= (1−t)×A + t×B
分母が1になるため、tと(1−t)に内分する点が、簡単に表されました。
ベジエ曲線上の座標値を表すP(t)も、t:(1−t)に内分する式になって
いることを当てはめていくと、以下のように簡単に表すことができます。
(1-t)P0 + tP1 は、P0とP1をt:(1−t)に内分する点を表し、この点を
Q1とします。
同様に、P1とP2、P2とP3をt:(1−t)に内分する点を表し、これらの点を
それぞれQ2、Q3とします。
Q1、Q2、Q3を使って、P(t)を書き換えると以下のようになります。
P(t) = (1-t) ( (1-t)((1-t)P0 + tP1) + t((1-t)P1 + tP2) )
+ t ( (1-t)((1-t)P1 + tP2) + t((1-t)P2 + tP3) )
= (1-t) ( (1-t) Q1 + t Q2 )
+ t ( (1-t) Q2 + t Q3 )
さらに、Q1とQ2、Q2とQ3をt:(1−t)に内分する点を、それぞれR2、
R3とすると、P(t)は以下のように簡単に表せます。
P(t) = (1-t) ( R2 ) + t ( R3 )
ベジエ曲線上の座標値を表すP(t)も、見た目はとても長い式に見えますが、
うまく分解すると、とても単純な式になっていることに気づきます。つまり、
2点を結ぶ線分をt:(1−t)に内分する式を組み合わせただけです。
説明を文章で書いていますが、この部分は、実際の図に書き込むと、もっと
よく理解できると思います。
これくらい数式を理解をしてから、アルゴリズムを理解していきましょう。
1.n個の折れ線を引く為のパラメータ増分値?tを求める
図では、P0からP3までを10個の折れ線で表しているので、n=10です。
折れ線1個当たりのパラメータの増分値?tは、全体を10分割した値ですから、
この問題では(t:0≦t≦1)であるため、?t=1/10=0.1となり
ます。
ここで、なぜ、(t:0≦t≦1)と考えたかです。次の2.に初期値を0
にするとあること。また、数式では、tと(1−t)により内分点を求めてい
ます。内分点を計算するには、tと(1−t)が共に0または正の数の必要が
あるため、これらの条件を満たすtの値は0≦t≦1となります。
2.パラメータtを0に設定する
パラメータtの初期値を0とします。
3.ベジエ曲線の座標値PSを求める
パラメータt=0における、ベジエ曲線の座標値PSを求めます。
ベジエ曲線の座標値とは、問題の図で太いオレンジ色の線分の端点として表
されている緑色の点の座標値のことです。
図を見て、感覚的に PS=P0 と思っても差し支えないですが、厳密にはP(t)の
式に t=0を代入して計算するべきです。
P(t) = P0 (1-t)^3 + P1 3t(1-t)^2 + P2 3t^2(1-t) + P3 t^3
= P0 (1-0)^3 + P1 3x0(1-0)^2 + P2 3x0^2(1-0) + P3 0^3
= P0
計算によっても PS=P0 であることが確認できました。
4.カウンターが1からnになるまで以下の処理を繰り返す
4−1.パラメータtを「a」だけ増加させる
n回(この問題では10)の計算によりパラメータtが0から1まで増加す
るようにするためには、1.で計算したように、1回当たり0.1増加する必
要があります。
値としては0.1ですが、一般的な式として表すと?tです。
4−2.増加させたパラメータに対する座標値PEを求める
パラメータを0.1(?t)増加させたとき、元の座標値(PS)より、少し
だけP3に近づいた点の座標値(PE)がP(t)により計算できます。
線分ABを比率t:(1−t)において内分する場合、tの値が増えるほど、
点Bに近づくことと同じ理由です。
4−3.PSからPEまでの「b」を引く
次の4−4.で、この回の計算に使用したPSの「c」を置き換え、値を保存
しなくなります。そのため、この段階におけるPSの「c」を保存する方法を考
えます。PSとPEの2点で表すことが可能なものはいくつかありますが、この場
合は、単純に2点を結ぶ線分が分かりやすいでしょう。
4−4.PSの「c」をPEの「c」に置き換える
次の線分を計算するために必要な値を考えると、座標値が必要です。
4−2.でも「座標値PEを求める」とあるので、ここでは、PSの座標値をPEの
座標値に置き換える操作が適切です。
最後に、【d,eの解答群】で示されている図が、何を表しているのか考え
てみましょう。
P(t)が「隣り合う制御点の内分点を求め,内分点間の内分点を求める」こと
は問題文の説明に書いています。また、内分点を求める比率がt:(1−t)
であることから、パラメータtの値が増加すれば、内分点は後ろの方の点に近
づいていきます。
このことを頭において、解答群の図を見てみましょう。
特に、最初の内分点(P0とP1を内分する点、上でQ1と名称をつけた点)を見
ると、ア.、イ.、ウ.、エ.の順に、P0から離れ、P1に近づいています。
同様にP2とP3を内分する点をみても、ア.、イ.、ウ.、エ.の順に、P2から
離れ、P3に近づいています。内分する比率を大まかに見てみると、ほぼ同じ間
隔で増加していることから、0.2、0.4、0.6、0.8であるように読み取れます。
この比率は、内分比のことですから、パラメータtの値のことです。
従って、d、eに該当する答えは、ア.、エ.となります。
数式が出てくる問題では、数式そのものがヒントになるので、式の意味を理
解してから問題を解きましょう。
======================================================================
「こんな内容で発行して欲しい」という希望や問題に対する質問や
があったら、メール下さい。
メールアドレス : cgmm@mail.goo.ne.jp
======================================================================
MMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmmMMmm
[あとがき]バックナンバーは以下のサイトで見ることができます。
http://backno.mag2.com/reader/Back?id=0000008184
・文字、図がずれるようだったら、等幅フォントでご覧下さい
・メールアドレスが変わりましたら、再登録をお願いします
このメールマガジンの解除はhttp://www.kaijo.com/
にてできます。登録番号は0000008184です。
発行者:なりぶー
Copyright(C), 2004 mm&cg 許可無く転載することを禁じます。
CGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcgCGcg
======================================================================
このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して
発行しています。( http://www.mag2.com/ )
======================================================================
姉妹マガジンのご案内 (とても勉強になります。)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+++MM・IT問題集メールマガジン+++
http://www.mag2.com/ ID:21861
http://www.melma.com/ ID:m00028108
http://www.professional.to/~mm_it/
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
↓の部分は、発行に利用させていただいているまぐまぐ様がつけております。


![転職なら[en]社会人の転職情報!転職成功者続出 転職なら[en]社会人の転職情報!転職成功者続出](http://kamogawa.mag2.com/bn/recommend/sya.gif)
![派遣のお仕事探しなら[en]派遣のお仕事情報 派遣のお仕事探しなら[en]派遣のお仕事情報](http://kamogawa.mag2.com/bn/recommend/haken.gif)
![アルバイト探しは[en]本気のアルバイト アルバイト探しは[en]本気のアルバイト](http://kamogawa.mag2.com/bn/recommend/baito.gif)
![就職サイトは[en]学生の就職情報 就職サイトは[en]学生の就職情報](http://kamogawa.mag2.com/bn/recommend/gakusei.gif)
![転職なら[en]転職コンサルタントキャリアを活かした転職に! 転職なら[en]転職コンサルタントキャリアを活かした転職に!](http://kamogawa.mag2.com/bn/recommend/consul.gif)