jw_cad 外部変形 - (543) なでしこで矩形に内接する楕円を描く(ov) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

なでしこで矩形に内接する楕円を描く

/* なでしこで矩形に内接する楕円を描く(ov)
@cls & echo off
path C:\nadesiko_1_589;%path%
copy jwc_temp.txt myfiles > nul
cnako %0 > jwc_temp.txt
goto:eof

REM #jww
REM #1-%d 矩形の始点を指示してください
REM #2%d 対頂点を指示してください
REM #e
*/

「myfiles」を毎行読んで反復
  もし(対象を「^hk\s+(\S+)」で正規表現マッチ)ならば
    hk = 抽出文字列[0]
    続ける
  もし(対象を「^hp(1)-?\s+(\S+) (\S+)」で正規表現マッチ)ならば
    x1 = 抽出文字列[1]
    y1 = 抽出文字列[2]
    続ける
  もし(対象を「^hp(2)-?\s+(\S+) (\S+)」で正規表現マッチ)ならば
    d = hkをラジアン変換
    x2 = 抽出文字列[1]
    y2 = 抽出文字列[2]
    co = COS(d)
    si = SIN(d)
    ww = (x2 - x1) * co + (y2 - y1) * si
    hh =-(x2 - x1) * si + (y2 - y1) * co
    x = (x1 + x2) / 2
    y = (y1 + y2) / 2
    r = SQRT(ww ^ 2) / 2
    w = SQRT((hh / ww) ^ 2)
    「ci {x} {y} {r} 0 360 {w} {hk}」を表示

 

 

なでしこは慣れるとわかりやすいです。