statheist

Untitled

Apr 19th, 2022 (edited)
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.38 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=80
  46. x2= 45.0534
  47. y2= 31.5467
  48. x3=-45.9619
  49. y3=45.9619
  50. # вычисление х4 у4 из 1 и 2 уравнений
  51. # e=350000
  52. # for x1 in range(-88,89):
  53. #     for y1 in range(-88,89): # подбор игриков от -88 до 88
  54. #         if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <= 88: # проверка для радиуса от 42 до 88
  55. #             for m1 in range(40,80,10): # подбор массы от 40 до 70 с шагом 10
  56. #                 for m4 in range(40,80,10):
  57. #                     if -88 <= (-m1*x1 - m2*x2 - m3*x3)/m4 <=88: # границы для х4 от -88 до 88
  58. #                         x4=(-m1*x1 - m2*x2 - m3*x3)/m4 # выражаем х4 из первого уравнения
  59. #                         if -88 <= (-m1*y1 - m2*y2 - m3*y3)/m4 <= 88: # проверка на границы у4 от -88 до 88
  60. #                             y4= (-m1*y1 - m2*y2 - m3*y3)/m4 # выражаем y4 из второго уравнения
  61. #                             if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # проверка r4 от 42 до 88
  62. #                                 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: # третье и четвертое уравнение
  63. #                                     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)
  64.  
  65.  
  66. # вычисление х4 у4 из 1 и 2 уравнений
  67. # e=10000
  68. # for x1 in range(-88,89):
  69. #     print(end='\n\n')
  70. #     print(x1)
  71. #     for y1 in range(-88,89): # подбор игриков от -88 до 88
  72. #         print(x1, y1, "r1=",math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) #-----
  73. #         if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <=88:
  74. #             print('r1 proshel',math.sqrt(math.pow(x1, 2) + math.pow(y1, 2)))
  75. #             for m1 in range(40,80,10): # подбор массы от 40 до 70 с шагом 10
  76. #                 for m4 in range(40,80,10):
  77. #                     print('x4',(-m1*x1 - m2*x2 - m3*x3)/m4, 'm1=',m1,'m4=',m4)
  78. #                     x4 = (-m1 * x1 - m2 * x2 - m3 * x3) / m4  # выражаем х4 из 1 уравнения
  79. #                     if -88 <= x4 <= 88: # границы для х4 от -88 до 88
  80. #                         print('proverka x4 proshla',)
  81. #                         print('y4',(-m1*y1 - m2*y2 - m3*y3)/m4)
  82. #                         y4 = (-m1 * y1 - m2 * y2 - m3 * y3) / m4  # выражаем y4 из 2 уравнения
  83. #                         if -88 <= y4 <= 88: # проверка на границы у4 от -88 до 88
  84. #                             print('proverka y4 proshla')
  85. #                             print('r2',math.sqrt(math.pow(x4, 2) + math.pow(y4, 2)))
  86. #                             if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # проверка r4 от 42 до 88
  87. #                                 print('r2 proshel', 'eps3=',(m1 * x1*z1  + m2 * x2*z2  + m3 * x3*z3  + m4 * x4*z4), 'eps4=',(m1 * y1*z1 + m2 * y2*z2  + m3 * y3*z3  + m4 * y4*z4))
  88. #                                 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: # 3 и 4 уравнение
  89. #                                     print('URA',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)
  90. #
  91.  
  92. # вычисление x41 и y41 из 1 и 2 уравнений и сравнение их с x42 и y42, выраженных из 3 и 4 уравнений.
  93. e=10000
  94. for x1 in range(-88,89):
  95.     print(end='\n\n')
  96.     print(x1)
  97.     for y1 in range(-88,89): # подбор игриков от -88 до 88
  98.         print(x1, y1, "r1=",math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) #-----
  99.         if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <=88:
  100.             print('r1 proshel',math.sqrt(math.pow(x1, 2) + math.pow(y1, 2)))
  101.             for m1 in range(40,80,10): # подбор массы от 40 до 70 с шагом 10
  102.                 for m4 in range(40,80,10):
  103.                     print('x4',(-m1*x1*z1 - m2*x2*z2 - m3*x3)/(m4*z4),(-m1 * x1 - m2 * x2 - m3 * x3) / m4, 'm1=',m1,'m4=',m4)
  104.  
  105.                     x4= (-m1 * x1*z1 - m2 * x2*z2 - m3 * x3*z3) / (m4*z4) #выражаем х4 из 3 уравнения
  106.                     if -88 <= x4 <= 88 : # границы для х4 от -88 до 88
  107.                         print('proverka x4 proshla',)
  108.                         print('y4',(-m1*y1*z1 - m2*y2*z2 - m3*y3*z3)/(m4*z4))
  109.                         y4 = (-m1 * y1*z1 - m2 * y2*z2 - m3 * y3*z3) / (m4*z4)  # выражаем y4 из 2 уравнения
  110.                         if -88 <= y4 <= 88: # проверка на границы у4 от -88 до 88
  111.                             print('proverka y4 proshla')
  112.                             print('r2',math.sqrt(math.pow(x4, 2) + math.pow(y4, 2)))
  113.                             if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # проверка r4 от 42 до 88
  114.                                 print('r2 proshel', 'eps3=',(m1 * x1*z1  + m2 * x2*z2  + m3 * x3*z3  + m4 * x4*z4), 'eps4=',(m1 * y1*z1 + m2 * y2*z2  + m3 * y3*z3  + m4 * y4*z4))
  115.                                 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: # 3 и 4 уравнение
  116.                                     print('URA',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)
  117.  
Add Comment
Please, Sign In to add comment