import tkinter as tk
class Form(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.master = root
self.build()
def build(self):
self.canv = tk.Canvas(self, width = 640, height=480)
self.canv.pack()
self._draw()
def _draw(self):
s_x = 10; s_y = 370;
r = 5
for itrtn in range(30):
self.canv.create_oval(s_x - r, s_y - r, s_x + r, s_y + r, outline="blue", width=2)
s_x += 10; s_y -= 5; r += 5;
if __name__ == '__main__':
root = tk.Tk()
root.title('test')
root.geometry('640x480')
form = Form(root)
form.pack()
root.mainloop()
Объяснение:
Рисует примерно то же самое. Логика отрисовки кругов описана в методе Form._draw. Координаты рисования эллипса для метода tkinter.Canvas.create_oval задаются по такой логике: Верхний левый угол (х, у), нижний правый угол (х, у) прямоугольника, в который помещён эллипс
/** libraries */
#include <iostream>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <algorithm>
/** libraries */
using namespace std;
/** defines */
#define ll long long
#define ld long double
#define yes cout << "YES" << "\n"
#define no cout << "NO" << "\n"
/** defines */
ld func1(ld x, ld y, ld z){
return 5 * atan(x) - (1/4) * acos(x) * ((x + 3 * abs(x-y) + pow(x,2))/(abs(x-y) * z + pow(x,2)));
}
ld func2(ld x, ld y, ld z){
return (pow(M_E,abs(x-y)) * pow(abs(x-y),x+y))/(atan(x)+atan(z)) + pow(pow(x,6) + pow(log(y),2),(1/3));
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
ld x,y,z;
cin >> x >> y >> z;
cout << func1(x,y,z) << "\n" << func2(x,y,z);
}
P.S если я где-то косякнул по невнимательности, то пишите, исправим