Cross-sectional area of a cone(ish)
조회 수: 3 (최근 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!

