• 締切済み

ポリラインのねじれ検査

任意の座標(小数有り)で構成されたポリラインが 途中でねじれているかを検出する方法を探しています。 取りあえず今は、ポリラインを構成している各線分の交点検査を 総当りで行っているのですが、 もっと効率の良い方法がありましたら、教えていただきたくお願いします。 また、上記のような座標処理系(CADの機能を独自で構成するような)の式やアルゴリズムを 記載しているHPや書籍等をご存知でしたら、こちらも教えていただきたくお願いします。

  • PVOID
  • お礼率80% (29/36)

みんなの回答

回答No.1

CADの機能をって何CADの事かわかりませんが。 Autoならここで探せばExcelに座標を書き出すプログラムとかありますが。

参考URL:
http://homepage2.nifty.com/kju/
PVOID
質問者

お礼

ご回答ありがとうございます。 CADソフトを使うプログラムではなく、 CADソフトを作る為のロジック・アルゴリズムに関する情報を求めているので、 大変申し訳ないのですが、ご回答にありましたHPでは、方向性が違っておりました。

関連するQ&A

  • AutoCADポリラインの点列データ抽出

    こんにちは。 AutoCAD LT2002 利用です。 図面上に既にポリラインで定義された線があるのですが,このポリラインを定義している構成点の位置座標(X,Y)を取り出す方法はないでしょうか? DXFファイルをテキストエディタで開いても,どうなっているのか理解できません。何らかの方法で一本の点列情報を一気に取り出すことはできないでしょうか? お願いします。

  • ポリラインの始点の指定

    今度、AUTO CAD LT97で金型図面を作成することになりました。 初心者ですのでよろしくお願いします。  ポリラインを使用して、形状を書こうとするとき、視点の位置をX,Yの 相対座標で指定しようとしているのですが、うまく行きません。  又、図面を書くとき、どのような書き方がスピードが速くなるのか思考錯誤しています。今、この2点で困っています。  よい方法があれば助言を頂きたいのですが、よろしくお願いします ちなみに金型はダイカスト金型です。

  • 数学orアルゴリズムが得意の方(線分と線分の交点判別)

    C言語のアルゴリズムを勉強中です。 線分A(A(x1,y1),B(x2,y2))と線分B(C(x3,y3),D(x4,x4))が交差するかどうかを判別し、交差するのであればその交点P(X,Y)を求める。 また、その交点がどちらか一方の線分上にあるかどうかも判別したいのです。 一番効率よくやるにはどのようにすればよいでしょうか。 例えば 1、三角形の符号付き面積を使って交差するかどうかと各点が線分上にあるかどうかを判別し、その後交点を求める 2、とり合えず交点を求めてその交点が各線分内(上)にあるかどうかを判別 他にもたくさんありそうですがとにかく出来るだけ計算回数を減らしたいのです。(さっき求めた~~を~~するといったかんじで) 出来れば流れ全体を書いていただきたいのですが書き込むのが大変だと思うのでせめて使う判別式だけでも教えてください。 これが出来たら、 多角形と多角形の交点判別のアルゴリズムにも挑戦しようと思っています。 数学の得意な方、アルゴリズムを考えるのが好きな方 よろしくお願いします。

  • エクセルデータをコマンドとしてCADに貼り付ける方法はありますか?

    業務でAUTOCAD2008を使用しています。 2次元作図でエクセルから座標と線種(線分、ポリライン等)を指定してCADのテキストウィンドウに貼り付けて作図しています。 「エクセルでコピー」→「CADに貼り付け」を相当な回数行っているのでこの操作を簡略化できないかと考えています。 エクセル側かCAD側か、マクロ等を使ってコピー→貼り付けまでを1動作で行えるように出来ないものでしょうか?

  • 【CADで直線と円弧の交点座標を抽出】

    【CADで直線と円弧の交点座標を抽出】 Auto-cad 2010で,直線と円弧の交点座標を抽出したいと思っています. 抽出する座標の数が少なければ,Osnap等でカーソルを交点に合わせて表示された座標を 読み取る,というようなこともできますが,今回は数百個ほどの交点座標を抽出しようと 試みていますので,その方法では時間がかかりすぎてしまいます. 複数の交点座標を抽出し,テキストデータとして出力する方法はないでしょうか? cadのツールを使用する方法,特定のソフトを使う方法,なんでも構わないので, ご存知の方おられましたら,よろしくお願いします.

  • AutoCadの複数曲線のポリライン化・ハッチングにつき

    AutoCad LT2000 複数の曲線(円弧)により作成したラインをポリライン化したいのですが、 オブジェクト選択→pe(pedit)→y→j→オブジェクト選択 ”0セグメントが追加されました”となるケースがあります。対処法として、オブジェクトを一旦任意の場所に移動後、移動「端点→端点」として、ポリライン編集を行っています。ハッチングの場合は、内側の点にて認識不能のため、ポリライン変換後オブジェクトを選択・または、端点を結ぶ補助線を作成後→内側の点をクリック。としているのですが、効率のよい作成方法をご存知の方があれば御教授いただきたいのですが。 作成方法としては、フィレットやOスナップ端点としているので、「問題はないはず」と思っているのですが…。

  • 線分や円弧をクリックして選択するプログラム

    CAD等で描かれた2次元の図面上の任意の線(線分や円弧)をクリックして選択するプログラムを作っています。 いまは叩き台として、各線のバウンディングボックス(線分や円弧を囲む最小の長方形)の情報(対角線の両端座標) が入った配列(実際はC++のSTL vectorです)を用意して、クリックした座標の一番近くに在る、若しくは内包する バウンディングボックスを線形探索して、見つかったバウンディングボックスに所属する線がクリック許容範囲内 であるかを分析しています。 しかし、この方法では線の数が少ないうちは良いのですが、大規模な図面になると時間が掛かってしまい 使い物になりません。 このような場合、どういったデータ構造でどのようなアルゴリズムで探索するのが良いのでしょうか? なにか定石的なものがあるのでしょうか? 恥ずかしながら、探索アルゴリズムというと学生の時に2分探索法等を習った程度で、2次元以上の高次元のもの 扱うアルゴリズムはピンときませんでした。

  • 3Dプログラミングでは何故2直線の交点を「最近点」として求めるのでしょうか?

    http://oshiete1.goo.ne.jp/qa74647.html?ans_count_asc=0 こちらの質問で、 >3D幾何計算ライブラリなどでは直線(線分)同士は、「交点」ではなく「最近点」として求めるのが普通です。 とありますが、何故なのでしょうか? 確かに色々調べてみますと、交点ではなく2直線の距離を求めて、その距離が一定の閾値以下なら交差している、というアルゴリズムが多く見つかりました。 小数が有限なために完全に交差することは殆どないから・・・でしょうか?

  • 2つの線分に垂直な線分の交点

    2次元平面に点P(x0,y0)、点A(x1,y1)、点B(x2,y2)があり、 点Aを通る線分PAに垂直な線分と 点Bを通る線分PBに垂直な線分の交点の 求め方を教えて下さい。 垂直ベクトルを求め、任意に座標を決めて 連立方程式を解くやり方だと上手くいかない時が あります。シンプルに求める方法がありましたら 教えて下さい。

  • 任意の点と任意の線分との最短距離となる点

    現在C++でシューテイングゲームを作成しています。 当たり判定の計算として二次元座標の三点で判定を取れないかと考えて詰まっています。 具体的には任意の点Pと任意の点ABからなる線分の最短距離を算出したいのですが、これは可能なのでしょうか

専門家に質問してみよう