• ベストアンサー

図面の拡大、縮小

UNIXのGTK+でちょっとしたCADを作っています。 その際、図面に書いたデータを始点、終点をデータとして格納して保存するようにしたいと思います。 このプログラムで、その図面を拡大縮小したいとき、その格納したデータを画面上の座標(つまりデータとしての絶対的な座標を画面に表示するための相対的な座標に変換する)に変換する方法が思い浮かばなくて困っています。 何かいいアイデアは無いでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • paspas
  • ベストアンサー率52% (47/90)
回答No.1

私はunixはよく知らないので、一般的なことでアドバイスさせていただきます。 まず、記録する座標値は絶対座標を記録する様にします。 画面に表示する際、縮尺(スケーリング)および画面の基準点の座標を決定し、表示する範囲を決めます。  座標の入力をどのようにされるのかはよくわかりませんが、画面と図面の基準値(絶対的なオフセット)とスケールが決まれば座標値を決定することは可能だと思います。

その他の回答 (1)

  • nagare
  • ベストアンサー率33% (280/831)
回答No.2

座標だけのデータであれば、 拡縮率を求めて、物理座標に掛けて、論理座標を求めます 表示するのは、論理座標です ただし、円と角度・長さ指定の多角形場合、一旦座標を求めてから拡縮して、長さを求めればいいです