使用 3 组坐标的三角形面积
Area of triangle using 3 sets of coordinates
我正在做一个问题,我需要找到给定 3 组坐标的三角形面积
那么将数组转换为 (a1,b1) (a2,b2) (a3,b3) 中的对的逻辑是什么以及如何使用这些顶点求三角形面积
这是我的代码
def getTriangleArea(x, y):
///What will be the code
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
x_count = int(input().strip())
x = []
for _ in range(x_count):
x_item = int(input().strip())
x.append(x_item)
y_count = int(input().strip())
y = []
for _ in range(y_count):
y_item = int(input().strip())
y.append(y_item)
result = getTriangleArea(x, y)
fptr.write(str(result) + '\n')
fptr.close()
假设您的 3 个输入点的坐标为:
x1, y1
x2, y2
x3, y3
您可以使用勾股定理求出所有边的长度:
l1 = sqrt((x1 - x2)**2 + (y1 - y2)**2)
l2 = sqrt((x2 - x3)**2 + (y2 - y3)**2)
l3 = sqrt((x3 - x1)**2 + (y3 - y1)**2)
然后用 Heron 公式计算三角形的面积:
p = (l1 + l2 + l3)/2
area = sqrt(p * (p - l1) * (p - l2) * (p - l3))
三角形的面积,其中 (x1,y1)
是第一个坐标,(x2,y2)
是第二个坐标,(x3,y3)
是第三个坐标。
Area =1/2[x1(y2 - y3) + x2(y3 - y1) + x3(y1 - y2)]
x=[2,3,7]
y=[4,-6,8]
def get_area(x,y):
area=0.5*( (x[0]*(y[1]-y[2])) + (x[1]*(y[2]-y[0])) + (x[2]*(y[0]-y[1])) )
return int(area)
coords=list(zip(x,y))
print("Area of points {},{},{} is {}".format(*coords,get_area(x,y)))
输出
Area of points (2, 4),(3, -6),(7, 8) is 27.0
我正在做一个问题,我需要找到给定 3 组坐标的三角形面积
那么将数组转换为 (a1,b1) (a2,b2) (a3,b3) 中的对的逻辑是什么以及如何使用这些顶点求三角形面积
这是我的代码
def getTriangleArea(x, y):
///What will be the code
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
x_count = int(input().strip())
x = []
for _ in range(x_count):
x_item = int(input().strip())
x.append(x_item)
y_count = int(input().strip())
y = []
for _ in range(y_count):
y_item = int(input().strip())
y.append(y_item)
result = getTriangleArea(x, y)
fptr.write(str(result) + '\n')
fptr.close()
假设您的 3 个输入点的坐标为:
x1, y1
x2, y2
x3, y3
您可以使用勾股定理求出所有边的长度:
l1 = sqrt((x1 - x2)**2 + (y1 - y2)**2)
l2 = sqrt((x2 - x3)**2 + (y2 - y3)**2)
l3 = sqrt((x3 - x1)**2 + (y3 - y1)**2)
然后用 Heron 公式计算三角形的面积:
p = (l1 + l2 + l3)/2
area = sqrt(p * (p - l1) * (p - l2) * (p - l3))
三角形的面积,其中 (x1,y1)
是第一个坐标,(x2,y2)
是第二个坐标,(x3,y3)
是第三个坐标。
Area =1/2[x1(y2 - y3) + x2(y3 - y1) + x3(y1 - y2)]
x=[2,3,7]
y=[4,-6,8]
def get_area(x,y):
area=0.5*( (x[0]*(y[1]-y[2])) + (x[1]*(y[2]-y[0])) + (x[2]*(y[0]-y[1])) )
return int(area)
coords=list(zip(x,y))
print("Area of points {},{},{} is {}".format(*coords,get_area(x,y)))
输出
Area of points (2, 4),(3, -6),(7, 8) is 27.0