Loading... 轨迹算法,输出坐标轴列表 ``` def get_track(self, distance, move_y_flip=1): # distance横向移动距离 track = [(0, 0)] # track列表用于存储每一步的位移坐标,初始位置为(0,0) x+=固定值+偏移量,y=固定值+偏移量 current = 0 move_x_t = round(random.uniform(0.3, 0.4), 2) move_y_t = round(random.uniform(0.8, 0.9), 2) move_x_v = round(random.uniform(2.0, 2.5), 2) move_y_v = round(random.uniform(1.0, 1.5), 2) # 随机时间,随机初始速度,防止完全一样的运动轨迹 while current < distance: a = 2 if current < distance * 3 / 5 else -2 # x轴5分之3为滑动分割,不足横向加速,超过横向减速 # move_x move_x_v += a * move_x_t move_x = round(move_x_v * move_x_t + a * move_x_t * move_x_t / 2) # 物理位移公式 current += move_x # move_y b = 2 if current < distance * 1 / 5 else -2 # x轴5分之1为滑动分割,不足纵向加速,超过纵向减速 move_y_v += a * move_y_t move_y = round(move_y_v * move_y_t + b * move_y_t * move_y_t / 2) * move_y_flip # 翻转轨迹图案 move_x = distance - current if current > distance else move_x # 如果运行距离超过既定位置,则将剩余距离作为位移 track.append((move_x, move_y)) print(track, len(track)) return track ```` 最后修改:2024 年 08 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏
4 条评论
同成约跑平台免费a0tj.cn
哈哈哈,写的太好了https://www.lawjida.com/
不错不错,我喜欢看 https://www.ea55.com/
不错不错,我喜欢看