Cross-sectional area of a cone(ish)
5 ビュー (過去 30 日間)
古いコメントを表示
Morning all,
I have a surface that looks something like a lopsided squished cone, hollow in the middle.
I would like to take the cross-sectional area at different heights, but I need some help. I'm sure it shouldn't be too difficult but I can't figure it out today. I can use the countour function to plot the contours at different heights, but not find the area of the cross-section.
Can anyone help me please?
0 件のコメント
採用された回答
John D'Errico
2016 年 8 月 31 日
And polyarea won't suffice to compute the area of a polygon? It should.
Just generate the contours as desired. Then use polyarea. Easy.
その他の回答 (2 件)
Chad Greene
2016 年 8 月 31 日
編集済み: Chad Greene
2016 年 8 月 31 日
I'd use my C2xyz function which is on File Exchange to easily get the x,y values of a contour line. Below I'm using the built-in peaks data as an example dataset and getting the area of the polygon bounded by the z=6 line.
[X,Y,Z] = peaks(1000);
pcolor(X,Y,Z);
shading interp
colorbar
zval = 6;
hold on
C = contour(X,Y,Z,zval*[1 1],'k');
[x,y,z] = C2xyz(C);
A = polyarea(x{1},y{1})
A =
0.6661
2 件のコメント
Chad Greene
2016 年 9 月 9 日
Hey Sean, the C2xyz function simply converts the difficult-to-interpret C matrix into more intuitive x and y values.
参考
カテゴリ
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!