Помогите пожалуйста! Учучь на вышке, задали такую практическую :

“”“На канве фигура высотой 300 пикселей. В левой верхней точке фигуры находится центр окружности диаметром 40 пикселей.
При запуске окружность начинает двигаться так, чтобы ее центр находился все время на фигуре.
Скорость движения - 60 пикселей/сек. При достижении нижней конечной точки окружность возвращается в начало и продолжает движение.
Запуск и остановка программы – главное меню формы.”“”

Фигуру я сама нарисовала, а вот как двигать не пойму. Только недавно питон начала учить, смертно прошу помощи, если ещё и объясните буду очень благодарна.

# Контрольная работа студентки группы 20-ЗИЭ Трофимовой Т.Д.
# Дисциплина - Высокоуровневые технологии программирования
# Вариант № 2-26.
# Контрольная работа №2. Задача №5.

“”“На канве фигура высотой 300 пикселей. В левой верхней точке фигуры находится центр окружности диаметром 40 пикселей.
При запуске окружность начинает двигаться так, чтобы ее центр находился все время на фигуре.
Скорость движения - 60 пикселей/сек. При достижении нижней конечной точки окружность возвращается в начало и продолжает движение.
Запуск и остановка программы – главное меню формы.”“”

# Начальные координаты для построения интерфейса
from tkinter import *
from PIL import Image, ImageTk
import time

SX = 0
SY = 0

# Создает контейнер Canvas
def elementСanvas():
global elСanvas
SX = 5
SY = 5
elСanvas = Canvas(width=300, height=300, bg=“white”)
elСanvas.place(x=SX, y=SY)
oval = elСanvas.create_oval(SX+40, SY+10, SX+10, SY+40, width=3, )
elСanvas.move(oval, SX+22, SY+11)
line1 = elСanvas.create_line(SX+50, SY+40, SX+250, SY+40, width=3)
line2 = elСanvas.create_line(SX+250, SY+40, SX+50, SY+140, width=3)
line3 = elСanvas.create_line(SX+50, SY+142, SX+250, SY+142, width=3)
line4 = elСanvas.create_line(SX+250, SY+142, SX+50, SY+242, width=3)

# Создает меню
def menuWindow():

info_menu = Menu(mainMenu, tearoff=0)
mainMenu.add_cascade(label='Меню', menu=info_menu)
info_menu.add_command(label='Запустить',
compound='left')
info_menu.add_command(label='Остановить',
compound='left')



# Создает интерфейс программы
def mainWindowProgram():

menuWindow()
elementСanvas()


# Задает параметры окна программы
def application():

global root, mainMenu

root = Tk()
mainMenu = Menu(root)
root.title(“20-ЗИЭ КР №2. Задание №5. Вариант 2-10. Трофимова Татьяна Дмитриевна”)
root.geometry(“300x300”)
root.resizable(0, 0)
root.config(menu=mainMenu)
mainWindowProgram()
root.mainloop()


application()