もう一度(これでだめな時は更新してください。) : 新しいNと場所で描き直します。
自動的編x方向グラフy方向グラフ高次凸包
(凸包)
B−スプライン曲線x方向B−スプライン曲線y方向B−スプライン曲線高次凸包B−スプライン曲線
ベジエ曲線x方向ベジエ曲線y方向ベジエ曲線高次凸包ベジエ曲線
四色問題について考えていたら
描きたくなった図
四色バージョン2一色
(凸包の重ね合わせ)
二色
三色五色六色
Catmull-Romスプライン曲線
タイルのtessellation
(空間充填系)
三角形正三角形平行四辺形三角形その2平行四辺形その2
四角形四角形の変形型1の凸六角形-型2の凸六角形の変形
クリック編
(注:B−スプラインは
7つのアプレットが
登場するので重いです。)
x方向グラフy方向グラフ高次凸包
(凸包)
B−スプライン曲線
(1に戻らない編)
B−スプライン曲線
(1に戻る編)
x方向B−スプライン曲線y方向B−スプライン曲線高次凸包B−スプライン曲線
ベジエ曲線
(0に戻らない編)
ベジエ曲線
(0に戻る編)
x方向ベジエ曲線y方向ベジエ曲線高次凸包ベジエ曲線
Catmull-Rom Spline的曲線
スクリーンセーバー

ベジエ曲線(2000年12月15日公開、2001年1月16日第4回の改訂)

上はJAVAで作られています。メモリを大量に使ったり、重くなるかもしれません。その時は、ごめんなさい。
実行後に画面をスクロールしたり、アプレット全体が画面に入ってないと、間違った画面になるかもしれないので、気をつけてください。画面の大きさを決めてから”もう一度”をクリックするか、更新(reload)してください。


●ベジエ曲線
ベジエ曲線とは、点達を利用して、複雑な曲線を描く方法の1つです。
qが0の時には、0番の点からN番の点まで行くのに、なんとなく、1番、2番の点・・・の近くを通っているのがわかると思います。
qが1の時には、0番の点から0番の点まで行くのに、なんとなく、1番、2番の点・・・の近くを通っているのがわかると思います。
ベジエ曲線の描き方を簡単に説明するのは難しいです。ここでは、HTMLで読みにくいのは覚悟の上で、数式を使って、書いちゃいます。
まず、画面に点達p(0),...,p(N)があるとします。
0<=t<=1の範囲と、i=1,2,...,Nの範囲で定義される関数
B(i,t)=_NC_i ×t^i ×(1-t)^(n-i)
を用意します。ただし、_nC_iは、n人の中からi人を選ぶ組み合わせの数です。
書き換えると、
_nC_i=n!/(i!(n-i)!)
となります。ただし、!は階乗の記号で、uが整数の時、u!=1×2×・・・×uです。
さらにまた、^は乗をあらわします。a^bはaのb乗を表します。

ここで、あるtに対して、ベジエ曲線上の点P(t)は
P(t)=B(0,t)×p(0)+B(1,t)×p(1)+・・・+B(N,t)×p(N)
と表されます。
これが大体のかきかたです。でも、こんな説明じゃわかりにくいので、参考書を紹介します。

●参考文献:杉原厚吉著、共立出版、グラフィックスの数理
●Javaプログラムのダウンロード(bez.java 5KB)

ご意見、ご感想、お問い合わせ、お願い等がございましたら、お気軽に、
メール送信フォームからメールを送るか、
●掲示板に書き込むか、
どちらかお好きな方法で、ご連絡お願いいたします。


●大山崇のホームページの利用について
●大山崇のホームページ