Javascript 四点多项式的对角中心

Javascript 四点多项式的对角中心,javascript,math,Javascript,Math,我试图找到4点多项式的(对角线)中心: 我认为这很简单: 但似乎不是。。。那么如何计算/找到它的x/y中心呢?如果你说的是引力中心,那么它将如下所示: G = (A + B + C + D) / 4 means: xG = (xA + xB + xC + xD) / 4 yG = (yA + yB + yC + yD) / 4 你可以在这里看到: 根据注释,使用以下公式: 。。。假设多边形是凸的(即对角线始终相交),可以计算对角线的交点 请注意,点索引与多边形索引不同:对角线分别位于点

我试图找到4点多项式的(对角线)中心:

我认为这很简单:


但似乎不是。。。那么如何计算/找到它的x/y中心呢?

如果你说的是引力中心,那么它将如下所示:

G = (A + B + C + D) / 4

means:
xG = (xA + xB + xC + xD) / 4
yG = (yA + yB + yC + yD) / 4
你可以在这里看到:


根据注释,使用以下公式:

。。。假设多边形是凸的(即对角线始终相交),可以计算对角线的交点

请注意,点索引与多边形索引不同:对角线分别位于点
1-3
2-4
之间,而多边形点的顺序为
1-2-3-4

工作代码段:

var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
功能行(ax、ay、bx、by){
ctx.beginPath();
ctx.移动到(ax,ay);
ctx.lineTo(bx,by);
ctx.stroke();
}
var-x1=100;
变量y1=100;
var x2=110;
变量y2=320;
var x3=400;
var y3=200;
var x4=300;
var y4=100;
//线条
线(x1,y1,x2,y2);
线(x2、y2、x3、y3);
线(x3、y3、x4、y4);
线(x1,y1,x4,y4);
//对角线
线(x1,y1,x3,y3);
线(x4,y4,x2,y2);
var div=(x1-x3)*(y2-y4)-(y1-y3)*(x2-x4);
var divx=(x1*y3-y1*x3)*(x2-x4)-(x1-x3)*(x2*y4-y2*x4);
var divy=(x1*y3-y1*x3)*(y2-y4)-(y1-y3)*(x2*y4-y2*x4);
var x=divx/div;
变量y=divy/div;
$(“#x”).val(x);
$(“#y”).val(y);
//居中
线(x,y-10,x,y+10);
线(x-10,y,x+10,y)


请提供一个工作示例,我知道这个非常复杂的方程,谢谢!使用“行列式符号”()下方的显式公式;这和等价的代码没什么不同。我遵循你的建议:但是看起来好像有什么不对劲,y等于负值太棒了!请把你的回答作为答案,然后我想接受它作为解决方案,非常感谢!!1) OP没有提到计算质心的必要性。2) 即使他们这样做了,也需要澄清形状是实心的还是由4点质量(您的公式假设)组成的。3) Wolfram Alpha页面上的图表清楚地显示,结果点不等于OP的期望点。