問題タブ [cgal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - CGAL:ポイントが属する面/三角形を見つけますか?
それについて読んだ後、私はこれに来ました:
これにより、外接円に点が含まれている面が見つかります。その後、これらの三角形を取得し、ポイントが三角形の内側にあるかどうかをテストする方法を使用する必要があります(CGALはこれを実行しますか?実装は簡単ですが)。
とにかく、どうすれば三角形を面から取り除くことができますか?
答えは
等
Triangleクラスの使い方はよくわかりませんが、少なくとも始まりです。
私は実際に答えるつもりでしたが、stackoverflowではそうすることができませんでした。
c++ - cgal-pythonをコンパイルします
cgal-pythonをビルドしようとしましたが、次のエラーが発生しました(スニペットのみ)。
MacOS Lionの標準Cライブラリのヘッダーファイルはどこにありますか?
triangulation - CGAL 2D Delaunay Triangulation:すべてのエッジを取得する方法
CGAL(C ++)の2Dドロネーグラフのすべてのエッジを取得/反復する方法は?
たとえば、MATLABでは、これは単なるedges(dt)です。
c++ - 親関数で更新されていない子関数で割り当てられたオブジェクト
これはcgal関連の質問ですが、一般的なC ++の質問でもあると思うので、ここで質問します。
クラスを使用して、という名前のサブルーチンのクラスにAlpha_shape_2
割り当てようとしています。問題は、の関数の一部が正しい結果を返さないことです。AlphaShapeCg
GetAlphaShalCg
Alpha_shape_2
Alpha_shape_2
これは私のコードであり、非常に単純ですが、サブルーチンでラッパーに割り当ててから、親ルーチンでメンバーにアクセスすることと、Alpha_shape_2
直接アクセスすることの違いがなぜあるのかよくわかりません。
CGALがインストールされている場合に、コンパイルして再生できる完全なコードは次のとおりです。
更新:使用しようとしました
しかし、このエラーのため、このコードは単にコンパイルされません。
エラーC2513:'CGAL :: Alpha_shape_2':'='の前に変数が宣言されていません
vtk - CGAL対VTK
CGALライブラリとVTKライブラリの違いは何ですか?どちらも多くの標準的な幾何学的アルゴリズムを組み込んでいます。誰かが一方が他方よりも優先されるいくつかのアプリケーションドメインをリストできますか?
triangulation - CGAL: Delaunay Triangulation から三角形の座標を取得するのに役立ちます
私はCGALを初めて使用しています。私の質問は非常に簡単だと確信しています。
Delaunay 三角形分割を行うために CGAL を使用しようとしています。球体上に N 個の 3D ポイントを持つグリッドがあり、それらの点を三角形の頂点として使用して球体を三角形分割したいと考えています。そのような結果の三角形の頂点のリストを取得する必要があるだけです:
id_triangle1 vertex_1 vertex_2 vertex_3 id_triangle2 vertex_1 vertex_2 vertex_3 .......
私は三角測量を実行するためにそれをしました:
私が抱えている問題は、結果の三角形分割を取得する方法がわからないことです。face_iterator を取得する方法はわかりましたが、そこから何をすればよいかわかりません。
それが三角形を反復するのが正しいかどうかはわかりません。もしそうなら... 三角形 = 面 ??¿ 、つまり、各反復子の位置には三角形しかありません。各三角形の x、y、z を正しく取得するにはどうすればよいですか??
c++ - OutputIteratorとは正確には何であり、CGAL Kd_tree :: searchで使用するためにOutputIteratorを構築する方法は?
CGALのKdツリー実装とファジー球をクエリオブジェクトとして使用して、ポイントr_max
を中心とする半径の球で囲まれたポイントを取得しています。この最小限の作業例を次に示します。
CGALの例のSpatial_searchingフォルダーの下にあるinterior_neighbor_searching.cppファイルからコメント「Printpoints」の下の行を取得して適合させました(私のバージョンは3.9です)。
質問は次のとおりです。ポイントの座標を標準に出力する代わりに、ある種のコンテナで検索の結果として得られたポイントへのポインタ/イテレータ/ハンドルを格納する別のOutputIterator
(ではなく)を設定する方法はありますか?出力?ありがとうございました。std::ostream_iterator
macos - CGAL プログラム (およびサンプル) が Mac OS X 10.7 Lion でコンパイルされない
システム情報: Mac OS x 10.7
CGAL のインストール先: CGAL INCLUDES は /opt/local/include/CGAL/ にあります CGAL LIBRARIES は /opt/local/lib/cmake にあります
CGAL INFO: singhg@~/Programming/examples/Triangulation_2$ ポート検索 cgal cgal @3.9 (GIS, Science) 計算幾何学アルゴリズム ライブラリ
singhg@~/Programming/examples/Triangulation_2$ port deps cgalFull Name: cgal @3.9_0 Build Dependencies: cmake Library Dependencies: boost, mpfr, zlib, gmp
CMAKE INFO: singhg@~/Programming/examples/Triangulation_2$ port search cmake cmake @2.8.6 (devel) クロスプラットフォーム make
gccmakedep @1.0.2 (x11、devel) 「gcc -M」を使用してメイクファイルに依存関係を作成する
2 つのポートが見つかりました。
ここに私の質問があります:
ここで、CGAL_3.9 の例をダウンロードし、Xcode を使用して Triangulation_2 を実行しようとしました。以下は私が得た出力です。(Voronoi_diagram_2 の例も実行しようとしましたが、同じ問題があります)
1) 端末コマンドcmake -GXcodeをディレクトリに
/Users/singhg/Programming/examples/Triangulation_2
しかし、それは言います:
singhg@~/Programming/examples/Triangulation_2$ cmake -GXcode
-- C コンパイラの識別は GNU です
-- CXX コンパイラの識別は GNU です
-- C コンパイラに -isysroot が
あるかどうかを確認しています -- C コンパイラに -isysroot があるかどうかを確認しています - はい
- - C コンパイラが OSX 展開ターゲット フラグをサポートしている
かどうかを確認しています -- C コンパイラが OSX 展開ターゲット フラグをサポートしているかどうかを確認しています - はい
-- 次を使用して C コンパイラが動作しているかどうかを確認します: Xcode
-- 次を使用して C コンパイラが動作しているかどうかを確認します: Xcode -- 動作します
-- C を検出していますコンパイラの ABI 情報
-- C コンパイラの ABI 情報を検出しています - 完了 --
CXX コンパイラに -isysroot
があるかどうかを確認しています -- CXX コンパイラに -isysroot があるかどうかを確認しています - はい
-- CXX コンパイラが OSX 展開ターゲット フラグをサポートしている
かどうかを確認しています -- CXX コンパイラが OSX 展開ターゲット フラグをサポートしているかどうかを確認しています - はい
-- 次を使用して CXX コンパイラが動作しているかどうかを確認します: Xcode
--
CXXコンパイラが動作しているかどうかを確認しますCXX コンパイラー ABI 情報
-- CXX コンパイラー ABI 情報を検出中 - 完了
-- このプログラムは CGAL ライブラリーを必要とし、コンパイルされません。
-- 設定完了
-- 生成完了
-- ビルドファイルは次の場所に書き込まれました: /Users/singhg/Programming/examples/Triangulation_2-- このプログラムは CGAL ライブラリを必要とし、コンパイルされません。
2)私は再びこのリンクをたどろうとしましたhttp://cgal-discuss.949826.n4.nabble.com/Getting-started-with-CGAL-on-a-mac-OS-X-td3171984.htmlそして私のシステムでCGALConfig.cmake ファイルは/opt/local/lib/cmakeにあるので、bash ターミナルで次のコマンドを試しました。cmake -DCGAL_DIR=/opt/local/lib/cmake
出力は次のとおりです。
singhg@~/Programming/examples/Triangulation_2$ cmake -DCGAL_DIR=/opt/local/lib/cmake CMakeLists.txt:20 での CMake エラー (インクルード): インクルードでロード ファイルが見つかりませんでした:
CMakeLists.txt:22 (インクルード) での CMake エラー: インクルードでロード ファイルが見つかりませんでした:
CMakeLists.txt:26 (create_single_source_cgal_program) の CMake エラー: 不明な CMake コマンド "create_single_source_cgal_program"。
-- 設定が不完全です。エラーが発生しました!
3)もう一度試しましたcmake -DCGAL_DIR=/opt/local/lib/CCGAL
しかし、それは愚かだったので、CGALディレクトリはありません /opt/local/lib/
が、/opt/local/lib/cmake
.
この試行から得た出力は次のとおりです。
singhg@~/Programming/examples/Triangulation_2$ cmake
-DCGAL_DIR=/opt/local/lib/CGAL
-- このプログラムは CGAL ライブラリを必要とし、コンパイルされません。
-- 構成完了
-- 生成完了-- ビルド ファイルが次の場所に書き込まれまし た
: /Users/singhg/Programming/examples/Triangulation_2
C コンパイラの識別は GNU です CXX コンパイラの識別
は GNU です C コンパイラに -isysroot があるかどうかを確認します C コンパイラに -isysrootがあるかどうかを
確認します - はい C コンパイラが OSX
展開ターゲット フラグをサポートしているかどうかを確認します C コンパイラが OSX 展開ターゲット フラグをサポートしているかどうかを確認
します - はい動作中の C コンパイラ:
/usr/bin/gcc 動作中の C コンパイラを確認します: /usr/bin/gcc -- 動作
C コンパイラ ABI 情報を検出しています C コンパイラ ABI 情報を検出しています -
完了 CXX コンパイラに -isysroot があるかどうかを確認しています CXX
コンパイラに - isysroot - はい CXX コンパイラが
OSX デプロイメント ターゲット フラグをサポートしているかどうかを確認します CXX コンパイラが OSX をサポートしているかどうかを確認します
展開 ターゲット
フラグ - はい、コンパイルされません。 設定完了
そして、CGALConfig.cmakeがある/opt/local/lib/cmakeにCGAL_DIRを指定してエラーを修正しようとしたとき。次のエラーが発生します。
CMakeLists.txt:20 (インクルード) での CMake エラー: インクルードでロード ファイルが見つかりませんでした:
CMakeLists.txt:22 (インクルード) での CMake エラー: インクルードでロード ファイルが見つかりませんでした:
CMakeLists.txt:26 (create_single_source_cgal_program) の CMake エラー: 不明な CMake コマンド "create_single_source_cgal_program"。
構成が不完全です。エラーが発生しました!
これらの例では、CGAL ライブラリの場所を見つけることができませんでした。誰かが助けることができるなら、助けてください。CGAL プログラムをコンパイルする方法が見つかりません。
バガさんありがとう
c++ - 元のポリゴン内にあるメッシュ要素を確認する
重複しないポリゴンのセットがあります。これらのポリゴンは、ノード、エッジを共有できますが、厳密には重なり合いません。
ここで、制約付き Delaunay Triangulation (CDT) 手法を使用してそれらをメッシュ化します。問題なくメッシュを取得できます。
私の問題は、メッシュの後、どのメッシュ要素がどの元のポリゴンに属しているかを知りたいということです。私の現在のアプローチは、各メッシュ要素の重心を計算し、この重心がどの元のポリゴンに該当するかを確認することです。しかし、このアプローチは非常に計算量が多いため、好きではありません。
これを行う効率的な方法はありますか (Big O ランタイムに関して)? 私のプロジェクトには何万ものポリゴンが含まれており、スピードを落としたくありません。
編集: 以下のように、すべての頂点が複数の共通面を持つ場合があるため、メッシュ要素内のすべての頂点が共通の面を共有していることを確認してください (点線はメッシュ要素を形成し、頂点には 2 つの共通面があります):