А потом, как это в дни моей юности показывалось на видео с земных космических станций, происходила стыковка. И стыковка осуществлялась в том порядке, который был задан в программных настройках секции.
Дополнительная секция плавно подруливала к узлу сцепки собранных сегментов, замирала на секунду, а затем следовал небольшой импульс сразу двух стыкуемых узлов и они, как патрон в ствол, вставали на место.
Замечательно.
Если бы не одно 'но'!
И это третье.
При попытке задать номер секции, который выходил за наличный диапазон (ну, например, 5-й, а двум остальным 1-й и 2-й) наблюдалась весьма занятная картина.
Секция номер 5 пыталась пристроиться сначала с одного конца состыкованных сегментов (естественно это у неё не получалось), а потом с другого (что тоже было неверно). Тогда она повторяла попытку встать с того конца собранных секций, который ранее оставила в попытке найти своё место.
И всё повторялось по кругу, до исчерпания топлива в движках.
Занятно.
Это было или программным глюком или нарушением логики выстраивания цепочки. Ведь секция, которая не нашла себе места, должна была отойти в сторону и не мешать остальным заниматься созданием полного кольца.
Правда был ещё один дополнительный алгоритм, который я в самый последний момент попытался реализовать, но так и не довёл до конца.
Суть этого алгоритма была в том, что ждать, когда все секции поодиночке встанут на место, можно долго. А носитель мог выбросить секции совершенно хаотично. Вот я и решил, что процесс сборки кольца можно существенно ускорить, если создать цепочки из близко расположенных секций.
Тогда и время сократиться, и вычислительная мощность локального кластера будет существенно выше. А это повысит эффективность сборки всего объекта.
Только вот, что-то не срослось.
Правда и понять, что именно не так, на части кольца из трёх секций, у меня не получится.
Всё же нужно иметь хотя бы половину элементов, чтобы осознать, в чём проблема.
Ну и ладно.
Разбираться с неадекватами можно потом.
А сейчас нужно переходить к наполнению секций портальным оборудованием.
Впрочем, перед тем, как перейти к самому интересному, нам с Максом предстоит разобрать всё наше творчество на компоненты и вернуть на место создания шедевра.
Ну и попутно подумать над теми моментами, которые открылись нам в общении с мирозданием.
Как глаголет булева алгебра, двойное отрицание истины является истинной.
Напрочь убивая ложь.
Это я к тому, что шеф, в своём отрицании очевидного (это для нас с Максом очевидного), был, как показало дальнейшее вскрытие, абсолютно прав.
И настоял на повторении наших космических страданий перед тем, как кольцо было готово к принятию своего содержимого.
В смысле, Лёха своим командирским решением остановил процесс размещения портального оборудования на смонтированных секциях и отправил нас с Максом на проверку автоматического развертывания кольца при его доставке к месту назначения.
Нееее!
Оно, конечно же, и с полностью заполненным оборудованием сработало бы так же.
Неправильно.
Просто тогда нам потребовалось сделать гораздо больше ненужной работы, чем сейчас...
Ну, в общем, получили мы, в конце концов, все секции.
Все 17 штук.
Думаете 17 это описка?
А вот и нет.
Должен же и запас быть?
Вот одну секцию я и сделал - в запас.
Никого не ставя в известность.
За что и получил. За разбазаривание нетрудовых доходов.
Я-то так не думал. А вот шеф мне сделал замечание. Потом, правда, он его лихо превратил в собственную предусмотрительность.
А передо мной так и не извинился.
Ну и ладно.
Это я уже не раз проходил и, как обычно, сделав покаянный вид и шаркая ножкой, сказал, что осознаю и больше не буду.
Впрочем, я не расшифровал, чего именно не буду.
А запас всё равно должен быть!
Ибо не фиг!
Кто там эти законы вселенной ведает?
В общем, снова полёт в неизвестность, сброс 16 секций (64-х на самом деле) и подготовка к марлезонскому балету.
Мы с Максом заняли места в первом ряду и приготовились получать удовольствие.
Макс ведь тоже проникся и, отложив свои непонятные дела, приложил руку к написанию программ.
Так что, в случае чего, получать по голове будем оба.
Хмм.
Когда последняя 16-я секция не смогла встроиться в почти собранное кольцо, мы с коллегой переглянулись и громко заржали.
Нет!
Ну чего-то подобного я на самом деле ожидал.
Не может всё идти ровно.
И сомнения Лёхи... как тогда, при начале нашей эпопеи, тоже легли в копилку непредвиденного.
Но вот чтобы так сразу! И ведь понятно же в чём причина. Непонятно только почему до меня (да и до Макса тоже) это не дошло сразу?
Геометрия!
Будь она неладна!
Все секции я, как истинный конструктор-ракетчик, стыковал, как и принято в ракетах - торец в торец.
И 16-й секции просто не хватило пространства, чтобы таким образом встать на своё место!
Точнее, одна её грань (сторона, срез или как там правильно назвать сторону усечённого сегмента?) потенциально могла пристыковаться к своему посадочному месту, а вот вторая сторона уже зайти в посадочное гнездо не могла!
Ну и попутно выяснилась ещё одна бяка.
А как, собственно, кольцо будет замыкаться?