สมมติว่าเรามีโคไซน์สามทิศทาง l, m และ n ในปริภูมิสามมิติ เราต้องตรวจสอบว่าเป็นไปได้ที่จะวาดเส้นตรงด้วยโคไซน์ทิศทางเหล่านี้หรือไม่
ดังนั้น หากอินพุตเป็น l =0.42426 m =0.56568 n =0.7071 ผลลัพธ์จะเป็น True เนื่องจากเป็นทิศทางโคไซน์ของเวกเตอร์ {3, 4, 5}
เพื่อแก้ปัญหานี้ เราจะทำตามกฎบางอย่างเป็น
- l =cos(a) โดยที่ a คือมุมระหว่างเส้นตรงกับแกน x
- m =cos(b) โดยที่ b คือมุมระหว่างเส้นตรงกับแกน y
- n =cos(c) โดยที่ c คือมุมระหว่างเส้นตรงกับแกน z
- l^2 + m^2 + n^2 =1
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- มุม :=l * l + m * m + n * n
- มุม :=รอบของค่ามุมสูงสุด 8 ตำแหน่งทศนิยม
- ถ้า |1 - มุม| <0.0001 แล้ว
- คืนค่า True
- คืนค่าเท็จ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(l, m, n) : angle = l * l + m * m + n * n angle = round(angle, 8) if abs(1 - angle) < 0.0001: return True return False l = 0.42426 m = 0.56568 n = 0.7071 print (solve(l, m, n))
อินพุต
0.42426, 0.56568, 0.7071
ผลลัพธ์
True