z = f(x,y)
私は雲点から生成されたメッシュを持っていscipy.interpolate.bisplrep
ますbisplev
.
bisplev
パラメータとともに使用しdx=n
たりdy=n
、結果がn
評価されたポイントでの次数の導関数になるように使用したりできます。これを使用して、平均曲率とガウス曲率 ( surfature
Matlab で呼び出される) を計算する予定です。これには、サーフェスの 2 次偏微分を取得する必要があります
一度に偏導関数の 1 つを使用した結果はdx
、人間の背中から見たこの画像に見られるように、グラデーションを「シェーディング」効果として明確に表していると言えます (コードが最初)。
self.spline = inter.bisplrep(self.pointlist[:,1],
self.pointlist[:,0],
self.pointlist[:,2], s=smoothing_factor)
self.mesh_shadow = inter.bisplev(yy.flat, xx.flat, self.spline, dy=1)
ここまでは順調ですね。問題は、明らかな数値的または視覚的な意味がないため、両方の偏導関数を同時に求めると、結果の意味が理解できない (そして説明が見つからない) ことです。たとえば、dx
ANDを使用する場合dy
:
self.mesh_shadow = inter.bisplev(yy.flat, xx.flat, self.spline, dx=1, dy=1)
私はこれを得る:
だから、私は疑問に思います:
- で与えられる曲面の一次偏導関数の同時結果の数学的/幾何学的な意味は
bislplev(..., dx=1, dy=1)
何ですか? - から最大勾配 (任意の方向) を取得する方法はあります
bislplev(..., dx=1, dy=1)
か? - そもそも、両方の偏導関数が一緒に呼び出されることになっていますか? たとえば、使用できることがわかり
(..., dx=1, dy=2)
、関数は「有効な」結果を生成するように見えますが、それは意味がありますか?
毎回、返される値は単一の float 値 (Z またはその導関数に関連する値の 1 つ) の (Y,X) 形状の配列です。
何か助けはありますか?
読んでくれてありがとう