*[[Problem 363:http://projecteuler.net/problem=363]] 「ベジェ曲線」 [#c5dc5821]

三次ベジェ曲線は四点 P&tex{_{0}};, P&tex{_{1}};, P&tex{_{2}};, P&tex{_{3}}; により定義される.

曲線は以下のように作られる :~
線分 P&tex{_{0}};P&tex{_{1}};, P&tex{_{1}};P&tex{_{2}};, P&tex{_{2}};P&tex{_{3}}; 上の点 Q&tex{_{0}};, Q&tex{_{1}};, Q&tex{_{2}}; を, ([0,1]の範囲内の t に対し) P&tex{_{0}};Q&tex{_{0}};/P&tex{_{0}};P&tex{_{1}};=P&tex{_{1}};Q&tex{_{1}};/P&tex{_{1}};P&tex{_{2}};=P&tex{_{2}};Q&tex{_{2}};/P&tex{_{2}};P&tex{_{3}};=t となるように描く. ~
線分 Q&tex{_{0}};Q&tex{_{1}};, Q&tex{_{1}};Q&tex{_{2}}; 上の点 R&tex{_{0}};, R&tex{_{1}}; を, 同じ値 t を使って Q&tex{_{0}};R&tex{_{0}};/Q&tex{_{0}};Q&tex{_{1}};=Q&tex{_{1}};R&tex{_{1}};/Q&tex{_{1}};Q&tex{_{2}};=t となるように描く. ~
線分R&tex{_{0}};R&tex{_{1}}; 上の点 B を同じ値 t を使って R&tex{_{0}};B/R&tex{_{0}};R&tex{_{1}};=t となるように描く. ~
点 P&tex{_{0}};, P&tex{_{1}};, P&tex{_{2}};, P&tex{_{3}}; によるベジェ曲線は, 線分 P&tex{_{0}};P&tex{_{1}}; 上に取りうるすべての Q&tex{_{0}}; による, 点 B の軌跡と定義される. ( 全ての点に対し t の値は同じであることに注意. )

右のアプレットで ( ※ 訳注 : こちらには Java アプレットを埋め込められないため, [[公式にてご確認ください:http://projecteuler.net/problem=363]] ) 点 P&tex{_{0}};, P&tex{_{1}};, P&tex{_{2}};, P&tex{_{3}}; をドラッグし, ベジェ曲線 (緑の曲線) がこれらの点によりどのように定義されるかを見ることができる. 線分 P&tex{_{0}};P&tex{_{1}}; の間にある点 Q&tex{_{0}};も同様にドラッグできる.

こうして作られたベジェ曲線は, P&tex{_{0}}; における線分 P&tex{_{0}};P&tex{_{1}}; と, P&tex{_{3}}; における線分 P&tex{_{2}};P&tex{_{3}}; とを接線に持つことがわかるだろう.

P&tex{_{0}};=(1,0), P&tex{_{1}};=(1,&tex{v};), P&tex{_{2}};=(&tex{v};,1), P&tex{_{3}};=(0,1) の三次ベジェ曲線は四分の一の円弧に近くなる. ~
ここで0より大きい値 &tex{v}; は線 OP&tex{_{0}};, OP&tex{_{3}};と曲線によって囲まれる面積が &tex{^{π}};/&tex{_{4}}; ( 四分の一の円の面積 ) と等しくなるように選ばれる.

四分の一の円弧の長さに対しこの曲線の長さとの違いは何パーセントになるだろうか?~
つまり, L を曲線の長さとしたときの 100*&tex{^{(L-π/2)}};/&tex{_{(π/2)}}; を計算せよ. ~
小数点以下11桁の位で四捨五入して答えよ.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS