jw_cad 外部変形 - (469) rubyで矩形を描く -

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

 

rubyで矩形を描く

:rubyで矩形を描く
@echo off
ruby -x %0 jwc_temp.txt
goto:eof

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

#!ruby -Ks -an -i.bak
BEGIN { include Math }
case $_
when /^hk/ then hk = $F[1].to_f
when /^hp1/ then p1 = $F[1, 2].map &:to_f
when /^hp2/ then p2 = $F[1, 2].map &:to_f
end
END {
  x1, y1, x2, y2 = (p1 + p2)
  co = cos(d = hk * PI / 180)
  si = sin(d)
  ww = (x2 - x1) * co + (y2 - y1) * si
  hh =-(x2 - x1) * si + (y2 - y1) * co
  p3 = x1 + ww * co, y1 + ww * si
  p4 = x1 - hh * si, y1 + hh * co
  print "%s %s\n" * 5 % (p1 + p3 + p2 + p4 + p1)
}
__END__