• ベストアンサー

図面の拡大、縮小

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

noname#129397
noname#129397

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

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

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

その他の回答 (1)

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

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

関連するQ&A

  • pdfファイルにすると図面の精度が確保されない

    土地の図面等を作図してPDFに変換して印刷すると、基の図面よりも縮小されてしまいます。 私の経験では、一度印刷してからスキャナーで読み取りPDFにした場合約2% cadデーターを直接PDFにすると約1%縮小されてしまいます。 せっかくcadで精度の良い図面を作成してもpdfにしたら用を足しません。(100mで20cmも縮むのですから)そこでPDFファイル図面をスケール読みして、縮小率を算出してコピー機でその分拡大コピーでやっと精度を確保しています。    本件の質問です。 1.上記の(縮小される)原因は? 2.上記を防ぐ方法は? 3.そもそもPDF変換とはどういう構造なのでしょうか?   (例えば内部でスキャンして変換とか写真のようなものとか、BmpとかJPGとかのように圧縮する   とか) 宜しくご指導お願い致します。

  • VC++プログラムをつかったBMP画像の拡大縮小について

    現在VC++をつかった画像を扱うプログラミングを学習中なのですが、画像データの取り扱いについてわからないことがあるため教えていただきたいです。 BMP画像をバッファに取り込んだあとで、画像の縦横を拡大縮小したデータを新たなバッファに格納したいのですが、画像を拡大縮小する方法がわかりません。いくつかのプログラムのソースを見させていただいたのですが、BITMAPINFOHEADER構造体の中のbiWidthやbiHeightの値を変えているだけのようなのです。 これらの値を変えるだけで、指定した幅と高さに変換された画像データが得られるのでしょうか? また、それで拡大縮小されるならば、変換された画像データは輝度情報が滑らかになるように何かしらの補正が加えられていたりするのでしょうか?それとも、途中途中の輝度を単純に抜いていたりするだけなのでしょうか。 その辺の原理についても教えていただけるとうれしいです。 お手数をかけますが、よろしくお願いします。

  • ソリッドワークスのフィーチャーの拡大縮小

    お世話になっております。 ソリッドワークスでいったん作ったフィーチャーは自由に拡大縮小ができるのでしょうか?CADで1/1で描いたものをインポートしたのですが、インポート後の寸法がでたらめになってました。どのように変換すればよいのでしょうか。 よろしくお願いします。

  • CATIA スクロールボタンで拡大縮小

    現在CAIA P3 V5R16を使用していますが図面表示の拡大縮小を片手で出来ないかと考えております。 Ctrl+センターボタンでは分かっております。 使用中のマウスはロジクール MX1000 2D cadでは片手で出来るので同じ手法でと考えています。

  • ネットで共通の図面を見るソフトって有りませんか?

    遠隔地とネットでCAD図面をお互いに表示して、打ち合わせが出来るソフトって有りませんか? ほしい機能は、  図面を表示する。  その図面を自由に拡大、縮小する。  その図面を自由にスクロールする。  ポインターで指し示せる。 最低、以上の機能が有る物がほしいのですが。

  • 弧の長さから角度を取得するには。

    度々お聞きします<(_ _)> すいません、タイトル間違ってました。 座標を取得ではなく、角度です。 VB6にてCADデータを作成しております。 弧の長さから角度を取得したいのですが、躓いてます。 弧 = (2 * 3.14 * R) * ((終点角度 - 始点角度) / 360) 弧 = 弧 - 指定距離 既存の弧の長さを取得し、そこから指定された長さを引いて、 目的とする長さ(再描画)を得られました。 しかし、ここから、さらに、終点角度を再計算する必要があります。 始点はそのままで終点の角度が変わるはずです。 この場合、終点を求めるにはどのようにすればよいでしょうか? アドバイスよろしくお願いします。

  • 角度を求めたいのですが。

    よろしくお願いします。 先日も角度についての質問をさせていただいたのですが、 実際にプログラムしてると問題が出てきましたので、もう一度お助け願います。 VB6にて、角度を求めたいのですが、具体的に言いますと、 CADの座標にて、中心点とその始点、終点が条件として与えられます。 そこから、始点終点の二点間の角度を求めたいのです。その後、 何度のとこが始点で、何度のとこが終点と求めたいのです。 良い方法ありましたら、ご教授願います。 よろしくお願い致します。

  • Jw-Cad図面の変換

    Jw-Cadで図面を作成し、印刷をして物差しで描写された物の寸法を確認すると、設定した縮尺にピッタリと一致します。 この図面をDWG・DXFやPDFに変換してから印刷して物差しで計測すると若干寸法が詰まって印刷されてしまいます。 これを正しい縮尺で印刷するにはどうすれば宜しいでしょうか?教えて戴きたいと思います。 図面の変換は、JacConvert と Pro TRANS の二つで双方とも同じく少し縮小されます。 PDFは直接ですとレイヤーが表示されませんので一旦DWGかDXFに変換しAdobe Acrobat 9でファイルからPDF作成を選んで作成したものです。 私は図面描写はJw-Cadでしか出来ませんが、図面を提出する際にDWGを指定されますので図が縮小されるのに困っています。 ご教授よろしくお願いいたします。

  • jw_cadで作った図面を.dxfファイルで保存→同僚のパソコンで見ることができないのはなぜでしょうか?

    こんにちは。質問です。 私の作った.jwwファイルが同僚のパソコンで見れません。 何が悪いのでしょうか? 私のパソコンにはjw_cad(バージョンは6.01)が入ってます。 同僚のパソコンには【AUTOcad】と【jw_cad】が入ってます。バージョンは未確認です。 私のパソコンのjw_cadで作った図面を「dxfファイルで保存」機能を使って .dxfにし、共有ファイルを使って、同僚のパソコンのAUTOcadで開こうとしたところ、 真っ黒の画面がでるだけで全く見ることができません。拡大、縮小しても見れません。 データ自体は100KB以上あるので、中身が無いということがないのでしょうが、不思議です。 その後試したことは、 1 USBフラッシュメモリを使ってデータの移動 →同じく、開いても見ることができない。 2 同僚のパソコンにjw_cadが入っていたので、.dxfファイルではなく.jwwのファイルのままデータを移動して同僚のパソコンで開いてみる →開いても見ることができない。 3 今回の図面だけでなく、今まで作った.jwwのファイル、変換した.dxfファイルを五個ぐらい同僚のパソコンに移動 →同じく、AUTOcadでもjw_cadでも開いて見ることができない。例外的に一つだけ.dxfファイルを見ることができた。 4 友人のパソコンに図面データを移動後、AUTOcadのモデルじゃなくてレイアウトのところをクリックする →移動したデータ10個のうち、2つだけ見ることができた。 先々月、.dxfファイルのデータを友人のパソコンに移動してAUTOcadで開いたときは問題なく開いて見ることができました。 先月、データを移動したら、一つだけモデルでは見れなくて、レイアウトで見れるということがありました。

  • イメージング(tif)の図面データを部分拡大して印刷したいのですが、うまくいきません。

    イメージング(tif)の図面データを部分拡大して印刷したいのですが、うまくいきません。AutoCAD LT2000をインスト-ルしてあるのですが、tifデータを変換して、AutoCADで操作、加工できると助かるのですが。アドバイスをお願いします.