问题
一直空间散点坐标值,计算三点组成三角形的面积。
方法1
利用矩阵来计算
这里是否需要加绝对值?
import numpy as np
def area(p):
p1, p2, p3 = p
a = [[1, 1, 1],
[p2[0] - p1[0], p2[1] - p1[1], p2[2] - p1[2]],
[p3[0] - p1[0], p3[1] - p1[1], p3[2] - p1[2]]]
s = 0.5 * np.linalg.det(a)
return s
方法2
利用海伦公式
def heron(p):
p1, p2, p3 = p
a = ((p1[0]-p2[0])**2+((p1[1]-p2[1]))**2+((p1[2]-p2[2]))**2)**0.5
b = ((p1[0]-p3[0])**2+((p1[1]-p3[1]))**2+((p1[2]-p3[2]))**2)**0.5
c = ((p2[0]-p3[0])**2+((p2[1]-p3[1]))**2+((p2[2]-p3[2]))**2)**0.5
l = (a+b+c)/2
s = (l*(l-a)*(l-b)*(l-c))**0.5
return s