外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
今回は 円弧・楕円データについて考えます。
外部変形の円弧・楕円データは中心点と半径、始角、終角、扁平率、傾きで定義されます。
円弧データ
扁平率 1、傾き d の円弧は楕円弧と考えます。
円弧は弓形や扇形のイメージを持ちます。
ci.yimi で 弓形
ci.ougi で扇形
楕円弧データ
楕円弧も弓形や扇形のイメージを持ちます。
3点円弧
中心点と円周上点で x 軸上となる始点と終点で左回りに描く円弧です。
jw_cad は マウスの動きで 左回りと右回りを自動的に切り換えますがスクリプトで自動的に切り換えることは難しいため、左回りで固定しています。
左回りを右回りにするなら 始角 p1 と終角 p2 を入れ換えてください。
楕円データ
楕円データから直接、周長や面積が取得できます。
8 分割で折れ線に変換するなら
"1 2 3 0 360 0.5 30".ci.hp(8)
とします。
irb の処理結果です。
外部変形は 円と円弧、楕円弧、楕円を同じデータ
[x, y, r, p1, p2, w, d]
で表現できるので コマンドは ci ひとつでカバーすることが可能です。ただ 3点円や3点円弧など特殊な引数に対応するとなると 円弧や楕円 に特化した ac や ellipse を追加したほうが ci ひとつでやるよりも 扱いやすくなると考えています。
次回は 文字列 です。