座標系と図面データベース

独自の座標変換おける複雑さ

座標変換について AutoCAD の座標系の範囲内では trans 関数を用いることによって多くは事足ります。実践においては幾つかの手順を使い分けるだけで済むかもしれません。しかしその意味することを理解し、適切に座標変換を行い図面データベースに反映して図形を扱えるようになるには面倒な話をしなければなりません。そして、それは人によっては複雑なもの難しいものであると感じるかもしれません。

  1. 座標系、座標変換を自前で扱うには、変換マトリックスという 4 × 4 の行列を用います。つまり、線形代数の行列の知識が必要です。この稿ではその計算をする関数を使って進めていきますので、その計算の詳細までには触れません。しかし、自分で理解して一からプログラムを書く、または自在に応用するならば押さえておかなければならない前提知識です。もしこのあたりの知識が怪しい場合は、大学生や社会人のための復習用や独学用の教科書が書店の数学の棚にありますので、その一番やさしいもので十分だと思いますので行列と行列式について学んでください。教科書を読むのに疲れたら、YouTube などの動画サイトに線形代数の講義の動画があるので、それを見てもいいでしょう。
  2. 座標変換には三次元座標を複数一度に頭でイメージする必要がありますが、慣れないとそれらを同時に思い描くことは難しいものです。いとも簡単に混乱します。紙に描いてみるのも頭を整理するには良いことですが、三次元のため二次元の紙に表すには限界があります。この位置関係を正しくイメージできていないと、行列の計算には計算の順というものが大事ですので、その順番を間違えて思い通りの結果にならないことが容易に起こります。
  3. 正しく行列を用いて座標変換を行えたとしても、その結果を AutoCAD の図面データベースに反映させるためには、AutoCAD の独特の仕組みに合わせた数値に直してセットしなければなりません。上記二つは三次元の図形を扱うならば避けて通れないものでありますが、三番目は AutoCAD 特有で、理解していないと奇妙なものに見えます。

なお、DXF グループコードを用いて図面データベースを触る場合と ActiveX を用いている場合で、例えば基準点は OCS であったり WCS であったりといったように、その時の方法によってセットする座標系そのものが異なるケースもあります。

difference of coodinate