2

x、y、z形式のデータポイントがあります。それらは閉多様体の点群を形成します。R-ProjectまたはPythonを使用してそれらを補間するにはどうすればよいですか?(多項式スプラインのように)

4

2 に答える 2

4

それは、ポイントが最初に何を表していたかによって異なります。一般に、点の配列を持っているだけでは、元の多様体を導出するのに十分ではありません。どのポイントが一緒になるかを知る必要があります。

最も一般的な低レベルの境界表現( "brep")は、三角形の束です。これは、たとえば、OpenGLとDirectxが入力として取得するものです。STL形式の三角形メッシュをPDF画像などに変換できるPythonソフトウェアを作成しました。多分あなたはあなたの目的のためにそれを適応させることができます。三角形を補間することは通常必要ではありませんが、行うのは簡単です。2つの元のポイントの中間にそれぞれ3つの新しいポイントを作成します。これらの3つのポイントは内側の三角形を形成し、残りのサーフェスは3つの三角形を形成します。これで、1つの三角形を4つの三角形に変換しました。

ポイントがスプラインサーフェスパッチ(NURBS、またはベジェサーフェスなど)のコントロールポイントである場合、どのポイントが一緒にパッチを形成するかを知る必要があります。これらはパラメトリック曲面であるため、制御点がわかれば、曲面上のすべての点を決定できます。以下はベジエ曲面の関数です。パラメータuとvは、サーフェスのパラメトリック座標です。それらは、パッチの2つの隣接するエッジに沿って0から1まで実行されます。コントロールポイントはk_ijです。

ベジエパッチの式

B関数は、各制御点の重み関数です。

重み関数

10x10ポイントのグリッドでベジエ曲面を近似するとします。これを行うには、10ステップで0から1まで実行されるuとvの関数pnumpy.linspaceを評価する必要があります(ステップの生成はで簡単に実行できます)。

(u、v)ペアごとに、pは3Dポイントを返します。

これらのポイントを視覚化したい場合は、matplotlibのmplot3dを使用できます。

于 2012-09-21T18:20:09.170 に答える
1

「コンパクト多様体」とは、3Dに埋め込まれた軌道や表面のような低次元の関数を意味しますか?希望する「パラメトリック」または「ノンパラメトリック」に応じて、Rの表面問題にはいくつかの選択肢があります。平均f(x、y)を推定するフレームワーク内で、さまざまな種類の回帰スプラインを適用できます。これらの値が「狭い」間隔である場合は、比較的正確で単純な要約推定を取得できます。パッケージ「locfit」、「akima」、「mgcv」に見られるような、いくつかのノンパラメトリック手法があります。(3空間で1次元多様体を統計的に推定する方法がよくわかりません。)

編集:しかし、3D分布を確認して、それがパラメトリック曲線なのか軌道なのかを知りたい場合は、package:rglにアクセスして、回転可能な3Dフレームにプロットします。

代わりに凸包を形成しようとしている場合(補間という言葉はおそらく間違った選択です)、2次元の解があることを私は知っており、検索によって3次元の解も見つかると思われます。適切な検索戦略の構築は、これまでの2つのコメントが反映されていない詳細に依存します。回帰分析を使用して境界を作成する場合は、1パーセンタイルや99パーセンタイルなどの低次および高次の統計を(x、y)の関数としてモデル化することを試みることができると推測しています。十分にサポートされているRogerKoenkerによる分位点回帰パッケージ「rq」があります。

于 2012-09-21T18:22:00.060 に答える