[散分贴]不需要if判断语句即可求出任意多边形的面积

yymt168 2010-03-19 03:36:10
题目:求任意多边形的面积
要求:
1,以沿逆时间(或顺时间)顶点坐标给定多边形(凹或凸)
2,不能用if判断语句
3,不能以格删方法


题目的目的:
1,网上有关凹多边形的面积,都是先划分为凸多边,然后按凸边形方法分别求解
2,本人已找到及证明了符合要求的方法
...全文
236 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2010-03-20
  • 打赏
  • 举报
回复
可以用闭包吧
  • 打赏
  • 举报
回复
自己怎么就把答案说出来了啊。
[Quote=引用 7 楼 yymt168 的回复:]
C/C++ code

a[n].x=a[0].x;a[n].y=a[0].y; //使多边形闭合
s=0;
for(i=1;i<=n;i++)
s+=(a[i-1].x+a[i].x)*(a[i].y -a[i -1].y);
s=0.5*abs(s)
[/Quote]
yymt168 2010-03-20
  • 打赏
  • 举报
回复

a[n].x=a[0].x;a[n].y=a[0].y; //使多边形闭合
s=0;
for(i=1;i<=n;i++)
s+=(a[i-1].x+a[i].x)*(a[i].y -a[i -1].y);
s=0.5*abs(s)


hk_wind 2010-03-20
  • 打赏
  • 举报
回复
jf 顺便看看有什么好方法
xiuxianshen 2010-03-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 vshuang 的回复:]
自己怎么就把答案说出来了啊。

引用 7 楼 yymt168 的回复:
C/C++ code

a[n].x=a[0].x;a[n].y=a[0].y; //使多边形闭合
s=0;
for(i=1;i<=n;i++)
s+=(a[i-1].x+a[i].x)*(a[i].y -a[i -1].y);
s=0.5*abs(s)
[/Quote]


散分贴么,呵呵
yyfhz 2010-03-19
  • 打赏
  • 举报
回复
是不是用的是填充算法中的栅栏填充算法啊?
keeya0416 2010-03-19
  • 打赏
  • 举报
回复
LZ把你的方法也拿出来大家看看嘛
keeya0416 2010-03-19
  • 打赏
  • 举报
回复

接分
comeon_baby 2010-03-19
  • 打赏
  • 举报
回复
接分,jf
michael122 2010-03-19
  • 打赏
  • 举报
回复
把多边形的边看成分段函数,对其积分即可
线性复杂度
xiuxianshen 2010-03-19
  • 打赏
  • 举报
回复
JF,帮顶

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧