問題タブ [qhull]

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.

0 投票する
1 に答える
155 参照

convex-hull - Qhull(Qhalf) 内点

半角スペースの交点を計算するためにqhullライブラリを使用しています。この問題は凸包問題の双対ですが、入力として交点の内点が必要です。彼らのウェブページhereに記載されているように、線形計画法を使用してそのような点を見つけることができます。ただし、単純な 2D の場合でも、この LP 問題には有界解がありません。qhull Web サイトで指定された指示に何か問題がありますか?

0 投票する
4 に答える
5985 参照

r - xyz 座標による 3D サーフェス プロット

経験のある人が、xyz データから形状ファイルを準備する方法を手伝ってくれることを願っています。適切に準備されたデータセットの好例は、 Churyumov-Gerasimenko 彗星についてここで見ることができますが、形状ファイルを作成するための前の手順は提供されていません。

特定の XYZ 座標セットにサーフェスを適用する方法をよりよく理解しようとしています。デカルト座標の使用は R パッケージ "rgl" で簡単ですが、ラップ アラウンド シェイプはより難しいようです。QHULL関数geometryへのインターフェースを提供するR パッケージを見つけました。私はこれを使って Delaunay 三角面を計算してみました。これらのファセットが計算される最大距離を制御する可能性がある関数に関連付けられているオプションのいくつかを理解できません。ここの誰かが、xyz データからサーフェスの構築を改善するためのアイデアを持っていることを願っています。rgldelaunayn

「Stanford bunny」データセットを使用した例:

ここに画像の説明を入力

この答えは、Qhull の R 実装に問題がある可能性があると私に信じさせます。また、さまざまな設定 (例: delaunayn(bunny, options="Qt")) を試してみましたが、ほとんど効果がありませんでした。Qhull オプションの概要はこちら

編集:

これは、球の追加の (より単純な) 例です。ここでも、ファセットの計算で常に最も近い隣接頂点が見つかるとは限りません (ボールを回転させると、いくつかのファセットが内部を横切るのが見えます)。

ここに画像の説明を入力

0 投票する
0 に答える
130 参照

performance - QHull/Matlab で希望する数のボロノイ センターを選択できますか

「高次元データの最近傍は?」のボロノイ k-最近傍解を実装したい。現在、ボロノイ頂点とビンを計算するためにMATLABを使用しています。voronoinこの関数はQhullを使用します。

問題は、6 次元にわたって 500 万を超える状態があるため、関数がハングアップすることです。nQhull を頂点の数に制限する方法はありますか? そうでない場合、私が取ることができる別の道はありますか?

0 投票する
1 に答える
820 参照

fortran - (r、球面調和) 空間で表されたデータを通常のデカルト グリッド (F90) に補間するにはどうすればよいですか?

球面調和関数を立方デカルト グリッドに補間しようとしています。

球状の疑似スペクトル シミュレーションの出力データには、とNrの間の動径レベルがrMinありrMax、それぞれに経度と緯度の一連の有限次球面調和関数が含まれています。球面調和関数は、三角形の切り捨てによってNi緯度と経度を含む物理的な球面グリッドにマッピングされます。Nj

ドメインは次のとおりです。

  • ラジアル レベル: rMin <= r(k) <= rMax、インデックス付き1 <= k <= Nr
  • 球面調和関数 (三角形の切り捨て、変換によるエイリアシングなし):
    • Nm = (Nj-1)/3
    • 0 <= m <= Nm
    • m <= l <= Nm
    • nlm == (nm+1)*(nm+2)/2l(のm組み合わせの総数)

データ配列:

  • スペクトル形式:complex*16, dimension( 1:nlm, 1:Nr ) :: foo_spectral
  • デカルト形式:real*8, dimension( 1:Nx, 1:Ny, 1:Nz ) :: foo_cartesian

2*rMax球状ドメインが完全に内側に収まるように、データをスペクトル表現から edge-length の立方デカルト グリッドに補間する正確かつ効率的な方法を探しています。ただし、球内で補間したいだけです。r<rMinまたはに対応する点についてrMax<rは、立方体グリッドにOUTSIDE_DOMAIN値が必要です。

現在、データをスペクトル表現 (球面ハーモニクス: foo(Nr,nlm)) から物理表現 (球面グリッド: ) に変換し、IDL のQHULLfoo(Nr,Ni,Nj)ルーチンを使用して、物理的な球面グリッドから物理的な立方体グリッド ( ) (立方体グリッドの場合に注意してください)。foo(Nx,Ny,Nz)Nx==Ny==Nz

私のデータのサイズは既存のコード (IDL で記述) が処理できるサイズよりも大きく、私の目的には球状空間への変換は不要です。たとえば、IDL に依存しない、スタンドアロンのより直接的な方法が必要です。

これをどのように行うことができるかについて何か考えはありますか? 私はオープンソースのライブラリを使用したいと思っていますが、そうしなくてもよかったと思っています。

前もって感謝します!