我有三角形的中点,也没有其他顶点信息那么我如何用中点公式计算三角形的高度?
抱歉我编辑它。虽然这是数学问题,但我正在制作计算机程序。我有顶点信息这在程序执行中丢失所以我只保留midpoint.So在程序流程中我只有中点信息。所以如何我会计算三角形的高度,如果我有三角形顶点,如(-0.5,0),(0.5,0),(0.0,1)。答案 0 :(得分:1)
如果你确实有三个顶点,那么“高度”仍然没有很好地定义。三个顶点中的每一个都具有距相应的相对侧的“高度”。一般来说,这些并不相同。
要从对方(a,b)获取给定顶点c
的距离,请使用交叉乘积:
定义
a = (ax, ay)
b = (bx, by)
c = (cx, cy)
计算:
bMinusA == b-a == (bMinusAx, bMinusAy)
= (bx - ax, by - ay)
cMinusA == c-a == (cMinusAx, cMinusAy)
= (cx - ax, cy - ay)
计算:
bMinusCcrossCMinusA == |(b-a)^(c-a)|
= abs(bMinusAx* cMinusAy - bMinusAy*cMinusAx)
然后:
heightCfromAB = bMinusCcrossCMinusA/ length(bMinusA)
= bMinusCrosscMinusA/ sqrt( bMinusAx*bMinusAx+ bMinusAy* bMinusAy)
请注意,如果您置换顶点,则对于交叉积(条形符号)总是相同,因为它是三角形面积的两倍。
然后高度与对方的长度成反比。
所以,如果你愿意,你可以通过找到最短的一面并使用它来找到最大的高度。
更正:交叉产品的原始表达式有拼写错误。校正。