最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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下的自瞄算法鼠標移動算法的評論 (共 條)

分享到微博請遵守國家法律
商河县| 芜湖县| 芮城县| 恩施市| 永兴县| 万安县| 旺苍县| 铜陵市| 杨浦区| 新建县| 通州区| 鄯善县| 澄城县| 泊头市| 曲阜市| 郑州市| 全南县| 突泉县| 安图县| 湖口县| 仙游县| 会同县| 沈丘县| 招远市| 灵台县| 富平县| 洛宁县| 潼南县| 龙川县| 夏河县| 师宗县| 饶平县| 潮州市| 报价| 富蕴县| 沙坪坝区| 巴东县| 焦作市| 石首市| 惠来县| 册亨县|