Bài 20
Đề bài: Nhập tọa độ 4 đỉnh A, B, C, D trong không gian.
Kiểm tra ABCD có phải hinh binh hanh không.
Kiểm tra 4 điểm có dong phang không.
Ví dụ: A(0,0,0), B(1,0,0), C(1,1,0), D(0,1,0)
Kết quả:
AB = (1,0,0), DC = (1,0,0) => AB = DC => LA hinh binh hanh
4 điểm dong phang (z = 0 cho tat ca)
Đăng nhập để giáo viên có thể giao bài và nhận bài nộp của bạn.
Câu trả lời
import math
ax,ay,az = map(float, input("A (x y z): ").split())
bx,by,bz = map(float, input("B (x y z): ").split())
cx,cy,cz = map(float, input("C (x y z): ").split())
dx,dy,dz = map(float, input("D (x y z): ").split())
AB = (bx-ax, by-ay, bz-az)
DC = (cx-dx, cy-dy, cz-dz)
AD = (dx-ax, dy-ay, dz-az)
BC = (cx-bx, cy-by, cz-bz)
la_bbh = (round(AB[0],6)==round(DC[0],6) and
round(AB[1],6)==round(DC[1],6) and
round(AB[2],6)==round(DC[2],6))
print(f"AB = {AB}, DC = {DC}")
print(f"ABCD {'LA' if la_bbh else 'KHONG LA'} hinh binh hanh")
# Kiem tra dong phang: AD x AB sau do dot voi AC
AC = (cx-ax, cy-ay, cz-az)
n = (AB[1]*AD[2]-AB[2]*AD[1], AB[2]*AD[0]-AB[0]*AD[2], AB[0]*AD[1]-AB[1]*AD[0])
the_tich = abs(n[0]*AC[0] + n[1]*AC[1] + n[2]*AC[2])
print(f"The tich tu dien = {round(the_tich, 6)}")
print(f"4 diem {'DONG PHANG' if the_tich < 1e-9 else 'KHONG dong phang'}")