曲率の​​高い領域に点を集中させるにはどうすればよいですか?


11

ポイントをインプリシットサーフェス上に分布させて、曲率の高い領域にポイントをより密集させるにはどうすればよいですか?

ポイントをランダムに追加し、曲率に基づいて不要なポイントを拒否することを検討しましたが、同様に曲率のある領域全体に均一な分布を与えるより良い方法があるかどうか知りたいです曲率領域。

表面の三角形分割にこれらの点を使用することに特に注目しており、比較的平坦なパーツに必要な数より多くの三角形を作成したくありません。


これは、既知の導関数を持つ形状に適用されるため、特定の点の曲率を計算できます。

これは、リアルタイムのアプローチである必要はありません。


モンテカルロ検定なしで、分布からサンプリングするより正確な方法を探していますか?計算アプローチにあまり関心がない場合(つまり、計算の努力ではなく正確なアプローチを探している場合)は解決策がありますが、もちろん最適化できます。
user8469759

3
分析機能を知っていますか、それともサンプリングしかできませんか?その分析的派生物を知っていますか?
Julien Guertault 2015

@JulienGuertault私の編集によって明確になりますか?
trichoplax

@Lukkio精度を最初にしたいのですが、アプローチが機能したら、後で最適化を行うことができます。
trichoplax

1
あなたはに見てみたいことがあります有限要素法(:単体一般以上)と、多くの場合、選択した領域でより高いサンプリング密度を必要とする問題に直面しても、三角測量を使用し、。彼らはこれのためにアルゴリズムを開発しなければならない。
Wrzlprmft 2015

回答:


11

適用しようとするアイデアは次のとおりです。カーブの例を作成しますが、サーフェスのアプリケーションでは簡単なはずです。

一様にパラメーター化された曲線があるとします。曲線のパラメータがsであるとしましょう。目標は、曲率が高くなるようにsの値に対応する点をサンプリングすることです。γss

cs|c|C(s)

s0,s1,,sn

表面の場合へのこの方法の適用は、基本的に2次元の累積分布関数を持っているので直線的である必要がありますが、サンプリングの問題はまったく同じです。

詳細を説明するために、累積関数が2つのステップを含む場合、基本的には分布からのサンプリングです。

  1. [0,1]k

  2. C(s)=k

このアプローチは正確ですが、もちろんコストがかかりますが、そのようなアプローチが好きな場合は、最適化に取り組むことができます。


1
ラテックスはまだサポートされていません。
joojaa

パラメータ化されていなくても、インプリシットサーフェスで使用できるものを探していました。導関数がわかっている場合、陰的曲面をパラメーター化することは常に可能ですか?
trichoplax

数式でMathJaxが役立つと思われる質問をこのメタ回答に追加して、MathJaxを入手できる可能性を高めることができます。(これは既に追加されています。)
trichoplax

必要なのは曲率から導出された分布関数であることを思い出してください(すべてのサーフェスを取得できるので、どのような表面を得たのですか?つまり、方程式)。とにかく...「既知の誘導体」とはどういう意味ですか?デリバティブの明確な式を知っていますか?それとも暗黙的ですか?(すなわち、微分方程式によって記述される)?
user8469759 2015

1
ちなみに...曲線/表面が代数的である場合(つまり、多項式または有理数で表される)、そのような曲線のパラメーター化を実行する方法を説明するbspline / nurbsに基づく計算方法があります。ここでdocs.lib.purdue.edu/cgi/…をちらっと見ましたが、Nurbsに関する私のお気に入りの本の1つ(TillerによるNURBSの本)に、さらに高度な方法がありました。
user8469759

2

良い出発点は、SIGGRAPH 1994に発行された古典的な論文「粒子を使用してインプリシットサーフェスをサンプリングおよび制御する」です。

物理ベースのパーティクルシステムを使用した暗黙的なオブジェクトのサンプリング Computers&Graphics、1996)で説明されている簡単なパーティクルシミュレーションは、曲面でも機能します。例については、陰関数表面の動的テクスチャを参照してください。

最近の例については、陰面の形状とトーンの描写Computers&Graphics、2011)を参照してください。


2

次のナイーブなアプローチは、おそらくLhfによって与えられるものほどうまく分散されたポイントを生成しませんが、実装がはるかに簡単で、計算速度が速いはずです。

xyd(x,y)xyxy

A

  1. xd(x,x)

  2. A

  3. A

    1. xyA
    2. zd(x,y)A
    3. zd(x,y)A

      • はいの場合は破棄してください。
      • xzyzzA

A

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.