Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าเป็นไปได้หรือไม่ที่จะวาดเส้นตรงด้วยทิศทางโคไซน์ที่กำหนดในPython


สมมติว่าเรามีโคไซน์สามทิศทาง 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