这是我确定多边形是否相交的方法。
找到多边形每一边的方程式,同时相互求解,以确定它们相交的位置。
%m=[vector of gradients] c=[vector of y intersects].
y = (m_n)x + (c_n)
x = (y-c) ./ (m-2) %(don't include first value for m and c)
y = m.*x + c
(我想你需要一个循环?)
然后,如果它们相交,则将其输入矩阵。
intersects = [x_1 y_1;...;x_n y_n] %(x_1 = 1st insect on x plane)
如果相交包含值。
disp('This polygon is complex')
然后,它将涉及将多边形分解为其后续部分,并使用新点计算每个部分的面积。
有人可以告诉我这是否合理?
这会有效吗?
for i=1:length(m)
x{i} = (m(i)- c)./ (m-c(i));
y{i} = m.*x{i}+c;
end