• Какой алгоритм подойдет для описания полета насекомого?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Можно сделать цепочку преследования: к случайной точке тянется одна, к ней другая, и т.д., а последняя – муха.

    Очередную точку ставить на плоскости случайно, в любом месте внутри допустимой области. Эта точка – цель, к которой стремится следующая, невидимая точка: каждый следующий кадр её координаты изменяются на k * векторИзТекущегоПоложения-в-Цель:
    x = x + k * (xTarget - x);
    y = y + k * (yTarget - y);

    Так «преследователь» замедляется, по мере приближения к цели, никогда её не достигая.

    Эта невидимая точка – не одна. К ней, как к цели, стремится следующая. К той ещё одна. Наконец, сама муха по этому закону стремится к хвосту этой цепи - очередной точке.

    Чем больше звеньев в такой цепи, тем плавнее получается кривая. При приближении мухи к цели ближе, чем на D, генерится следующая случайная цель.

    Сделал рабочий пример.

    Можно поменять алгоритм и сделать, скажем, линейную скорость постоянной. Или случайно варьировать параметры k и D – от этого поменяется скорость и траектория от плавной ближе к ломаной.
    Ответ написан
    Комментировать
  • Знакомство с Python. Марк Лутц или Эрик Мэтиз?

    kentuck1213
    @kentuck1213
    Это полный бред то что по книгам не стоит учиться. Видео уроки тебе не дают глубокого понимания происходящего в отличии от книг. Сам читаю Лутца, остановился на 442 странице, и да у него там есть практические задания после каждой пройденной главы.
    Ответ написан
    Комментировать
  • Как составить запрос?

    tomgif
    @tomgif
    Веб-разработчик
    SELECT *
    FROM `Quests`
    LEFT JOIN `QuestActive`
    	ON `Quests`.`id` = `QuestActive`.`questid`
    WHERE `QuestsActive`.`userid` = 1
    Ответ написан
    1 комментарий
  • Можно ли создать raid1 из 2 дисков, если на одном есть данные, не потеряв их?

    Melkij
    @Melkij
    PostgreSQL DBA
    Массив можно создать в деградировавшем виде:
    mdadm -C /dev/md0 -l 1 -n 2 missing /dev/sdc
    Затем скопировать данные на массив
    rsync sdb -> md0
    И добавить диск в массив
    mdadm /dev/md0 -a /dev/sdb
    Ответ написан
    7 комментариев