获得与三角形质心成90度角的顶点值

问题描述 投票:0回答:2

我有这个三角形:

enter image description here

我正在尝试在绿色圆圈中突出显示顶点值,以绘制该红色线。我可以使用任何公式来提取该值吗?

The centroid vertex G = (x=5.5, y=1.5)
The other vertex B = (x=0, y=1)
and the last vertex C = (x=7, y=0)

任何帮助将不胜感激。我知道这可能是五年级的数学,但我想不出一种计算这一点的方法。

math height vertex centroid
2个回答
0
投票

如果丢弃三角形的大部分,仅保留向量B-> G和向量B-> C,则此问题表明自己是“向量投影”问题。这些是使用2个向量的点积来解析地求解的,并在其他地方进行了详细记录。


0
投票

[花了我两天的时间来解决这个问题,基本上,您需要获取基本向量和海拔向量(质心)的斜率,然后求解此方程:两个向量(基本+海拔)的y = m * x + b。然后,您将获得2个不同的方程式,您需要使用这些方程式先获取x,然后将该值应用于第二个方程式以获取y。有关更多信息,请观看以下YouTube教程:https://www.youtube.com/watch?v=VuEbWkF5lcM

如果有人感兴趣,这是PHP(伪)中的解决方案:

    //slope of base
    $m1 = getSlope(baseVector);

    //slope of altitude (invert and divide it by 1)
    $m2 = 1/-$m1;

    //points
    $x1 = $baseVector->x;
    $y1 = $baseVector->y;

    //Centroid vertex
    $x2 = $center['x'];
    $y2 = $center['y'];

    //altitude equation: y = m * x + b
    //eq1: y1 = (m1 * x1) + b1 then find b1
    $b1 = -($m1 * $x1) + $y1;
    //equation: y = ($m1 * x) + $b1

    //eq2: y2 = (m2 * x2) + b2 then find b2
    $b2 = -($m2 * $x2) + $y2;
    //equation: y = ($m2 * x) + $b2;

    //substitute eq1 into eq2 and find x
    //merge the equations (move the Xs to the left side and numbers on the right side)
    $Xs = $m1 - $m2; //left side (number of Xs)
    $Bs = $b2 - $b1; //right side
    $x = $Bs / $Xs; //get x number
    $y = ($m2 * $x) + $b2; //get y number
© www.soinside.com 2019 - 2024. All rights reserved.