今天作一个有关平移的函数,其中要求任意多边形的面积
自己写了些东西,希望对朋友们有点点用啦
首先,任意多边形的面积公式(凹凸都可以)为:
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的论坛分享