How to plot a ground surface in 3D using meshgrid?
18 ビュー (過去 30 日間)
古いコメントを表示
I have been trying to generate a inclined surface in order to use in 3D slope stability calculations. I have an example of surface that I made manually like it is shown below.. However, I woul like to do the same using meshgrid and I could not figure out how. Once I manage to plot it then I will use that surface to locate an ellipsoid in. Thanks in advance.
0 件のコメント
回答 (1 件)
Cris LaPierre
2020 年 10 月 3 日
This is one way. You can use meshgrid to turn vectors into matrices with values repeated in rows and/or columns. However, only Z must be a matrix. X and Y can be vectors. So here I define the slope along X, and then use meshgrid to repeat it for all values of Y. I tried to be tricky with computing the slope but mostly succeeded in making it look more complicated than it needs to be.
x = linspace(-7,9,17);
y = linspace(-4,4,9);
low = 2.6;
high = 3.4;
step = 0.1;
flat = 4;
z = (low-flat*step):step:(high+flat*step);
z(z<low) = low;
z(z>high) = high;
[Z,~] = meshgrid(z,y);
mesh(x,y,Z,'EdgeColor','k')
grid off
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!