Вопрос про порталы из "портальных" игр.
В играх пары плоских порталов одинакового размера и формы, фактически прямоугольных для простоты, которые лежат плоско на поверхностях, соединяют два места.
Свет, ориентация объектов и импульс сохраняются относительно ориентации обоих концов, как будто пространство, проходящее через один, неразрывно связано с пространством по другую сторону другого.
Например, что-то с одним концом, выступающим в портал по диагонали, также будет существовать с другим концом, выступающим по диагонали из другого портала. В этом примере с некоторых ракурсов может показаться, что объектов несколько, хотя на самом деле их всего один.
Я не знаю, объясняется ли механизм портала во вселенной «полураспада» / портала как использование червоточин, но ради этого вопроса предположим, что мы не знаем, как это достигается, а только как он ведет себя.
Также существуют ограничения, такие как невозможность существования порталов на движущихся поверхностях в играх, но давайте предположим, что у порталов не должно быть отвращения, в любом случае в играх исчезающе малое количество движущихся поверхностей, пригодных для порталов, так что это не кажется как будто заявляют, что это невозможно.
Вопрос
Два тонких прямоугольных блока материала одинаковой формы держат соединенные между собой порталы. Один из этих блоков вставляется через портал в другой.
Есть ли странные последствия при любых диапазонах углов или расстояний вставки?
Например, но не ограничиваясь этим, геометрическая невозможность, внезапное пересечение, большее пространство, которое кажется доступным, чем существует, пространственное противоречие или количество пространства, занимаемое блоками, отличное от их размера.
Такой эксперимент кажется очень трудным для визуализации.
Кажется, что не имеет смысла вставлять один блок более чем наполовину, но будут ли блоки всегда находиться друг напротив друга, предотвращая это в любом случае?
Попытка представить себе этот вопрос причинила мне боль, но я думаю, что у меня есть ответ.
(антиклиматический, не так ли?)
По сути, то, что происходит, подпадает под одну из двух категорий: либо вы в конечном итоге получаете портал, возникающий из самого себя (который работает какое-то время, а затем ломается), либо вы получаете NullReferenceException (используя термин программирования).
Для демонстрации предположим, что каждый портал имеет один конец. и еще один конец . Если вы вставите что-то рядом конец, он выходит рядом , под тем же углом.
Случай 1A: Совпадение ориентаций
Если вы вставляете портал так, что вы толкаете рядом , вы получите нижнюю часть возникающий из - другими словами, самого себя. См. диаграммы ниже для демонстрации 2D. Обратите внимание, как возникающий портал параллелен тому, в который он вталкивается. Это верно только тогда, когда ориентирован так, что оба портала обращены в одном направлении (то есть стрелки, проведенные из центра каждого из них, где-то пересекаются).
Это «сломается», когда точка, в которой портал выходит из себя достигает один. В этот момент вы теперь вызываете проблемы случая 2, а также проблемы, связанные с объектами, частично входящими в портал через край.
Случай 1B: противоположные ориентации
Если направлена в другую сторону, то образующийся угол равен . Это означает, что это также параллельно, когда и перпендикулярны ( ), и перпендикулярно, когда они находятся на углами друг к другу.
Это «сломается», когда точка выхода войдет или когда задняя сторона достигает края (что произойдет только тогда, когда ). Затем вам нужно выяснить, что происходит с обратной стороной портала или когда что-то приближается к нему боком.
В программировании (в частности, на C#, хотя другие языки могут вести себя аналогично) a NullReferenceException
генерируется, когда вы пытаетесь сделать что-либо с несуществующим объектом. Тривиальный пример (который недействителен в C#) int i; i++
: создайте i
, затем увеличьте его. Каково его начальное значение? Это null
. Что значит увеличивать null
? NullReferenceException
. (В C# на int
самом деле значение по умолчанию равно 0, поэтому это будет работать правильно.)
В случае с порталом у вас есть часть объекта, который должен исходить из части этого не существует. На моих приведенных выше диаграммах это было бы там, где близко (иначе возле ). Что происходит? Это невозможно определить и, вероятно, зависит от технологии портала. Важно учитывать, что именно в той точке , где входит , он также будет выходить из Это может означать две двухмерные поверхности, идеально прилегающие друг к другу, это может означать выход внутри другого портала, или это может просто вызвать огромный взрыв.
С порталами как червоточинами представьте иллюстрацию в 2-х измерениях. Два отверстия на странице соединены трубкой под страницей.
Вставить один конец в другой — то же самое, что и в резине: выход находится внутри трубки, насколько это возможно, прежде чем материал потеряет способность изгибаться дальше. Он может вращаться вокруг несколько раз. Но он больше никогда не появляется в обычном пространстве.
При использовании порталов в качестве телепортов, как описано в предыдущем вопросе, объект разбирается на атомном уровне, а его структура сохраняется в буфере; с адресатом связываются, и в этот момент вызов не может быть завершен. Нормальным поведением терминала ввода является создание самого объекта. Или, в случае, если объект не является человеком, предложите отменить, продолжить попытку или выбрать другое место назначения. Если он распознает, что объект является целевым порталом, он может выпустить пирог, нацеленный на лицо оператора, как пасхальное яйцо (вы знаете , что это попробуют дети).
Алекс