Matlabで円筒面をプロットすることに関する質問があります。X, Y, Z
私のデータセットは、対応する強度値を持つ座標の点群で構成されていますC
。
scatter3
次の関数を使用してそれらをプロットできます。
figure
scatter3(X,Y,Z,8,C)
次の画像になります。
ただし、点ではなく、このオブジェクトの表面をプロットしたいと思います。Delaunay三角形分割を使用してこれを達成しようとしました
tri = delaunay(X,Y);
figure
trisurf(tri,X,Y,Z,C,'FaceColor','interp')
画像からわかるように、三角測量に問題があるため、結果は私が望むものではありません。X
私には、アルゴリズムが同じものを取得してY
複数回調整するという事実にうまく対応していないように見えます。
ヘルプページで紹介されている例に従ってTriRep
、次のアプローチを使用しようとしました。
dt = DelaunayTri(X,Y,Z);
tr = TriRep(dt, X, Y, Z);
TriRep
関数を呼び出すと次のエラーメッセージが表示されるため、残念ながら成功しませんでした。
??? ==>TriRepパラメータの使用エラーは「ダブルマトリックス」である必要があります。
ジオメトリを制約する必要があると思います。ここでは、関数を使用して例1の解決策を見つけたと思いますが、これを計算するにfreeBoundary
は関数の出力が必要です。TriRep
それは私が立ち往生しているところです。ご覧のとおり、私は三角測量の専門家ではありません。ご協力いただければ幸いです。ありがとう!