Алгоритм разбиения книги на страницы

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Алгоритм разбиения книги на страницы

Сообщение Proxy » 12.03.2014 (Ср) 13:01

Доброго времени суток.

Вероятно кто-то из здесь присутствующих сталкивался с такой задачей: нужно распечатать n страниц A6 по 4 на A4, чтобы из них получилась книга* (двусторонняя печать).
Зная n как получить порядок номеров страниц, как они сложатся в книге с одним простым переплётом (что-то вроде скобы)?

Т.е. если n=8, то выходит 2,7,4,5,8,1,6,3. Один лист, сторона А слева-направо сверху-вниз: 2,7,4,5, сторона Б слева-направо сверху-вниз: 8,1,6,3. Лист разрезается по горизонтали пополам, затем половинки сгибаются пополам вертикально. Посчитал в уме, однако с увеличением n всё становится несколько сложнее. Известен ли универсальный алгоритм для таких задач, или нужно придумать?

P.S. Понятно, что задача простейшая. Но видимо пространственное воображение давно не разминал, поэтому очевидным не кажется, нужно найти готовое решение. Или сидеть рисовать страницы, смотреть как они складываются в книгу, искать закономерности.
P.P.S. Было бы интересно, чтобы количество изгибов и разрезов тоже могло бы быть произвольным. И для полного комплекта ещё учесть возможность поворота страниц на 90 градусов (хотя скорее-всего это ничего не изменит в порядке). Ещё здесь явно присутствует какая-то зависимость между числом разрезов и числом изгибов. Но пусть для начала их будет по одному (если считать изгибы ДО разреза).

*книга бумажная из реальной (физической) бумаги
Follow the white rabbit.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Алгоритм разбиения книги на страницы

Сообщение Proxy » 13.03.2014 (Чт) 6:53

Решил всё просто, нумерация страниц совсем очевидная, если мыслить в таком ключе:

1) На одну половину A4 попадают страницы:
лицевая сторона: n-2i, 2i+1, n-2(i+1), 2(i+1)+1
тыловая сторона: 2(i+1), n-2i-1, 2(i+1)+2, n-2(i+1)-1
где i — номер листа A4 (с нуля), n — общее количество страниц (добавляем пустые до кратности 4*)

2) На 2 листа книги приходится 1 изгиб (иные случаи отбросим)

3) Это частный случай, но для иного числа листов книги на цельном листе до разреза, но принцип разбиения страниц на пары всегда будет такой. В этом же конкретном случае просто получается две пары листов книги на большой лист.

PS. Ничего интересного эта задача в себе не содержала, к сожалению.
PPS. Нумерация на тыловой стороне зеркально отражена, т.е. тыловую сторону дополнительно отражать нет необходимости.

* Можно и с кратным 2, но порядок будет несколько иной, т.к. тут выйдет, что в середине книги (впрочем не обязательно в середине) страница без второй половины, которая ввиду отсутствия изгиба усложнит переплёт.
Follow the white rabbit.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 18

    TopList