Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- # m2 = 70
- # r2 = 50
- # a2 = 150
- # x2 = -43.3
- # y2 = 25
- # z2 = 160
- # m3 = 40
- # r3 = 85
- # a3 = 80
- # x3 = 14.8
- # y3 = 83.7
- # z3 = 240
- # z4 = 320
- # z1 = 80
- # a = [] import math
- # Znach=[[m2,m3,r3]]
- # for i in range(3):
- # Znach.append(list(map(int, input().split())))
- # print(Znach)
- # Znach = [['x4', 'y4', 'm4', 'x1', 'y1', 'm1','e']]
- # e = 10000
- #
- # for x4 in range(-88, 88): # подбор от -88мм до 88мм с шагом 1мм
- # for y4 in range(-88, 88):
- # if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # 42 <= r4 <= 88
- # for x1 in range(-88, 88):
- # for y1 in range(-88, 88):
- # if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <= 88:
- # for m4 in range(40, 80, 10): # подбор массы от 40 до 70 с шагом 10
- # for m1 in range(40, 80, 10):
- # 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):
- # Znach.append(list(map(int, (x4, y4, m4, x1, y1, m1,e)))) # добавление строк, из подходящих значений, в матрицу
- # print(Znach)
- m2=50
- m3=60
- z2=160
- z3=240
- z4=320
- z1=400
- x2= 45.0534
- y2= 31.5467
- x3=-45.9619
- y3=45.9619
- # вычисление х4 у4 из 1 и 2 уравнений
- e=350000
- for x1 in range(-88,89):
- for y1 in range(-88,89): # подбор игриков от -88 до 88
- if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <= 88: # проверка для радиуса от 42 до 88
- for m1 in range(40,80,10): # подбор массы от 40 до 70 с шагом 10
- for m4 in range(40,80,10):
- if -88 <= (-m1*x1 - m2*x2 - m3*x3)/m4 <=88: # границы для х4 от -88 до 88
- x4=(-m1*x1 - m2*x2 - m3*x3)/m4 # выражаем х4 из первого уравнения
- if -88 <= (-m1*y1 - m2*y2 - m3*y3)/m4 <= 88: # проверка на границы у4 от -88 до 88
- y4= (-m1*y1 - m2*y2 - m3*y3)/m4 # выражаем y4 из второго уравнения
- if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # проверка r4 от 42 до 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: # третье и четвертое уравнение
- 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)
- # вычисление х4 у4 из третьего и 4 уравнений
- # count=0
- # e=5000
- # for x1 in range(-88,89):
- # for y1 in range(-88,89): # подбор игриков от -88 до 88
- # if 42 <= (math.sqrt(math.pow(x1, 2) + math.pow(y1, 2))) <= 88: # проверка для радиуса от 42 до 88
- # for m1 in range(40,80,10): # подбор массы от 40 до 70 с шагом 10
- # for m4 in range(40,80,10):
- # if -88 <= (-m1*x1*z1 - m2*x2*z2 - m3*x3*z3)/m4 <=88: # границы для х4 от -88 до 88
- # x4=(-m1*x1*z1 - m2*x2*z2 - m3*x3*z3)/m4 # выражаем х4 из третьего уравнения
- # if -88 <= (-m1*y1*z1 - m2*y2*z2 - m3*y3*z3)/m4 <= 88: # проверка на границы у4 от -88 до 88
- # y4= (-m1*y1*z1 - m2*y2*z2 - m3*y3*z3)/m4 # выражаем y4 из четвертого уравнения
- # if 42 <= (math.sqrt(math.pow(x4, 2) + math.pow(y4, 2))) <= 88: # проверка r4 от 42 до 88
- # if abs(m1 * x1 + m2 * x2 + m3 * x3 + m4 * x4)<=e and abs(m1 * y1+ m2 * y2 + m3 * y3 + m4 * y4 )<=e: # первое и второе уравнение
- # 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)
- #
Add Comment
Please, Sign In to add comment