Мой вопрос носит частично академический характер, поэтому он здесь не относится, но, поскольку мне нужен только аспект кода искривленного тора, я надеюсь, что никто не возражает против того, чтобы я поставил этот вопрос здесь.В конечном счете, я моделирую так называемые «сеточные ячейки», которые повторяют модели активности.Но здесь мне нужно обернуть подмножество 2D-плоскости в тору, чтобы ход в любом из шести направлений возвратил один назад к начальной точке.
Подход к тору: возьмите КВАДРАТНЫЙ лист бумаги исклейте верх и низ вместе, чтобы получить трубку.Затем заклейте левый и правый концы трубки, чтобы получить пончик.Теперь, если вы начинаете в центре листа бумаги (это теперь пончик), если вы путешествуете в любом из 8 направлений:
- N
- NE
- E
- SE
- S
- SW
- W
- NW
youбудет кружить вокруг пончика ровно один раз и вернется в исходное положение.
Теперь, если вы выберете определенный размер для этой «квадратной бумаги», скажем, 10x10, то для среды размером 100x100, даже если вы путешествуете по прямой линии в окружении, можно было бы зацикливаться вокруг «тора»10 раз и вернитесь к той же точке.Преимущество заключается в том, что среду можно расширять до бесконечности, и тор будет реагировать, просто обводя несколько раз
Код для этого тривиален, так как он включает в себя только вычисление координат среды, mod ширина / длина«квадратная бумага».Проблема в том, что по правилу Пифагора диагональные перемещения (NE, SE, SW, NW) будут длиннее, чем в других четырех направлениях (N, E, S, W).Чтобы справиться с этим, мы используем равносторонние треугольники или гексагональную сетку, так что если вы путешествуете в каждом из шести направлений, расстояние будет одинаковым:
Искривленный тор: возьмите лист бумаги и каким-нибудь образом заклейте еговместе, так что пройденное расстояние будет одинаковым для любого из следующих шести направлений:
- 0
- 60
- 120
- 180
- 240
- 300
Проблема в том, что я не могу найти одно прямое объяснение того, как сделать скрученный тор.Я просмотрел следующее, и они слишком расплывчаты для меня
Скрученное видео Тора
Инструкции по созданию TT
Сеточные ячейки на основе TT I
Сеточные ячейки на основе TT II
Может кто-нибудь дать мне небольшой фрагмент кода о том, какЯ мог бы реализовать это?Приветствия
РЕДАКТИРОВАТЬ Мне нужно сопоставить непрерывное пространство на витом торе так, чтобы путешествие в любом из шести направлений среды периодически возвращалось к тому же месту на «квадрате».бумага».