3D-визуализация топологии: строим расслоение Зейферта

Прокомментировать Просмотры: 3

Расслоение Зейферта

В этом материале мы реализуем трёхмерную визуализацию одной из базовых конструкций современной топологии — расслоения Зейферта.

Расслоение Зейферта — топологическое понятие, представляющее собой обобщённое расслоение трёхмерного многообразия на окружности. Источник [1]

Формальное построение выглядит следующим образом:

Пусть заданы взаимно простые целые числа v и n, где 0 ≤ v < n. Зададим отображение g как вращение диска D²

на угол 2πv/n. В декартовом произведении D² × [0, 1] склеим каждую точку (x, 0) с точкой (g(x), 1).

В результате образуется S¹-расслоение полнотория. При этом каждый слой расслоения Зейферта снабжён окрестностью такого строения. Если v > 0, центральный слой классифицируется как особый (сингулярный).

Источник [1]

Сгенерируем графическую иллюстрацию с помощью скрипта на Python (написанного при содействии нейросети):

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

Параметры

R_base = 1.0 # радиус базы (круг) n_fibers = 60 # число волокон n_points_per_fiber = 40 # точек на одно волокно (окружность) p_special = 3 # «кратность» особого слоя (для закрутки) theta_special = np.pi # угол, где особый слой

fig = plt.figure(figsize=(10, 8)) ax = fig.add_subplot(111, projection='3d')

Рисуем базу (круг в плоскости xy)

t_base = np.linspace(0, 2np.pi, 200) x_base = R_base np.cos(t_base) y_base = R_base * np.sin(t_base) z_base = np.zeros_like(x_base) ax.plot(x_base, y_base, z_base, color="black", linewidth=2, label="База (круг)")

Генерируем волокна

for i in range(n_fibers): phi = 2 np.pi i / n_fibers # угол положения волокна на базе

# Вычисляем «закрутку» волокна: у особого слоя она отличается
# Это упрощённая модель монодромии: поворот волокна зависит от близости к особой точке
dist = np.abs(phi - theta_special)
if dist > np.pi:
    dist = 2*np.pi - dist
# Плавный переход: чем ближе к особой точке, тем сильнее закрутка
twist_factor = 1 + (p_special - 1) * np.exp(-10 * dist)

t_fiber = np.linspace(0, 2*np.pi, n_points_per_fiber)
# Координаты волокна: окружность, закрученная вокруг радиуса базы
r_fiber = 0.15  # толщина волокна (радиус окружности)
x_f = (R_base + r_fiber * np.cos(t_fiber)) * np.cos(phi)
y_f = (R_base + r_fiber * np.cos(t_fiber)) * np.sin(phi)
z_f = r_fiber * np.sin(t_fiber) * twist_factor

ax.plot(x_f, y_f, z_f, color=plt.cm.viridis(i/n_fibers), linewidth=1.2, alpha=0.8)

Отмечаем особую точку

x_sp = R_base np.cos(theta_special)
y_sp = R_base
np.sin(theta_special)
z_sp = 0
ax.scatter([x_sp], [y_sp], [z_sp], color="red", s=80, label="Особый слой (кратность {})".format(p_special))

ax.set_box_aspect([1, 1, 0.6])
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Упрощённая визуализация расслоения Зейферта:\nволокна-окружности с особой закруткой')
ax.legend()
ax.grid(False)

plt.tight_layout()
plt.show()

В результате выполнения кода формируется следующее изображение:

На графике отчётливо видно формирование витков из окружностей с наличием специфического закрученного слоя, что принципиально отличает данную структуру от расслоения Хопфа [8], [9], где все слои-окружности топологически однородны.

Расслоение Хопфа
Расслоение Хопфа

Подводя итог, нам удалось построить наглядную цифровую модель важнейшего геометрического феномена — расслоения Зейферта, а также провести параллель с классическим расслоением Хопфа.

Примечание: автор не имеет академической степени в области физико-математических наук и публикует материал в исследовательских целях.

Библиографический список:

  1. https://ru.wikipedia.org/wiki/Расслоение_Зейферта

  2. С. В. Матвеев, А. Т. Фоменко. Алгоритмические и компьютерные методы в трехмерной топологии. (Гл. 10 Многообразия Зейферта) — Москва: Издательство МГУ. 1991, 1998. 304 с.

  3. В. В. Горбацевич, «Расслоение Зейферта для плезиокомпактного однородного пространства» (Сибирский математический журнал, 1996, том 37, № 2, с. 301–313).

  4. И. А. Тайманов, «О многомерном обобщении расслоений Зейферта» (Труды МИАН, 2015, том 288, с. 163–170; также в Proc. Steklov Inst. Math., 288 (2015), 145–152).

  5. Н. Е. Русских, «О семимерных обобщённых расслоениях Зейферта над комплексной проективной плоскостью» (Сибирские электронные математические известия, 2014, том 11, с. 966–974).

  6. Й. Квон, А. Д. Медных, И. А. Медных, «Дискретные расслоения Зейферта над графами и их сложность» (Доклады Академии наук, 2019, том 486, № 4).

  7. В. В. Ведюшкина, В. А. Кибкало, «Реализация бильярдами числового инварианта расслоения Зейферта интегрируемых систем» (Вестник Московского университета. Серия 1: Математика. Механика, 2020).

  8. https://ru.wikipedia.org/wiki/Расслоение_Хопфа

  9. https://habr.com/ru/articles/807915/

  10. https://users.mccme.ru/akopyan/papers/villarceau.pdf

 

Источник

Поделиться:

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов