Задать вопрос
  • Как сгенерировать промежуточные координаты?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    1. Случайные координаты: steps - шаги между контрольными точками.
    2. Случайное время исполнения: time_movie - время перемещения в секундах.

    import time
    from numpy.random import randint, default_rng
    
    def f(coords: list, time_movie: int, steps: int) -> list:
        x_a, y_a = [], []
        now = int(time.time() * 1000)
        rng = default_rng()
        timestamp = sorted(rng.integers(now, now + time_movie * 1000, size=(steps * len(coords) - 1) + 1))
    
        for i in range(len(coords) - 1):
            x1, y1, x2, y2 = coords[i] + coords[i + 1]
            x_a += [x1] + sorted(randint(min(x1, x2), max(x1, x2), size=steps), reverse=1 if x1 > x2 else 0) + [x2]
            y_a += [y1] + sorted(randint(min(y1, y2), max(y1, y2), size=steps), reverse=1 if x1 > x2 else 0) + [y2]
    
        return [[x, y, t] for x, y, t in zip(x_a, y_a, timestamp)]
    
    coords = [[392, 556], [95, 309], [207, 192]]
    print(f(coords=coords, time_movie=2, steps=30))
    Ответ написан
    5 комментариев