Alex Dragon (alex_dragon) wrote,
Alex Dragon
alex_dragon

Categories:

Расчёт нахлёстов при перекрытии

Ещё зарубочка на нос. Вспоминал сегодня алгебру, 6 класс. Задача на расчёты нахлёстов перекрывающихся отрезков. Это может быть хоть черепица, хоть перекрытие кадров (frame overlapping) в видео при переходах (transitions). Мне, собственно для последнего. Например, это может быть использовано для автоматического изменения длительности слайд-шоу в зависимости от длины звуковой дорожки. То ли плохо искал, то ли за очевидностью никто не парится формулы публиковать, пришлось учебник вспоминать и на бумажке считать. Задача собственно такая: есть n перекрывающихся отрезков одинаковой длины a c одинаковыми нахлёстами длины b, которые относятся друг к другу как c, нужно найти общую длину L, либо — а главное — при изменении известной общей длины L и (или) числа отрезков n найти как изменятся a и b в предположении, что изменятся они будут пропорционально, с сохранением соотношения c.


       a
<—————————————>
|             |
----------+++++ 1

          +++++-----+++++ 2
          |   |
          <———>     +++++-----+++++ …
            b
                              +++++---------- n
|                                           |
<———————————————————————————————————————————>
                     L

L = n * a - b * (n - 1)

или

L = n * (a - b) + b — общая длина всех отрезков с перекрытием, где:

n — количество отрезков;
a — длина отрезка;
b — длина перекрытия (overlap).

Предполагается, что все отрезки и все перекрытия имеют постоянный размер.

Отсюда

a = (L + b * (n - 1)) / n

b = (n * a - L) / (n - 1)

Если длины отрезков a и перекрытий b относятся друг к другу как c,

a / b = c

то

a = L * c / (n * (c - 1) + 1)

b = L / (n * (c - 1) + 1)

Вроде похоже на правду, если нигде не промахнулся. Однако всё хорошо, пока арифметика вещественная. А вот с целочисленной малость фигня выходит, кадры только целые бывают и на двух-трёхминутный ролик набегает довольно прилично разницы, до нескольких секунд — впрочем, сильно от вводных зависит, причём набегает вверх, длительность видео больше длительности аудио. Чего с этим делать — не очень понятно. Либо плюнуть на растягивание нахлёстов, зафиксировать их и менять только длительность составляющих клипов — это по идее более точное приближение даст, либо как-то более по-хитрому считать.

UPD. Впрочем насчёт «набегает вверх» наверное поторопился — вниз тоже набегает при каких-то условиях.

Tags: компьютеры, мысли вслух, хозяйке на заметку
Subscribe

  • О праздниках, красных датах календаря, космонавтах и примерах для подражания

    Во время оно я даже радовался, наблюдая как советские государственные праздники и красные даты календаря становились по сути праздниками сезонными,…

  • (no subject)

    Меня всегда забавляло, когда кто-то начинает заунывную песню про то что там Ленин бомбу подложил, Хрущёв-дурак с царского плеча полуостров подарил и…

  • Говноворот

    1 апреля тоже потеряло смысл отмечать — на фоне того что «никому не веря» и так все прочие 364 дня в году, и в пору вводить не то что «День дурака»,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 5 comments