「節点間を3次ベジエ曲線でスムーズに結んだ曲線を描く Beziersmooth」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
節点間を3次ベジエ曲線でスムーズに結んだ曲線を描く Beziersmooth 2016.03.27 beziersmooth.cdy
Beziersmooth(名前,節点リスト,[オプション] )
節点間を3次ベジエ曲線でスムーズに結んだ曲線を描く.
//&ref(beziersmooth.png,,title=,width=400,)
&ref(beziersmooth.zip)
Addax(0);
// 座標軸は消しておいた.
Beziersmooth("1",[A,B,C,D]);
// 3次ベジエ曲線を描く.A,B,C,Dが節点.
// 制御点は,節点をはさむ制御点が1直線上になるように自動的に配置される.
// 節点をはさむ制御点の一方は半自由点で,直線上しか動けない.
// その後,節点や制御点を動かして,描きたいものにする.
Pointdata("1",[A,B,C,D],["Size=5"]);
Pointdata("2",[C1p,C1q,C2p,C2q,C3p,C3q],["Size=3"]);
// 説明のため,大きめの点を描く.
Lineplot("1",[C1q,C2p],["dr,0.5"]);
Lineplot("2",[C2q,C3p],["dr,0.5"]);
// 説明のため,節点をはさむ制御点を結ぶ直線を描く.
Letter([A,"s1","A",B,"s1","B"]);
Letter([C,"s1","C",D,"s1","D"]);
Letter([C1p,"n1","C1p",C1q,"n1","C1q"]);
Letter([C2p,"n1","C2p",C2q,"n1","C2q"]);
Letter([C3p,"n1","C3p",C3q,"n1","C3q"]);
// 説明のため,点の名前を書く.
節点間を3次ベジエ曲線でスムーズに結んだ曲線を描く Beziersmooth 2016.03.27 beziersmooth.cdy
Beziersmooth(名前,節点リスト,[オプション] )
節点間を3次ベジエ曲線でスムーズに結んだ曲線を描く.
&ref(beziersmooth.png,,title=,width=400,)
&ref(beziersmooth.zip)
Addax(0);
// 座標軸は消しておいた.
Beziersmooth("1",[A,B,C,D]);
// 3次ベジエ曲線を描く.A,B,C,Dが節点.
// 制御点は,節点をはさむ制御点が1直線上になるように自動的に配置される.
// 節点をはさむ制御点の一方は半自由点で,直線上しか動けない.
// その後,節点や制御点を動かして,描きたいものにする.
Pointdata("1",[A,B,C,D],["Size=5"]);
Pointdata("2",[C1p,C1q,C2p,C2q,C3p,C3q],["Size=3"]);
// 説明のため,大きめの点を描く.
Lineplot("1",[C1q,C2p],["dr,0.5"]);
Lineplot("2",[C2q,C3p],["dr,0.5"]);
// 説明のため,節点をはさむ制御点を結ぶ直線を描く.
Letter([A,"s1","A",B,"s1","B"]);
Letter([C,"s1","C",D,"s1","D"]);
Letter([C1p,"n1","C1p",C1q,"n1","C1q"]);
Letter([C2p,"n1","C2p",C2q,"n1","C2q"]);
Letter([C3p,"n1","C3p",C3q,"n1","C3q"]);
// 説明のため,点の名前を書く.