jw_cad 外部変形 - (2) 図形 -

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

 

今回は 図形データについて考えます。

 

外部変形で扱う主な図形です。

 

上記のほかに

  ◎ブロックデータ
  ◎連続線データ(読み込み)
  ◎曲線属性化したソリッド図形データ(読み込み)
  ◎相対座標による線データ(読み込み)
  ◎極座標による線データ(読み込み)

を扱うことができます。

 

図形データで
  ◎座標データ
  ◎線データ
  ◎円データ
  ◎弧・楕円データ
  ◎文字列
は 指示データと呼びます。指示データには指示点の座標があります。指示データは基本図形です。

 

指示データは 線の伸縮や線と円の接線を描くときなどに使います。

 

本稿は ruby で書かれた作図用ライブラリ jw.rb のコマンドで説明していきます。jw.rb は 現在、公開を停止していますが ユニコードやキーワード引数に対応している最中です。 

 

jw.rb なら 基本図形を

  ◎座標データ

     hp x, y

  ◎線データ

      ln x1, y1, x2, y2

  ◎円データ

      ci x, y, r

  ◎弧・楕円データ

      ci x, y, r, 30, 270, 1, 0

      ci x, y, r, 0, 360, 0.5, 30

  ◎文字列

      ch x, y, 1, 0, "ようこそ"

と書きます。

 

図面をプログラムの側面から見直すと「どう書くのか」ということに尽きます。線を引くなら

     線を引く

で構わないのですが どこから、どこまで と質問されることになります。

     ここから、そこまで

とすれば 線が引けると思います。慣れてくれば

   ここから、そこまで 線を引く

とするし、作業を "L" で登録しておいて

   L   ここから、そこまで

となるのかもしれません。

ここから、そこまで は具体的な位置を指示する必要があり、最終的には数値化するのが便利なので

   L   x1 y1 x2 y2

が 線を引く ことだと 多くのひとにうなづいてもらえると思っています。

 

これを そのまま使える プログラム言語は tcl/tk なのですが 総合的に考えて ruby が「うん」といってもらえそうだと判断しました。

 

円を描く、文字を書く、点を打つ・・・など「どう書くのか」が本稿のテーマです。

 

 

次回は 座標データ を考えます。