| 查看: 755 | 回复: 3 | ||
[求助]
多面体重心公式及fortran编程实现 已有2人参与
|
|
已经知道任一凸多面体的顶点坐标,求其重心表达式,需要用只含顶点位置坐标表示。并写出fortran语句 [ 发自手机版 http://muchong.com/3g ] |
» 猜你喜欢
基金委咋了?2026年的指南还没有出来?
已经有8人回复
拟解决的关键科学问题还要不要写
已经有4人回复
基金申报
已经有5人回复
国自然申请面上模板最新2026版出了吗?
已经有17人回复
纳米粒子粒径的测量
已经有8人回复
疑惑?
已经有5人回复
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
Materials Today Chemistry审稿周期
已经有5人回复
溴的反应液脱色
已经有7人回复
推荐一本书
已经有12人回复
» 本主题相关价值贴推荐,对您同样有帮助:
文件行数固定(100),列数不固定,怎么用fortran读取文件?
已经有7人回复
回帖就送金币!!请大家对CFD的编程实现给点意见!
已经有8人回复
求助!fortran编程实现从txt中一一对应读入数据
已经有6人回复
【答案】应助回帖
感谢参与,应助指数 +1
|
解析表达式很难给出来,数值解倒是可以求。我给你提供一个算法吧: 1、建立一个长方体的胞,在把多面体所有的顶点都包含进去的前提下,胞的大小尽可能的小。可以简单取求所有点在xyz方向上的最大、最小值的差,作为胞的边长。 2、在这个胞内随机的撒一个点。 3、判断这个点是否在多面体内部,算法可以参考http://www.guokr.com/post/446889/。 4、如果在内部,记录这个点的坐标信息,如果不在,则删除这个点。 5、返回第2步,重复该过程足够多次。 6、统计所有多面体内部点,取其坐标的平均值,该值就是多面体的重心。 这个蒙特卡洛算法很简单,实现起来应该不难。楼主自己写代码吧,不要奢求别人帮你写好。 |
2楼2015-06-26 11:50:54
cooooldog
铁杆木虫 (著名写手)
ส็็็
- 应助: 237 (大学生)
- 金币: 6101.9
- 散金: 1114
- 红花: 39
- 帖子: 1380
- 在线: 553.8小时
- 虫号: 506699
- 注册: 2008-02-18
- 专业: 模式识别
【答案】应助回帖
感谢参与,应助指数 +1
|
这个用Fortran来写太难为人了。虽然学过,但是最不喜欢的就是对格式要求很高的语言。 此外,如果对重心的精度要求高,蒙特卡洛方法不可行的情况下,算法比较繁琐。 不是自己的课题或必须的话,给100元我也不会写。 不过讨论下还是可以的。1. 凸多面体跟任意多面体的情况不同; 估计是凸多面体; 2. 计算重心不可避免要考虑,质量是仅仅集中在顶点?还是仅集中在多面体的棱、多面体的面?还是实心的凸多面体,密度分布均匀? 实心的密度均匀的凸多面体是各种情形中最不容易计算的; 3. 考虑实心的、密度均匀的凸多面体的情形,要求精确求其质心坐标,即蒙特卡洛方法不可行的情况下。 通常的方法是把凸多面体分割成多个四面体(四面体的质心是容易计算的,它是四面体所有类中线(顶点跟该点对面质心之间连线)的公共交点),然后再计算这些四面体质心的重心。所以,问题转化为如何把凸多面体剖分为多个四面体(比如最小个数的)。 4. 剖分凸多面体为最小数量(或其它原则,以方便计算为准)的四面体,可以先固定某个顶点,然后对该顶点不在其上的多面体的所有面作最少三角个数的三角剖分(这个应该是基础的Delaunay算法),然后小三角形为底面,该顶点为顶点的四面体就是。 |

3楼2015-06-26 17:54:42
walk1997
金虫 (著名写手)
- 应助: 1 (幼儿园)
- 金币: 4676.2
- 红花: 22
- 帖子: 1066
- 在线: 798.1小时
- 虫号: 416039
- 注册: 2007-06-29
- 性别: GG
- 专业: 粒子物理学和场论
4楼2015-06-28 09:40:38











回复此楼
不过讨论下还是可以的。