• Поиск, удаление и замена строки из кортежа в списке, как реализовать?

    trapwalker
    @trapwalker Куратор тега Python
    Даниил Тихонов, несложно сделать, чтобы сохранялся порядок. Достаточно вместо множеств словарь использовать в третьем питоне
  • В чем смысл Z-буферизации, как я представляю, что сцену с парой тысяч полигонов он за 10 лет не нарисует?

    trapwalker
    @trapwalker
    #, ну по сути там все просто. Я вот об этом
    но с ходу - матан

    Если не вдаваться в то, как он там фракталы рисует, то концепция простая, как топор:
    Меряем расстояние от камеры до поверхности объекта, двигаем на это расстояние точку вдоль луча через пиксель. И так по кругу пока не упрёмся в ноль.
  • Как скачать файл по непрямой ссылке?

    trapwalker
    @trapwalker Куратор тега Python
    organica, ну что я вам могу подсказать... Javascript - полный по Тьюрингу язык программирования. На нём можно закодить что угодно. Вы - слишком узкая замочная скважина для продуктивного исследования проблемы.
  • Как скачать файл по непрямой ссылке?

    trapwalker
    @trapwalker Куратор тега Python
    organica, Ну вы можете посмотреть какой код выполняется по нажатию на ссылку.
    Может быть все необходимые данные уже получены при отрисовке страницы, а ссылка лишь инициирует процедуру фильтрации и сохранения.
  • В чем смысл Z-буферизации, как я представляю, что сцену с парой тысяч полигонов он за 10 лет не нарисует?

    trapwalker
    @trapwalker
    #, да мой ответ хоть вам и адресовался, но фактически предназначался топикстартеру.
    А вам для общей эрудиции, наверно, будет интересно узнать о такой штуке как Ray Marching.
    Залипательная и завораживающая элегантная концепция. Чем-то элегантнее даже рейтрейсинга (с рейтресингом у меня, кстати, вот пример не самого короткого кода из очень старых экспериментов, пардон, я далёк от фронтенд-разработки=).
  • В чем смысл Z-буферизации, как я представляю, что сцену с парой тысяч полигонов он за 10 лет не нарисует?

    trapwalker
    @trapwalker
    #:
    просто по тому что нет других вариантов

    Ну, строго говоря, есть. Всегда есть варианты. Просто z-буфер - это довольно эффективное и точное решение решение. Можно пользоваться исключительно алгоритмом художника, но это повлечет за собой цепочку проблем, которые как домино лавинообразно усложнят код или оставят огрехи в изображении. Если у нас всё состоит из треугольников, то вполне можно точно пересекать их решая уравнение для поиска пересечения плоскостей и разбивая треугольники по линиям пересечения, чтобы дальше работать алгоритмом художника. Тут та же проблема, что и выше. Плодятся новые полигоны, растёт сложность кода.
    И это еще без учета полу-прозрачных текстур, без шейдеров, без преломлений и прочих штук. z-буфер - это концепция, а не серебряная пуля. Реальное его применение - это часть большого и сложного процесса рендера сцены.
  • Как запускать скрипт по cron?

    trapwalker
    @trapwalker
    Владимир Куц, в кронтабе нужно абсолютные пути использовать или декларировать каталог явно.
  • В чем смысл Z-буферизации, как я представляю, что сцену с парой тысяч полигонов он за 10 лет не нарисует?

    trapwalker
    @trapwalker
    Kiril1221,
    я должен сразу все эти объекты представить в растровом формате

    Что вы под этим подразумеваете?
    заполнить в массив z-буфера их цвет

    z-буфер - это двумерный массив, размером с экран (вернее с ту область, которую рендерят) и в каждом элементе этого массива хранится расстояние от камеры до ближайшей к камере точки пересечения луча с объектом. Там не хранится цвет. Цвет в другом буфере.
    Технически это можно реализовать очень по-разному. Ничто не мешает хранить глубину в отдельном канале четырёхканального изображения.
    И еще правильно ли я понимаю что depth - это z координата точки для камеры от точки (0,0,z).

    Не правильно. для каждого пикселя изображения depth - это расстояние (или квадрат расстояния) от камеры до ближайшей к камере точки пересечения луча из камеры через пиксель с каким-то объектом.
  • Достать данные гироскопа и акселерометра из экшен камеры или видео?

    trapwalker
    @trapwalker
    sashabeep, На счет отдельного сохранения - согласен. Самый простой вариант. Синхронизировать время можно простым щелчком ногтем по корпусу при включенной записи. Удар отразится и на акселероматрах и на звуковой дорожке камеры.
  • Достать данные гироскопа и акселерометра из экшен камеры или видео?

    trapwalker
    @trapwalker
    sashabeep, я не имел в виду запись через микрофонный или линейный вход. Мне кажется это плозая идея, поскольку трекер даёт инфу по нескольктим каналам: 3 оси акселерометра, 3 оси гироскопа, 3 оси компаса... дофига данных с приличным рейтом. А чтобы упихать это в звуковую дорожку, нужно закодировать, в какой-то тональный код, потом распаковывать это и бояться, что кодек камеры пожмёт лишнее... не. плохая идея.

    Я имел в виду другое. Современные кодеки умеют писать помимо видео-потока и аудио-потока произвольные фреймы данных в цифре. Я расчитывал именно на это. Но тут нужно лезть глубоко в нетривиальную часть прошивки камеры. Зато, если у камеры есть штатный гироскоп и акселерометр, а на борту крутится что-то типа линукса, можно, наверно, решить всю задачу полностью программно собрав кастомную прошивку.

    ХЗ. Я тут дилетант. Просто размышляю вслух.
  • Достать данные гироскопа и акселерометра из экшен камеры или видео?

    trapwalker
    @trapwalker
    TheFdu4,
    Неужели камеры могут передавать по wifi что-то кроме видео файлов?

    я тоже не погружался в вопрос, но где-то слышалч что камера поднимает ftp для работы с ее файлами, а это значит не исключено, что получится подкинуть ей файлы с гиро-треками. Чисто чтобы лежали рядом с видео и назывались соответствующее, и не приходилось чтобы как-то отдельно снимать данные с трекера, сводить, нарезать...
    Вторая проблема, которую можно попробовать как-то решать через вайфай камеры - это синхронизация времени.
    Если забирание данны-это не такая уж и проблема (всё равно треки придётся как-то обрабатывать утилитами, можно предусмотреть и пайп-лайн для вытаскивания их с девайса), то синхронизация времени - это, прям, проблема. Не уверен что ее вообще можно как-то решить штатно. Это нужно надеяться, что камера через веб-интерфейс отдаёт какие-то временнЫе метки, что рендер ее выхлопа имеет предсказуемые тайминги...

    Проще для синхронизации времени, наверно, предусмотреть в трекере какую-нибудь пьезо-пищалку, которая будет работать как хлопушка в кинематографе. Схема такая: включаем на камере видео-запись, жмём спец-кнопку на трекере, трекер делает серию резких щелчков пьезо-элементом и записывает точное время щелчков по своим внутренним часам. Эти щелчки записываются штатным микрофоном камеры в звуковую дорожку видео-файла. Этот короткий видеофайл будет калибровочным. Такую калибровку можно делать не часто, если в трекере и камере часы не сбрасываются при выключении и имеют хорошую точность.
    После скачивания данных с трекера и с камеры, специальная утилита находит калибровочные ролики и спец-файлы стрекера, сопоставляет их по таймингам и сериям интервалов, вычисляет постоянную поправку времени трекера относительно времени камеры по дате/времени начала ролика. С такой поправкой можно нарезать и привязывать треки к роликам.

    Звучит громоздко, но это может оказаться приемлемым и технически достаточно простым масштабируемым компромиссом.

    Со времением, я думаю, все устройства научатся писать данные гироскопов и акселерометров в видео-поток и EXIF фотографий. Слишком много пользы из этого можно извлечь.
  • Как можно массово изменить exif данные фотографий, использую .json файл с исходными данными?

    trapwalker
    @trapwalker
    с помощью py (можно ссылку, что это такое?),

    на самом деле pythonpy - это утилита командной строки, которая позволяет применять питоновские однострочники в командной строке для обработки потоков ввода-вывода.
    Забавно, но с этим пакетом творится что-то странное. Куда-то исчез с гитхаба самый популярный репозиторий этого проекта, но у проекта осталось множество клонов, пакет ставится через pip:
    $ pip search pythonpy
    pythonpy-clone (0.0.4)  - rewrite of pythonpy using AST manipulations instead
                              of regex
    pythonpy (0.4.11)       - python -c, with tab completion and shorthand
    pythonpy-fork (0.5.3)   - python -c, with tab completion and shorthand; fish2k
                              fork

    Или через системный менеджер пакетов:
    $ apt search pythonpy
    Сортировка… Готово
    Полнотекстовый поиск… Готово
    pythonpy/bionic,bionic,now 0.4.11b-3 all [установлен]
      'python -c', with tab completion and shorthand

    А документация по нему доступна в комплекте:
    man py
    py(1)                                                                                                                                                                                            py(1)
    
    NAME
           pythonpy - 'python -c', with tab completion and shorthand
    
    SYNOPSIS
           py [-x] [-l] [-c PRE_CMD] [-C POST_CMD] [-V] [-h] [expression]
    
    DESCRIPTION
           pythonpy will evaluate any Python expression from the command line.
    
           This will be done by the same Python interpreter that runs it. As this version uses Python 3, it is compatible with Python 3 syntax only.
    
    OPTIONS
           -x     Treat each row of stdin as x
    
           -l     Treat list of stdin as l
    
           -c PRE_CMD
                  Run code before expression
    
           -C POST_CMD
                  Run code after expression
    
           -V, --version
                  Version info
    
           -h, --help
                  Show help message and exit
    
    EXAMPLES
           Float arithmetic:
    
               $ py '3 * 1.5'
    
           Import any module automatically:
    
               $ py 'math.exp(1)'
    
           Multiply each line of input by 7:
    
               $ py 'range(3)' | py -x 'int(x)*7'
    
           Remove every file returned by the find command:
    
               $ find . -type f | py -x '"rm %s" % x' | sh
    
    SEE ALSO
           python(1)
    
    BUGS
           Bugs should be reported as issues at the project's GitHub page: <https://github.com/Russell91/pythonpy/issues>
    
    AUTHOR
           pythonpy is developed by Russell Stewart <russell.s.stewart@gmail.com>.
    
           This man page was written by Tiago Ilieve <tiago.myhro@gmail.com> for the Debian distribution (but it may be used by others).

    Это просто удобная утилита, чтобы на скорую руку сделать автоматизацию преобразования данных.

    Вот первая попавшаяся утилита для модификации EXIF-данных. Когда я с этим имел дело (прикреплял GPS-локации и фиксил время съёмки фоток из путешествия для тех случаев, когда на фотике слетала дата).
    dikey58, суть решения в том, чтобы проитерировать вашу коллекцию данных с помощью jq, с помощью py и питоновской шаблонизации наделать командных строк для модификации файлов, сохранить эти строки в файл и запустить его как пакетный.

    К сожалению могу только коротко отвечать на конкретные вопросы. Сделать за вас это я могу только на коммерческой основе.
  • Какие варианты слияния списков есть?

    trapwalker
    @trapwalker Куратор тега Python
    Зачем нумеровать и индексироваться, если можно zip?
  • Как вычислить время, которое идёт матч?

    trapwalker
    @trapwalker Куратор тега Python
    OlegCinema, я лишь хотел, чтобы вы поняли суть проблемы постановки вашего вопроса сами. Иронию в моём ответе вы уловили веоно, но спустя такое количество общения так и не исправили ни формулировку, ни даже, ссылку.
    Лично мне это говорит о том, что отвечать вам вовсе не стоило. Нужно было просто сослаться на правила.
  • Как лучше реализовать простой энергоэффективный компактный диктофон (устройство)?

    trapwalker
    @trapwalker Автор вопроса
    Вы срезюмировали все мои изыскания на эту тему.
    Единственное, что не затронули - это вопрос о необходимости кодека вообще.
    Может быть не тратить автономного энергоресурса диктофона на кодирование, а писать в несжатом виде? Тут уже критически отзывались о таком варианте, мол, постоянное сохранение на флешку большого объёма тоже энергозатратно. Однако точки нал Ё расставят какие-то расчеты по даташитам или эксперимент...
  • Как убрать лесенку после Image.rotate()?

    trapwalker
    @trapwalker Куратор тега Python
    Evgeny_A, я понимаю, что вам не хочется заморачиваться и подготавливать простой законченый работающий пример, демонстрирующий проблему, чтобы желающие вам помочь не занимались этим сами разбираясь откуда и какие у вас используются исходные данные. У вас там в картинке какой-то прямоугольник который вы поворачиваете. Вы могли бы дать ссылку на это изображение. Ваша программа не запустится вне вашего компьютера без допиливания. Именно поэтому никто не хочет заморачиваться и делать хотя бы как-то работающий пример за вас.

    Если вам самому лень сделать это, то почему это должно быть не лень другим?

    У вас лесенка получается при повороте контрастного прямоугольника. Есть подозрение что вы что-то напутали с параметрами сглаживания. Но как попробовать, чтобы продемонстрировать это или поискать какое-то другое решение? Правильно, нужно сделать за вас простой работающий пример для экспериментов.

    Если вы не способны подготовить изолированный пример для экспериментов, то вам не поможет совет с этого ресурса. Вам надо учиться программировать с азов. А если способны, то почему не сэкономите время тем, кто не прочь вам помочь?

    Неужели это не очевидно?
  • Как убрать лесенку после Image.rotate()?

    trapwalker
    @trapwalker Куратор тега Python
    Evgeny_A, приведите полный работающий код
  • Как вычислить время, которое идёт матч?

    trapwalker
    @trapwalker Куратор тега Python
    Nejtron, действительно, автор вопроса подготовил его максимально наплевательски:
    • - нечетко написал в чем у него проблемы;
    • - не проверил ссылку;
    • - не объяснил желаемый результат.
  • Как вычислить время, которое идёт матч?

    trapwalker
    @trapwalker Куратор тега Python
    OlegCinema, это был намёк на то, что вопрос был поставлен также неконкретно и расплывчато. "Поди туда, не знаю куда"
  • Как правильно объеденить список в строку?

    trapwalker
    @trapwalker Куратор тега Python
    жесть. Сразу гланды заболели и ещё одно место...