如何取得不规则区域的重心?

luxiaoban 2001-11-02 09:31:50
我有一个笨办法,把不规则区域分成若干个三角形,
单个三角形的重心很好求,面积也可以求出来,
然后用一个公式求出两个三角形的重心,依次类推,
求三个三角形的重心,四个,五个。。。
不过我感觉这种方法很笨,各位高手有无好办法,
高分送上。
...全文
1103 53 打赏 收藏 转发到动态 举报
写回复
用AI写文章
53 条回复
切换为时间正序
请发表友善的回复…
发表回复
jml_boy 2002-02-07
  • 打赏
  • 举报
回复
学习学习,多看书
ranata 2001-11-12
  • 打赏
  • 举报
回复
这个帖子这两天怎么没人来讨论了?
ranata 2001-11-08
  • 打赏
  • 举报
回复
为什么这里不让UP?
ranata 2001-11-07
  • 打赏
  • 举报
回复
怎么没人看到我的方法吗?
如果是均匀薄片的话可以这样求:
假设已将不规则区域分成若干个(n个)三角形,单个三角形的重心Pi(Xi,Yi),面积Ai已求出:
则不规则区域的重心为:G(X,Y)
X = ΣAiXi / ΣAi (其中i从1到n)
Y = ΣAiYi / ΣAi (其中i从1到n)
我曾求过密度均匀任意形状实体的重心,也是用与这类似的方法,只是对实体时是分成三棱锥而不是分成三角形,同时用三棱锥的体积取代这里的三角形的面积.
很抱歉,我不会用Delphi,所以无法给出具体的代码.
heyuanppp 2001-11-07
  • 打赏
  • 举报
回复
可用蒙特卡龙法将不规则区域放在一个矩形内,然后随机生成矩形内的点(xi,yi).将所有在不规则区域内的点(xi,yi)进行矢量相加,得矢量Z (X,Y).将Z除以标量S(就是落在不规则区域内的次数)就是重心的坐标.用S/Total(随机点的个数)就是不规则区域的面积.其精确度与随机点的个数有关.
  • 打赏
  • 举报
回复
教育体制有待改革,全面推行素质教育。
yanleigis 2001-11-07
  • 打赏
  • 举报
回复
xc:=1/n*(x1+x2...+xn)
yc:=1/n*(y1+y2...+yn)
nielinjie 2001-11-06
  • 打赏
  • 举报
回复
原来是这么变态的问题
luxiaoban 2001-11-05
  • 打赏
  • 举报
回复
to lanzhengpeng2(兰征鹏)

你的方法只能对凸多边形有效,对凹多边形好象无效,

比如:有一个边长为2的正方形,在角上挖去一个边长为1的小正方形

按照你的方法求出的中心刚好在中点。
lanzhengpeng2 2001-11-05
  • 打赏
  • 举报
回复
靠!所有的点的x加起来除以数目不就是重心的x吗?是不是每个点还有重量?那再乘以重量
初中生就会,要什么高数!!!
xuqiang007 2001-11-05
  • 打赏
  • 举报
回复
呵呵,微积分都还给老师了。
luxiaoban 2001-11-05
  • 打赏
  • 举报
回复
一般来说是多边形,

不过也不排除是曲线图形,

为了便于大家讨论,就当是多边形把
  • 打赏
  • 举报
回复
请问所谓的“不规则”,是多边形还是曲线图形啊?
dongys_2000 2001-11-05
  • 打赏
  • 举报
回复
高数没学好吧?
fmc 2001-11-05
  • 打赏
  • 举报
回复
数学上是双重积分,你还要看一看“数值分析方法”,讲的十分清楚。
weixiande 2001-11-05
  • 打赏
  • 举报
回复
用二重微分,小儿科
ranata 2001-11-05
  • 打赏
  • 举报
回复
如果是均匀薄片的话可以这样求:
假设已将不规则区域分成若干个(n个)三角形,单个三角形的重心Pi(Xi,Yi),面积Ai已求出:
则不规则区域的重心为:G(X,Y)
X = ΣAiXi / ΣAi (其中i从1到n)
Y = ΣAiYi / ΣAi (其中i从1到n)
我曾求过密度均匀任意形状实体的重心,也是用与这类似的方法,只是对实体时是分成三棱锥而不是分成三角形,同时用三棱锥的体积取代这里的三角形的面积.
很抱歉,我不会用Delphi,所以无法给出具体的代码.
lxp981818 2001-11-05
  • 打赏
  • 举报
回复
计算机做有一个好办法:去找一条线x=a使得线两边的面积相等,再找y=b,则(a,b)即为所求。
求面积不要用积分,a,b的寻找可在区域内用两分法搜索。
luxiaoban 2001-11-05
  • 打赏
  • 举报
回复
昨天刚翻了一下高数,
好象可以用双重积分求,
不过在计算机上的不规则区域大部分是用
若干条折线组成,也就是分段函数,
我求分段函数的积分也很麻烦啊
snakefire 2001-11-05
  • 打赏
  • 举报
回复
少了一个条件---密度函数;需要知道密度才好求解的
加载更多回复(32)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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