Javascript 如何找到圆弧切片的中点?

Javascript 如何找到圆弧切片的中点?,javascript,math,html5-canvas,Javascript,Math,Html5 Canvas,我有一个由moveTo、lineTo、arc等组成的圆的切片,需要找到切片的中点 找到下图所示的点背后的数学是什么? 设C为中心点,P1和P2为圆周点,切片角度小于Pi 180度 一种可能性: X=C+半径/2*单位向量P1+P2-2*C 另一个: X=1/3*P1+P2+C 这取决于具体要求设C为中心点,P1和P2为圆周点,切片角度小于Pi 180度 一种可能性: X=C+半径/2*单位向量P1+P2-2*C 另一个: X=1/3*P1+P2+C 它取决于具体的要求,在我看来,它是扇区的质心

我有一个由moveTo、lineTo、arc等组成的圆的切片,需要找到切片的中点

找到下图所示的点背后的数学是什么?
设C为中心点,P1和P2为圆周点,切片角度小于Pi 180度

一种可能性:

X=C+半径/2*单位向量P1+P2-2*C

另一个:

X=1/3*P1+P2+C


这取决于具体要求

设C为中心点,P1和P2为圆周点,切片角度小于Pi 180度

一种可能性:

X=C+半径/2*单位向量P1+P2-2*C

另一个:

X=1/3*P1+P2+C


它取决于具体的要求,在我看来,它是扇区的质心

它与x轴沿穿过质心的半径的坐标,原点位于中心

质心x=4/3rsinA/A

质心=0

其中“A”是弧在中心弧度处形成的角度,“r”是半径

编辑:

这是一种容易推导的公式。 任何形状的几何质心都是其所有点的平均加权平均值。 在物理学中,质心物体的质心是整个物体的质量可以集中的点。例如,物体可以在质心处的指针上平衡。有一些公式可以直接用于规则形状。对于不规则形状,通过积分计算

它的基本逻辑是将所有点的x坐标相加,然后除以点的总数,得到质心的x坐标,类似于y坐标。
由于形状上的点不是离散的,所以使用积分。

在我看来,它看起来是扇区的质心

它与x轴沿穿过质心的半径的坐标,原点位于中心

质心x=4/3rsinA/A

质心=0

其中“A”是弧在中心弧度处形成的角度,“r”是半径

编辑:

这是一种容易推导的公式。 任何形状的几何质心都是其所有点的平均加权平均值。 在物理学中,质心物体的质心是整个物体的质量可以集中的点。例如,物体可以在质心处的指针上平衡。有一些公式可以直接用于规则形状。对于不规则形状,通过积分计算

它的基本逻辑是将所有点的x坐标相加,然后除以点的总数,得到质心的x坐标,类似于y坐标。

由于形状上的点不是离散的,所以使用积分。

极坐标、半径的一半、导线的一半?我想这取决于你如何定义中点,但知道这一点似乎意味着你知道这个问题的答案…看起来超过了半径的一半。。同样,这取决于图像的准确度。图像不准确。我一直认为用一个例子来回答这类问题很有帮助。@Feeney绝对!一幅图像值数百个无文字的极坐标,一半的半径,一半的导线?我想这取决于你如何定义中点,但知道这一点似乎意味着你知道这个问题的答案…看起来超过了半径的一半。。同样,这取决于图像的准确度。图像不准确。我一直认为用一个例子来回答这类问题很有帮助。@Feeney绝对!一个图像值数百个字它的代码这是否使用三角形的中间点来计算质心?你能仔细分析一下吗?这样我能理解得更清楚一点。感谢如果形状可以完全划分为三角形,则可以使用中间点方法。因此,对于包含圆或其零件的形状,中间点法不能使用,尽管实际上可以通过选择大量小三角形来实现,如果A、B和C是一个角度的3个点,这是一个近似值。质心X=A.X+B.X+C.X/3;质心Y=A.Y+B.Y+C.Y/3;三角形中的所有点都需要用于积分/求和,而不仅仅是垂直点这对我来说现在起作用了://find middle of BigsegSelected sector//circleX&circleY是coOrds middle如果bigSeg==0{a=5*Math.PI/3;b=3*Math.PI/2;}如果bigSeg==1{a=11*Math.PI/6;b=5*Math.PI/3;}如果bigSeg==2{a=0;b=11*Math.PI/6;}var angle1X=512+dataSlider1[bigSeg].radius*Math.cosa;var angle1Y=330+dataSlider1[bigSeg].radius*Math.sina;var angle2X=512+dataSlider1[bigSeg].radius*Math.cosb;var angle2Y=330+dataSlider1[bigSeg].radius*Math.sinb;var circleX=512+angle1X+angle2X/3;var circleY=330+angle1Y+angle2Y/3;这是否使用三角形的中间点来计算质心?你能仔细分析一下吗?这样我能理解得更清楚一点。感谢如果形状可以完全划分为三角形,则可以使用中间点方法
D因此,对于包含圆或其零件的形状,中间点法不能使用,尽管实际上可以通过选择大量小三角形来实现,如果A、B和C是一个角度的3个点,这是一个近似值。质心X=A.X+B.X+C.X/3;质心Y=A.Y+B.Y+C.Y/3;三角形中的所有点都需要用于积分/求和,而不仅仅是垂直点这对我来说现在起作用了://find middle of BigsegSelected sector//circleX&circleY是coOrds middle如果bigSeg==0{a=5*Math.PI/3;b=3*Math.PI/2;}如果bigSeg==1{a=11*Math.PI/6;b=5*Math.PI/3;}如果bigSeg==2{a=0;b=11*Math.PI/6;}var angle1X=512+dataSlider1[bigSeg].radius*Math.cosa;var angle1Y=330+dataSlider1[bigSeg].radius*Math.sina;var angle2X=512+dataSlider1[bigSeg].radius*Math.cosb;var angle2Y=330+dataSlider1[bigSeg].radius*Math.sinb;var circleX=512+angle1X+angle2X/3;var circleY=330+angle1Y+angle2Y/3;你能检查一下这个吗?你能检查一下这个吗?