在js中找到多边形的中心点

kok*_*oko 6 javascript prototype canvas

我找到了一个很好的例子,如何找到多边形的中心点(这里是JS):

- >请参阅此jsfiddle示例

所以,用这个多边形

var polygon = [
     {'x':770, 'y':400},
     {'x':529, 'y':643},
     {'x':320, 'y':494},
     {'x':424, 'y':381},
     {'x':459, 'y':369}
];
Run Code Online (Sandbox Code Playgroud)

我应该找到这样的中心点:

var con = new Contour();
    con.pts = polygon;
    document.write(con.centroid)
Run Code Online (Sandbox Code Playgroud)

不过con.centroidundefined.

我究竟做错了什么?提前致谢!

Tom*_* Tu 5

这是固定版本:jsfiddle

你犯了一些错误 - 首先你在调用它们之后声明了Contour和Point--因此你无法使用它. - 你将质心称为属性,它就像一个函数,因此你在质心后缺少括号() - 在质心函数的返回值中,你将x和y作为一个对象传递,其中函数点将x和y作为单独的值


xto*_*ofl 2

您可以在定义原型Contour之前调用构造函数。Contour在所说的jsfiddle中,将你的移动document.write到最后,一切都会变得......更好。

此外,您需要实际调用centroid您定义的函数:

var c = con.centroid();
document.write( c.x );
document.write( c.y );
Run Code Online (Sandbox Code Playgroud)