Bài 18
Đề bài: Nhập tọa độ tam I(a,b,c) và ban kinh R của mặt cầu.
Viết phương trình mặt cầu.
Tính diện tích mặt cầu và thể tích.
Cho điểm M, kiểm tra M thuộc trong, trên hay ngoai mặt cầu.
Tính giao của mặt cầu với mặt phẳng z = k (la đường tròn).
Ví dụ: I(1,2,3), R = 5, M(4,6,3), k = 3
Kết quả:
PT mặt cầu: (x-1)^2 + (y-2)^2 + (z-3)^2 = 25
S = 4*pi*25 ≈ 314.16, V = 4*pi*125/3 ≈ 523.6
IM = 5 = R => M trên mặt cầu
Giao với z=3: (x-1)^2 + (y-2)^2 = 25 (đường tròn ban kinh 5)
Đă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
a = float(input("Toa do x cua tam I: "))
b = float(input("Toa do y cua tam I: "))
c = float(input("Toa do z cua tam I: "))
R = float(input("Ban kinh R: "))
x0 = float(input("Diem M - toa do x: "))
y0 = float(input("Diem M - toa do y: "))
z0 = float(input("Diem M - toa do z: "))
k = float(input("Mat phang z = k: "))
print(f"\nPT mat cau: (x-{a})^2 + (y-{b})^2 + (z-{c})^2 = {R**2}")
S = 4 * math.pi * R**2
V = 4 * math.pi * R**3 / 3
print(f"Dien tich mat cau: {round(S, 4)}")
print(f"The tich: {round(V, 4)}")
IM = math.sqrt((x0-a)**2 + (y0-b)**2 + (z0-c)**2)
print(f"\nIM = {round(IM,6)}, R = {R}")
if abs(IM - R) < 1e-9:
print("M nam TREN mat cau")
elif IM < R:
print("M nam TRONG mat cau")
else:
print("M nam NGOAI mat cau")
# Giao voi z = k
khoang_cach_z = abs(k - c)
if khoang_cach_z > R:
print(f"\nMat phang z={k} khong giao voi mat cau (khoang cach {khoang_cach_z} > R={R})")
elif khoang_cach_z == R:
print(f"\nMat phang z={k} tiep xuc mat cau tai (x={a}, y={b}, z={k})")
else:
r_giao = math.sqrt(R**2 - khoang_cach_z**2)
print(f"\nGiao voi z={k}: duong tron tam ({a},{b}), ban kinh {round(r_giao,4)}")