由若干点连成的封闭的平面多边形,如何计算面积?
本帖最后由 TBE_Legend 于 2011-8-18 13:32 编辑已知:N 个点, 这个N个点可以练成一个封闭 平面 多边形。只考虑最简单的情况,即,每个点处只有两条直线共享,也不考虑折叠,翻转啥的。
求: 这个多边形的面积。 已知:N 个点, 这个N个点可以练成一个封闭 平面 多边形。只考虑最简单的情况,即,每个点处只有两条直 ...
TBE_Legend 发表于 2011-8-18 13:31 http://forum.simwe.com/images/common/back.gif
{{168.872, 146.285, 0}, {168.823, 146.594, 0}, {168.681, 146.873,
0}, {168.46, 147.094, 0}, {168.181, 147.236, 0}, {167.872, 147.285,
0}, {167.563, 147.236, 0}, {167.284, 147.094, 0}, {167.063, 146.873,
0}, {166.921, 146.594, 0}, {166.872, 146.285, 0}, {166.921,
145.976, 0}, {167.063, 145.697, 0}, {167.284, 145.476, 0}, {167.563,
145.334, 0}, {167.872, 145.285, 0}, {168.181, 145.334, 0}, {168.46,
145.476, 0}, {168.681, 145.697, 0}, {168.823, 145.976, 0}}
比如,上面是某个一个圆的坐标点, 如何计算这个圆的面积? 不要拟合的方法,因为圆只是举个例子,还可以是别的形状。 http://mathworld.wolfram.com/DelaunayTriangulation.html
http://mathworld.wolfram.com/MinimalEnclosingCircle.html 本帖最后由 jimogsh 于 2011-8-18 16:20 编辑
http://demonstrations.wolfram.com/SignedAreaOfAPolygon/
http://mathworld.wolfram.com/PolygonArea.html
第二个链接给出了算法 本帖最后由 FlyingDuckman 于 2011-8-18 18:49 编辑
<< Polytopes`;Area但是只能求几种单位边长的正多边形面积...如果只要答案的话就用CAD里的Area指令吧 本帖最后由 waynebuaa 于 2011-8-19 09:14 编辑
回复 2# TBE_Legend
设各个点顺时针依次为a1,a2,a3,..................
顺次求三角形a1a2a3 , a1a3a4,a1a4a5 ,。。。的面积 (,用行列式求,注意方向,有正负),加起来再取绝对值即可 回复 6# waynebuaa
顺时针的概念不清,参考点是谁? 回复waynebuaa
顺时针的概念不清,参考点是谁?
guocong89 发表于 2011-8-19 10:06 http://forum.simwe.com/images/common/back.gif
就是这些点的顺序, a1,a2,...,an 的顺序是正时针旋转就行,或以这个封闭曲线内部的任一点为参考做正时针旋转。
现在的问题是,如何简单有效地把这些点按正时针顺序排列起来呢? 比如下面这些点。{{168.872, 146.285, 0}, {168.823, 146.594, 0}, {168.681, 146.873,
0}, {168.46, 147.094, 0}, {168.181, 147.236, 0}, {167.872, 147.285,
0}, {167.563, 147.236, 0}, {167.284, 147.094, 0}, {167.063, 146.873,
0}, {166.921, 146.594, 0}, {166.872, 146.285, 0}, {166.921,
145.976, 0}, {167.063, 145.697, 0}, {167.284, 145.476, 0}, {167.563,
145.334, 0}, {167.872, 145.285, 0}, {168.181, 145.334, 0}, {168.46,
145.476, 0}, {168.681, 145.697, 0}, {168.823, 145.976, 0}}多谢各位,意见都很好~ 但是只能求几种单位边长的正多边形面积...如果只要答案的话就用CAD里的Area指令吧
FlyingDuckman 发表于 2011-8-18 18:38 http://forum.simwe.com/images/common/back.gif
我用的是solidworks,但没有找到求取面积的api,我的程序只能用命令,不能手动操作。
谢谢 回复 8# TBE_Legend
不一定是顺时针,逆时针也可以的,最终只是影响了结果的正负号。
但千万别乱序就行。
因为,很简单
给定无序的n个点,不能唯一的确定一个多边形! 回复 8# TBE_Legend
你的标题是“由若干点连成的封闭的平面多边形,如何计算面积?”
说明你已经事先给定了点的连线顺序。
========================
接下来,你只需按照这个顺序依次求行列式的值就行 回复 11# waynebuaa
对啊,如果只是一堆散点的话也就无所谓面积了。如果已经存在唯一的多边形点的顺序应该也是已经确定的 :) ...... 就是这些点的顺序, a1,a2,...,an 的顺序是正时针旋转就行,或以这个封闭曲线内部的任一点为参考做正时 ...
TBE_Legend 发表于 2011-8-20 07:00 http://forum.simwe.com/images/common/back.gif
Try FindCurvePath, May works.
http://reference.wolfram.com/mathematica/ref/FindCurvePath.html
页:
[1]