statheist

rotor

Apr 16th, 2022 (edited)
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.57 KB | None | 0 0
  1. import math
  2.  
  3. # m2 = 70
  4. # r2 = 50
  5. # a2 = 150
  6. # x2 = -43.3
  7. # y2 = 25
  8. # z2 = 160
  9. # m3 = 40
  10. # r3 = 85
  11. # a3 = 80
  12. # x3 = 14.8
  13. # y3 = 83.7
  14. # z3 = 240
  15. # z4 = 320
  16. # z1 = 80
  17.  
  18.  
  19. # a = [] import math
  20. # Znach=[[m2,m3,r3]]
  21. # for i in range(3):
  22. #     Znach.append(list(map(int, input().split())))
  23. # print(Znach)
  24.  
  25. # Znach = [['x4', 'y4', 'm4', 'x1', 'y1', 'm1','e']]
  26. # e = 10000
  27. #
  28. # for x4 in range(-88, 88):  # подбор  от -88мм до 88мм с шагом 1мм
  29. #     for y4 in range(-88, 88):
  30. #         if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88:  # 42 <= r4 <= 88
  31. #             for x1 in range(-88, 88):
  32. #                 for y1 in range(-88, 88):
  33. #                     if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <= 88:
  34. #                         for m4 in range(40, 80, 10):  # подбор массы от 40 до 70 с шагом 10
  35. #                             for m1 in range(40, 80, 10):
  36. #                                 if (abs(m1*x1 + m2*x2 + m3*x3 + m4*x4)<=e) and (abs(m1*y1 + m2*y2 + m3*y3 + m4*y4)<=e) and (abs(m1*x1*z1 + m2*x2*z2 + m3*x3*z3 + m4*x4*z4)<=e) and (abs(m1*y1*z1 + m2*y2*z2 + m3*y3*z3 + m4*y4*z4)<=e):
  37. #                                     Znach.append(list(map(int, (x4, y4, m4, x1, y1, m1,e)))) # добавление строк, из подходящих значений, в матрицу
  38. #                                     print(Znach)
  39.  
  40. m2=50
  41. m3=60
  42. z2=160
  43. z3=240
  44. z4=320
  45. z1=400
  46. x2= 45.0534
  47. y2= 31.5467
  48. x3=-45.9619
  49. y3=45.9619
  50.  
  51. # вычисление х4 у4 из 1 и 2 уравнений
  52. e=350000
  53. for x1 in range(-88,89):
  54.     for y1 in range(-88,89): # подбор игриков от -88 до 88
  55.         if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <= 88: # проверка для радиуса от 42 до 88
  56.             for m1 in range(40,80,10): # подбор массы от 40 до 70 с шагом 10
  57.                 for m4 in range(40,80,10):
  58.                     if -88 <= (-m1*x1 - m2*x2 - m3*x3)/m4 <=88: # границы для х4 от -88 до 88
  59.                         x4=(-m1*x1 - m2*x2 - m3*x3)/m4 # выражаем х4 из первого уравнения
  60.                         if -88 <= (-m1*y1 - m2*y2 - m3*y3)/m4 <= 88: # проверка на границы у4 от -88 до 88
  61.                             y4= (-m1*y1 - m2*y2 - m3*y3)/m4 # выражаем y4 из второго уравнения
  62.                             if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # проверка r4 от 42 до 88
  63.                                 if abs(m1 * x1 * z1 + m2 * x2 * z2 + m3 * x3 * z3 + m4 * x4 * z4)<=e and abs(m1 * y1 * z1 + m2 * y2 * z2 + m3 * y3 * z3 + m4 * y4 * z4)<=e: # третье и четвертое уравнение
  64.                                     print(x1,y1,m1,x4,y4,m4,m1 * x1 + m2 * x2 + m3 * x3 + m4 * x4,m1 * y1 + m2 * y2 + m3 * y3 + m4 * y4,m1 * x1 * z1 + m2 * x2 * z2 + m3 * x3 * z3 + m4 * x4 * z4,m1 * y1 * z1 + m2 * y2 * z2 + m3 * y3 * z3 + m4 * y4 * z4)
  65.  
  66.  
  67. # вычисление х4 у4 из третьего и 4 уравнений
  68. # count=0
  69. # e=5000
  70. # for x1 in range(-88,89):
  71. #     for y1 in range(-88,89): # подбор игриков от -88 до 88
  72. #         if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <= 88: # проверка для радиуса от 42 до 88
  73. #             for m1 in range(40,80,10): # подбор массы от 40 до 70 с шагом 10
  74. #                 for m4 in range(40,80,10):
  75. #                     if -88 <= (-m1*x1*z1 - m2*x2*z2 - m3*x3*z3)/m4 <=88: # границы для х4 от -88 до 88
  76. #                         x4=(-m1*x1*z1 - m2*x2*z2 - m3*x3*z3)/m4 # выражаем х4 из третьего уравнения
  77. #                         if -88 <= (-m1*y1*z1 - m2*y2*z2 - m3*y3*z3)/m4 <= 88: # проверка на границы у4 от -88 до 88
  78. #                             y4= (-m1*y1*z1 - m2*y2*z2 - m3*y3*z3)/m4 # выражаем y4 из четвертого уравнения
  79. #                             if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # проверка r4 от 42 до 88
  80. #                                 if abs(m1 * x1  + m2 * x2  + m3 * x3  + m4 * x4)<=e and abs(m1 * y1+ m2 * y2  + m3 * y3  + m4 * y4 )<=e: # первое и второе уравнение
  81. #                                     print(x1,y1,m1,x4,y4,m4,m1 * x1 + m2 * x2 + m3 * x3 + m4 * x4,m1 * y1 + m2 * y2 + m3 * y3 + m4 * y4,m1 * x1 * z1 + m2 * x2 * z2 + m3 * x3 * z3 + m4 * x4 * z4,m1 * y1 * z1 + m2 * y2 * z2 + m3 * y3 * z3 + m4 * y4 * z4)
  82. #
  83.  
  84.  
Add Comment
Please, Sign In to add comment