五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

python下的自瞄算法鼠標移動算法

2023-08-22 02:35 作者:idadc  | 我要投稿

前提背景:已經(jīng)計算出目的坐標,已有移動鼠標的函數(shù),那么如何模擬手動移動呢

(此處我的移動函數(shù)為dd_dll.DD_movR)

第一種bezier移動

特點:坐標是隨機的,移動軌跡往往不定,但是由于每次移動的到目的坐標移動的點數(shù)是固定的,這時候還是容易被判斷為機器,也可每次運行時添加步數(shù)為隨機數(shù)


參考python代碼:

def sleep_exact(seconds):
? ?start_time = time.perf_counter()
? ?while time.perf_counter() - start_time < seconds:
? ? ? ?pass
class Point:
? ?def __init__(self, x, y):
? ? ? ?self.x = x
? ? ? ?self.y = y

def combination(n, k):
? ?if k == 0 or k == n:
? ? ? ?return 1.0
? ?elif k == 1:
? ? ? ?return float(n)
? ?else:
? ? ? ?result = 1.0
? ? ? ?for i in range(1, k+1):
? ? ? ? ? ?result *= float(n - i + 1) / i
? ? ? ?return result

def bezier(pts, t):
? ?n = len(pts) - 1
? ?x = 0.0
? ?y = 0.0
? ?for i in range(n+1):
? ? ? ?b = combination(n, i) * pow(t, i) * pow(1.0 - t, n - i)
? ? ? ?x += b * pts[i].x
? ? ? ?y += b * pts[i].y
? ?return Point(int(x), int(y))


def beziermove(dx,dy):

? ?# 設置控制點,可以根據(jù)需要自行調(diào)整
? ?controlPoints = [
? ? ? ?Point(0, 0),
? ? ? ?Point(dx // 2, dy),
? ? ? ?Point(dx, dy // 2),
? ? ? ?Point(dx, dy)
? ?]

? ?# 計算移動軌跡
? ?numPoints = 50 ?# 移動軌跡上點的數(shù)量
? ?path = []
? ?for i in range(numPoints + 1):
? ? ? ?t = i / float(numPoints)
? ? ? ?p = bezier(controlPoints, t)
? ? ? ?path.append(p)

? ?# 執(zhí)行移動操作
? ?for i in range(1, len(path)):
? ? ? ?x = path[i].x - path[i - 1].x
? ? ? ?y = path[i].y - path[i - 1].y
? ? ? ?dd_dll.DD_movR(x, y)
? ? ? ?random_float = random.uniform(0.0015, 0.002)
? ? ? ?sleep_exact(random_float)


第二種bresenham算法

特點:每次移動的次數(shù)不一樣,具體視坐標而定,但移動軌跡是直線,容易被判斷機器


參考python代碼:

def bresenham(x1, y1):
? ?x0=0
? ?y0=0
? ?dx = abs(x1 - x0)
? ?dy = abs(y1 - y0)
? ?sx = 1 if x0 < x1 else -1
? ?sy = 1 if y0 < y1 else -1

? ?increment_x = sx
? ?increment_y = sy

? ?err = dx - dy
? ?while x0 != x1 or y0 != y1:
? ? ? ?dd_dll.DD_movR(increment_x, increment_y)? #鼠標移動
? ? ? ?random_float = random.uniform(0.0015, 0.002)
? ? ? ?sleep_exact(random_float) ?# 設置隨機0.0015-0.002 ? ? random_number = random.randint(start, end)
? ? ? ?e2 = 2 * err
? ? ? ?if e2 > -dy:
? ? ? ? ? ?err -= dy
? ? ? ? ? ?x0 += sx
? ? ? ? ? ?increment_x = sx
? ? ? ?else:
? ? ? ? ? ?increment_x = 0

? ? ? ?if e2 < dx:
? ? ? ? ? ?err += dx
? ? ? ? ? ?y0 += sy
? ? ? ? ? ?increment_y = sy
? ? ? ?else:
? ? ? ? ? ?increment_y = 0


python下的自瞄算法鼠標移動算法的評論 (共 條)

分享到微博請遵守國家法律
保德县| 蛟河市| 哈尔滨市| 临汾市| 治多县| 石林| 濮阳市| 奇台县| 龙岩市| 墨竹工卡县| 和静县| 阜阳市| 泰兴市| 岳阳市| 准格尔旗| 象州县| 天长市| 正镶白旗| 南阳市| 仲巴县| 揭阳市| 贺兰县| 额济纳旗| 中牟县| 达州市| 招远市| 札达县| 乐昌市| 五台县| 上犹县| 屏南县| 远安县| 通山县| 济阳县| 隆德县| 耒阳市| 平陆县| 游戏| 宜川县| 蚌埠市| 突泉县|