Как рассчитать объем под двумя пересечениями поверхности? - PullRequest
0 голосов
/ 21 февраля 2019

Мне нравится рассчитывать объем под двумя плоскостями пересечения.Две плоскости - это рисование, используйте этот код.

P1 = [575,0,400];
P2 = [287.5,0,662];
P3 = [575,3500,154];
normal = cross(P1-P2, P1-P3)
syms x y z
P = [x, y, z]
ep1=dot(normal, P-P1)
%  get the equation
Z = solve(ep1,z) 
% draw the first plane
ezsurf(Z,[287.5,575,0,3500])
hold on
% draw the second horizontal plane
[x,y]=meshgrid(0:500:3500)
z = ones(8,8)*440
surf(x, y, z)

Так что я должен рассчитать объем под первой плоскостью.Я использовал этот код, но я не знаю, как построить матрицу Zm, использовал уравнение символов Z. И как я могу использовать meshgrid и surf, а не ezsurf нарисовать первую плоскость.

%f=@(x,y)(interp2(Zm,Xq,Yq))
% I want to calculate volume under the plane  ranged by Xmin=2.875, Xmax=575,Ymin=0,Ymax=3500 
%volume = quad2d(f,(287.5),575,0,3500)
%volume = integral2(f,287.5,575,0,3500)

Большое спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019

В качестве альтернативной стратегии, которую легче понять, я бы предложил вместо интерполяции использовать некоторые геометрические формулы для вычисления площади.Вы можете разбить трехмерную фигуру на простую треугольную призму и неправильный тетраэдр.Есть хорошо определенные обобщенные формулы для них обоих.http://mathcentral.uregina.ca/QQ/database/QQ.09.03/peter2.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...