import math
from tkinter import *
import random
root=Tk()
root.geometry('1100x800')
canvas=Canvas(root,width=1250,height=800,bg="Black")
canvas.pack()
def fx(x):
return (x+500)
def fy(y):
return (300-y)
pi=math.pi
canvas.create_line(fx(-330),fy(0),fx(300),fy(0),fill="red")
canvas.create_line(fx(0),fy(-300),fx(0),fy(300),fill="red")
a=0.005
canvas.create_line(fx(x),fy(y),fx(x0),fy(y0),fill="red")
xL=-300;xR=300
x=xL
while x<xR:
y=a*x**2
canvas.create_oval(fx(x),fy(y),fx(x),fy(y),outline="yellow",fill="yellow")
x=x+0.5
xk=50;yk=a*xk**2
x0=0;y0=-a*xk**2
canvas.create_oval(fx(xk-3),fy(yk-3),fx(xk+3),fy(yk+3),outline="cyan",fill="cyan")
r=xk*(1+4*a**2*xk**2)**0.5
canvas.create_oval(fx(x0-r),fy(y0-r),fx(x0+r),fy(y0+r),outline="blue")
x=200;y=2*a*xk*x-a*xk**2
canvas.create_line(fx(x0),fy(-a*xk**2),fx(x),fy(y),fill="cyan")
m=1.8; xkm=1.5*xk;ykm=a*xkm**2
while m<4.5:
xk1=m*xk;yk1=a*xk1**2
x0=0;y0=-a*xk1**2
canvas.create_oval(fx(xk1-3),fy(yk1-3),fx(xk1+3),fy(yk1+3),outline="cyan",fill="cyan")
r=xk1*(1+4*a**2*xk1**2)**0.5
canvas.create_oval(fx(x0-r),fy(y0-r),fx(x0+r),fy(y0+r),outline="blue")
x=xk*(m+1)/2;y=2*a*xk*x+(-a*xk**2)
canvas.create_oval(fx(x-3),fy(y-3),fx(x+3),fy(y+3),outline="yellow",fill="yellow")
canvas.create_line(fx(x0),fy(-a*xk1**2),fx(xk1),fy(yk1),fill="red")
xk1=m*xkm;yk1=a*xk1**2
x0=0;y0=-a*xk1**2
canvas.create_oval(fx(xk1-3),fy(yk1-3),fx(xk1+3),fy(yk1+3),outline="green",fill="green")
r=xk1*(1+4*a**2*xk1**2)**0.5
x=xkm*(m+1)/2;y=2*a*xkm*x+(-a*xkm**2)
canvas.create_oval(fx(x-3),fy(y-3),fx(x+3),fy(y+3),outline="yellow",fill="yellow")
m=m+0.3
1 минута
7 февраля 2024