给定3个三角形点/顶点,这是计算三角形面积的正确方法吗?顶点永远不会为负值。
def triangle_area(tri):
x1, y1, x2, y2, x3, y3 = tri[0][0], tri[0][1], tri[1][0], tri[1][1], tri[2][0], tri[2][1]
return 0.5 * (((x2-x1)*(y3-y1))-((x3-x1)*(y2-y1)))
最佳答案
有必要在此公式中添加abs
以避免出现负面积值(符号取决于方向,而不取决于正/负坐标)
是的,该公式是正确的,并且如果您具有顶点坐标,它可以实现最佳方法。它基于cross product属性。
def triangle_area(tri):
x1, y1, x2, y2, x3, y3 = tri[0][0], tri[0][1], tri[1][0], tri[1][1], tri[2][0], tri[2][1]
return abs(0.5 * (((x2-x1)*(y3-y1))-((x3-x1)*(y2-y1))))
关于python - 从3个顶点计算三角形面积的正确方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55601927/