Форум сайта python.su
Отредактировано MutantGreen (Дек. 8, 2021 09:38:44)
Офлайн
Вот файл программы прошу помогите мне
Прикреплённый файлы:
mait2.py (1,9 KБ)
Офлайн
MutantGreenТут надо преобразовать все эти строки по такому принципу
Вот файл программы прошу помогите мне... length = input ("Введите длину рычага") # Длина рычага G = input ("Введите силу притяжения") # Сила притяжения mass = input ("Введите массу тела") # Масса тела angle = input ("Введите начальный угол") # Устанавливаем начальный угол angle_velocity = input ("Введите ускорение") # Ускорение ...
length = float(input("Введите длину рычага")) # Длина рычага
import graphics as gr
import math as m
SIZE_X = 800
SIZE_Y = 800
window = gr.GraphWin("Mayatnik", SIZE_X, SIZE_Y)
length = float(input("Введите длину рычага: ")) # Длина рычага
G = float(input("Введите силу притяжения: ")) # Сила притяжения
mass = float(input("Введите массу тела: ")) # Масса тела
angle = float(input("Введите начальный угол: ")) # Устанавливаем начальный угол
angle_velocity = float(input("Введите ускорение: ")) # Ускорение
angle_acceleration = 0
center_point = gr.Point(SIZE_X / 2, SIZE_Y / 2) # Центр холста
coords = gr.Point(200, 200)
# Фон
rectangle = gr.Rectangle(gr.Point(0, 0), gr.Point(SIZE_X, SIZE_Y))
rectangle.setFill('white')
rectangle.draw(window)
# Рисуем центр
center = gr.Circle(center_point, 20)
center.setFill('black')
center.draw(window)
# Рисуем шар
ball = gr.Circle(gr.Point(coords.x, coords.y), mass * 5)
ball.setFill('grey')
ball.draw(window)
def update_coords(coords):
new_point = gr.Point(center_point.x + length * m.sin(angle),
center_point.y + length * m.cos(angle))
velocity = gr.Point(new_point.x - coords.x,
new_point.y - coords.y)
return velocity
def get_angle(angle, angle_acceleration, angle_velocity):
angle_acceleration = -G * m.sin(angle)
angle += angle_velocity
angle_velocity += angle_acceleration
angle_velocity *= 0.99
return angle, angle_acceleration, angle_velocity
while True:
angle, angle_acceleration, angle_velocity = get_angle(
angle, angle_acceleration, angle_velocity)
velocity = update_coords(ball.getCenter())
ball.move(velocity.x, velocity.y)
line = gr.Line(center_point, ball.getCenter())
line.draw(window)
gr.time.sleep(0.03)
line.undraw()
if window.checkMouse():
break
window.close()
Отредактировано py.user.next (Дек. 8, 2021 22:01:21)
Офлайн