今天作一个有关平移的函数,其中要求任意多边形的面积

自己写了些东西,希望对朋友们有点点用啦

首先,任意多边形的面积公式(凹凸都可以)为:

n多变形,S=1/2*sum(x(k)*y(k+1)-x(k+1)*y(k)),其中k的范围是[1,n];因为懒得找求和符号,就用sum代替了求和符号了;

有了这个公式,求多变形面积就很简单,随便说句,我觉得编程或许不是很难,难就难在你首先要懂得那个问题的意思,也就是要知道所求问题的算法,比如,如果不知道上述公式,要我编个求多边形的代码就难了。

下面举例,先任意举一例,相信大家看了这个例子就知道编写n多变形的了,如要获得求n多变形的函数,朋友们请回复下了,回复就可以看到啦

例.求六边形的面积,顶点坐标分别为

p1(-1,0),p2(2,3),p3(4,2),

p4(4,4),p5(6,8),p6(-2,5).


程序如下:

x=[-1 2 4 4 6 -2];%所有顶点的x坐标

y=[0 3 2 4 8 5];  %所有顶点的y坐标

x=[x,x(1)];    %为了形成闭合多变形,把起始点的坐标加进去

y=[y,y(1)];   %同上

plot(x,y)      %显示多变形

s=0;

for i=1:n-1

    a=x(i)*y(i+1)-x(i+1)*y(i);

    s=s+a;

end

S=1/2*s;  %多变形面积。

转自:lxlqcll的论坛分享