Math 我如何从每个顶点的一条平行线创建的六个截面中的三个截面的面积中求出三角形的总面积?

Math 我如何从每个顶点的一条平行线创建的六个截面中的三个截面的面积中求出三角形的总面积?,math,geometry,Math,Geometry,在这个三角形中: 给定三角形UPZ ZPW和WPY的面积,如何计算总面积 我已经从网站上的提交资料中找到了解决方案。但我想知道如何推导出这个解 cin >> a >> b >> c; // a is UPZ, b is ZPW, c is WPY double n = b*(a+b)*(a+b+c); double d = b*(a+b)-(a*c); cout << (n / d) ; cin>>a

在这个三角形中:

给定三角形UPZ ZPW和WPY的面积,如何计算总面积

我已经从网站上的提交资料中找到了解决方案。但我想知道如何推导出这个解

    cin >> a >> b >> c;
    // a is UPZ, b is ZPW, c is WPY

    double n = b*(a+b)*(a+b+c);
    double d = b*(a+b)-(a*c);

    cout << (n / d) ;
cin>>a>>b>>c;
//a是UPZ,b是ZPW,c是WPY
双n=b*(a+b)*(a+b+c);
双d=b*(a+b)-(a*c);

的确,这个问题有点离题,它是一个几何问题。求大三角形UVW面积的方法是应用面积之间的联系和三角形UYW线段长度的比率,然后应用Menelaus定理导出比率 WY/WV,显示三角形UYW和UVW面积之间的比率

h_p
为从点p到边UW的高度长度。然后

a = UZ * h_p / 2   and   b = ZW * h_p / 2
因此:

a / b = (UZ * h_p / 2) / (ZW * h_p / 2) = UZ / ZW 
c / (a + b) = (YP * h_W / 2) / (PU * h_W / 2) = YP / PU
h_W
为从点W到线UY的高度长度

a + b = Area(WPU) = PU * h_W / 2   and   c = YP * h_w / 2
因此:

a / b = (UZ * h_p / 2) / (ZW * h_p / 2) = UZ / ZW 
c / (a + b) = (YP * h_W / 2) / (PU * h_W / 2) = YP / PU
根据Menelaus关于三角形UWY和直线VZ的定理,p在VZ上,我们得到:

1 = ( VW / VY ) * ( YP / PU ) * ( UZ / ZW ) = ( VW / WY ) * (c / (a + b)) * (a / b)
so  
VY / VW = (c * a) / ( b * (a + b))
因此:

WY / VW = 1 - (VY / VW) = 1 - (c*a) / ( b*(a + b)) = (a*b + b^2 - a*c ) / (a*b + b^2)
h_
为从点U到边缘VW的高度长度。然后

Area(UVW) =  VW * h_U / 2
and
Area(UYW) = a + b + c = WY * h_U / 2 
因此

Area(UVW) / Area(UYW) = Area(UVW) / (a + b + c) = (VW * h_U / 2) / (WY * h_U / 2) = VW / WY
所以

最后,我们得到以下公式:

Area(UVW) = (a + b + c) * (a*b + b^2) / (a*b + b^2 - a*c)
Area(UVW) = b * (a + b) * (a + b + c) / (b*(a + b) - a*c)

我投票结束这个问题,因为这是一个数学问题,而不是计算机编程问题。