matlab提取多边形区域_如何利用Matlab求任意多边形的面积

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

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

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

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的论坛分享

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值