面积计算——怎样快速准确地计算不规则封闭区域的面积??

lan_lan 2001-08-15 11:22:15
加精
比如说建筑物面积。
...全文
457 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sptbo 2002-01-29
  • 打赏
  • 举报
回复
积分
林仪明 2001-08-18
  • 打赏
  • 举报
回复
是不是几何图形学的内容啊!!
lan_lan 2001-08-18
  • 打赏
  • 举报
回复
up
lan_lan 2001-08-18
  • 打赏
  • 举报
回复
up
frman 2001-08-15
  • 打赏
  • 举报
回复
看看下面这个帖子
http://www.csdn.net/expert/Topic/214/214316.shtm
tarkey 2001-08-15
  • 打赏
  • 举报
回复
有一种比较复杂的办法,
在每两两条夹角小于90度的直线之间做一条直线,计算三角型,计算到最后就是一个近圆型的
一块地方了。
windindance 2001-08-15
  • 打赏
  • 举报
回复
我知道一种笨方法:
填充点,数点数。
frman 2001-08-15
  • 打赏
  • 举报
回复
哈哈:))
海星大哥,看来你的帖子会帮我们挣很多分啊:))
starfish 2001-08-15
  • 打赏
  • 举报
回复
哎呀,今天来迟了
frman 2001-08-15
  • 打赏
  • 举报
回复
哈哈:)))
1+1,俺服了你了:))
one_add_one 2001-08-15
  • 打赏
  • 举报
回复
为了方便你,我决定帮你把上面的帖子转贴过来:

1/2*¦( ¦x0 y0¦ + ¦x1 y1¦ + .... + ¦xn yn¦ )¦
  ¦ ¦x1 y1¦  ¦x2 y2¦      ¦x0 y0¦ ¦


回复人: Arter() (2001-7-29 18:46:00) 得0分
1.把(xi,yi)按逆时针排好。(i=1,2,3,....n, x(n+1)=x1);
2.计算它的有向面积:
(1)先看:(0,0),(xj,yj),(xk,yk)三点的面积S=
¦ 0 0 1 ¦
¦ xj yj 1 ¦*(1/2) =(xj*yk-yj*xk)/2
¦ xk yk 1 ¦
(2)多边形面积可以划分为三角形面积的和:
S[(0,0),(x1,y1),(x2,y2)]+S[(0,0),(x2,y2),(x3,y3)]+...
+ S[(0,0),(x(n-1),y(n-1),(xn,yn)]+S[(0,0),(xn,yn),(x1,y1)]
=((x1*y2-x2*y1)+(x2*y3-x3*y2)+...+(x(n-1)*yn-xn*y(n-1))+(xn*y1-x1*yn))/2
=(x1*(y2-yn)+x2*(y3-y1)+x3*(y4-y2)+...+x(n-1)*(yn-y(n-2))+xn*(y1-y(n-1)))/2
(或:(y1*(xn-x2)+y2*(x1-x3)+y3*(x2-x4)+...+y(n-1)*(x(n-2)-xn)+yn*(x(n-1)-
x1))/2 )







回复人: starfish(海星) (2001-7-29 23:37:59) 得20分
/******************************************** * *
* 计算多边形的面积 *
* *
* 要求按照逆时针方向输入多边形顶点 *
* 可以是凸多边形或凹多边形 *
* *
\********************************************/

float area_of_polygon(int vcount,float x[],float y[])
{
int i;
float s;
if (vcount<3) return 0;
s=y[0]*(x[vcount-1]-x[1]);
for (i=1;i<vcount;i++)
s+=y[i]*(x[(i-1)]-x[(i+1)%vcount]);
return s/2;
}

33,008

社区成员

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

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