Есть способ сделать это, используя sin, cos и tan.(Я еще не смог протестировать этот код, он может не работать.)
Import math
Import pyautogui
def circle(radius = 5, accuracy = 360, xpos=0, ypos=0, speed = 5):
local y
local x
local angle
angle = 360/accuracy
local CurAngle
CurAngle = 0
x = []
y = []
sped = speed/accuracy
for i in range(accuracy):
x.append(xpos + radius*math.sin(math.radians(CurAngle)))
y.append(ypos + radius*math.cos(math.radians(CurAngle)))
CurAngle += angle
for i in len(x):
pyautogui.moveTo(x[i], y[i], duration = sped)
Вы помещаете это в верхнюю часть вашего скрипта и передаете аргументы, подобные этому:
circle (radius, точность, xpos, ypos, скорость)
Радиус контролирует ширину круга
Точность контролирует, сколько равноудаленных точек, на которые должен быть разбит круг, установка точности на 4 приведет к созданию 4 невидимых точек вдолькруг, по которому мышь перемещается, образует квадрат, а не круг, 5 образует пятиугольник, 6 - шестиугольник и т. д. Чем больше радиус, тем больше точность, которую вы хотите
Xpos контролирует положение xгде центр центрирован
Ypos контролирует положение y, где центр центрирован
Скорость контролирует, сколько секунд вы хотите, чтобы нарисовать круг.Надеюсь, это поможет :) Не могли бы вы уточнить, что вы хотите, когда вы говорите «кривые»