首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用坐标辛普森法则计算多边形面积?

如何用坐标辛普森法则计算多边形面积?
EN

Stack Overflow用户
提问于 2016-03-03 16:05:19
回答 2查看 540关注 0票数 1

此代码使用辛普森法则,但通过公式给出多边形的错误区域:

代码语言:javascript
运行
复制
def defineArea(xCoords, yCoords):    

    i = 0
    sum = 0
    for i in xrange(len(xCoords) - 1):         
        result = (xCoords[i] - xCoords[i+1])*(yCoords[i]+ yCoords[i+1])

        i +=1
        sum = 0.5*(sum + result)
    print "Total 2D area is: ", sum*

我做错什么了?如何用辛普森法则仅用坐标计算多边形的面积?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-03 16:10:08

不要在循环中执行sum = 0.5*(sum + result)。而且,一旦sum变量在循环之外,就根本不需要它了。只需在循环完成后执行result = 0.5 * result,然后打印result

您还需要切换xCoords[i]xCoords[i+1]的顺序。

票数 2
EN

Stack Overflow用户

发布于 2016-03-03 16:16:27

照“蜥蜴比尔”的话去做(对不起,我还不能发表评论),或者你也可以在循环中这样做:

代码语言:javascript
运行
复制
sum = sum + 0.5*result

另外,您正在执行(xCoords[i] - xCoords[i+1])而不是(xCoords[i+1] - xCoords[i])

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35777124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档