外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
suisens(1.ci, 2.hp) は円から点までの法線を返します。
1.ci は 円データ
2.hp は 点の位置
使用例
:jw.rbで楕円の外側の点から法線を引く(suisens)
@echo off
ruby -x %0
goto:eof
REM #jww
REM #1ci 円・円弧を指示して下さい
REM #2 位置を指示してください
REM #e
#!ruby -Ks -rjw
jww
plot ci 2.hp, 20
plot msg suisens(1.ci, 2.hp)
plot "h#%.1f" % ci_hpdist(1.ci, 2.hp)
__END__
楕円の外側の点から楕円に引く法線は2つあります。
なお suisens(1.ci, 2.hp) は楕円の外側の点でも内側の点でも同様に使えます。
楕円の法線方向の吸着点は ci_hpsnap(1.ci, 2.hp, pm = 3) で得られます。
ci_hpsnap(ci, hp, pm) は円データの指示点の吸着点を返します。
ci は 円データ
hp は 指示点の位置
pm は モード
0 : 吸着点 => デフォルト値
pt = inters(ln(ci.c, hp), ci).near(hp)
1 : 吸着点とその位置の離心角( ゚ )
d = ciclope(ci, pt, 2).deg
2 : 吸着点の位置の離心角( ゚ )
3 : 法線の吸着点
suisens(1.ci, 2.hp) は ln 2.hp, ci_hpsnap(1.ci, 2.hp, pm = 3) と書いても同じ結果となります。