Научная статья на тему 'Кинематическое изображение топологических пространств, представляемых в виде склейки'

Кинематическое изображение топологических пространств, представляемых в виде склейки Текст научной статьи по специальности «Математика»

CC BY
87
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Борубаев А. А., Панков П. С.

На основе данного ранее авторами определения кинематического изображения связного метрического пространства G на компьютере (возможен непрерывный переход внутри G от изображения любого х ∈ G к изображению любого другого у ∈ G, и минимальное время этого перехода пропорционально расстоянию d(x,y) ) предлагаются конкретные алгоритмы для неевклидовых пространств, получаемых склеиванием одинаковых квадратов или кубов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Kinematic display image of topological spaces represented as the coalescence

Individual algorithms for non-Euclidean spaces obtained by cohesion of similar squares or cubes are suggested based on the definition of the kinematic PC display image of the connected metric space G earlier presented by the authors according to which continuous transition in G is possible from the display image of any x ∈ G to the display of any other у ∈ G, and the minimum time of this transition is proportional to the distance d(x,y)).

Текст научной работы на тему «Кинематическое изображение топологических пространств, представляемых в виде склейки»

Вычислительные технологии

Том 4, № 5, 1999

КИНЕМАТИЧЕСКОЕ ИЗОБРАЖЕНИЕ ТОПОЛОГИЧЕСКИХ ПРОСТРАНСТВ, ПРЕДСТАВЛЯЕМЫХ В ВИДЕ СКЛЕЙКИ

А. А. Борубаев, П. С. Плнков Кыргызский государственный национальный университет Институт математики Национальной академии наук

Бишкек, Кыргызстан e-mail: [email protected]

Individual algorithms for non-Euclidean spaces obtained by cohesion of similar squares or cubes are suggested based on the definition of the kinematic PC display image of the connected metric space G earlier presented by the authors according to which continuous transition in G is possible from the display image of any x € G to the display of any other y € G, and the minimum time of this transition is proportional to the distance d(x,y)).

Введение

Развитие компьютерной техники поставило вопрос о представлении с ее помощью всех известных математических объектов как в теоретических, так и в прикладных целях.

Одним из первых приложений компьютеров явилось использование многомерных пространств для решения прикладных, в особенности оптимизационных задач и уравнений математической физики. С появлением сначала графопостроителей, а затем дисплеев, на которых стало возможным представлять не только тексты, но и изображения, на основе начертательной геометрии возникла компьютерная графика — изображение трехмерных объектов на плоскости (с учетом перекрытия, теней, перспективы и т.д.).

Далее мы будем рассматривать представление пространств, отличных от трехмерного евклидова, в теоретических целях.

Насколько известно, впервые алгоритмический метод представления метрических пространств предложен в [9]. В работе [4] было показано, что такое представление дает возможность доказательства теорем в различных разделах математики. В [10] введено понятие "представление внешним интервалом", развитое в последующих работах до общего понятия представления непрерывных математических объектов интервальными, которые могут быть непосредственно отображены в компьютере.

В монографии [7] поставлен вопрос о решении задач в четырехмерном пространстве с помощью компьютера, но не указано конкретное представление, в [2] описаны некоторые алгебраические алгоритмы.

На основе [15] построены программы, осуществляющие "естественное" движение в локально евклидовых пространствах, таких как топологический тор, бутылка Клейна, в [5,

© А. А. Борубаев, П. С. Панков, 1999.

3] — движение в некоторых неевклидовых пространствах с сингулярностями (римановы поверхности функций: у/г, Ьп г, Vг2 — а2, внешность окружности с отождествленными диаметрально противоположными точками окружности. Для наглядности также использованы методы трехмерной графики). В [6] предложено использовать движение по рима-новым поверхностям при помощи решения дифференциальных уравнений.

Кроме того, в других программных средствах [11-14] возможности компьютеров в описываемом аспекте не использованы полностью: применяются те же приемы, что ив [8], — изображение двумерных топологических пространств в виде поверхностей с самопересечениями в трехмерном евклидовом пространстве.

С учетом опыта выполнения проекта [3] и работы по проекту "Компьютерное представление многомерных пространств" в [1] введены следующие определения. Пусть заданы абстрактное множество О и прямоугольник О с обычной евклидовой метрикой (экран дисплея). Для простоты ограничимся двуцветным (черно-белым) изображением и введем множество 2й всевозможных подмножеств О. Обозначим через 3 С 2й некоторое множество, которое будем называть множеством изображений (черным цветом на белом прямоугольнике О). (От реального экрана прямоугольник О отличается тем, что он непрерывен, но современные дисплеи с большой разрешающей способностью также создают ощущение непрерывности.) Будем рассматривать функцию F : О ^ 2J (которая каждому элементу множества О ставит в соответствие множество возможных изображений этого элемента) и ("обратную" к ней) функцию Н: 3 ^ О (которая каждому изображению ставит в соответствие элемент множества О).

Примечание 1. Мы ввели определение "множества возможных изображений", а не одного "изображения", потому что, например, для трехмерных локально евклидовых пространств осмотреть всю окрестность какой-либо точки можно, только поворачивая "видеокамеру" в разные стороны, но каждое из изображений на "видеокамере" дает возможность идентифицировать "точку съемки".

Ниже будем считать, что 3 содержит только замкнутые множества, и введем в нем хаусдорфову метрику (которая больше всего соответствует интуитивному представлению "близости" изображений).

Пусть в О задана структура топологического пространства (тогда его элементы будем называть точками).

Определение 1. Если функции F и Н непрерывны, то пара Н) называется непрерывным (экранным) представлением топологического пространства О (слово "экранный" далее будем опускать).

Определение 2. Если также для любой д £ О в элементах множества F(д) содержатся изображения всех точек некоторой окрестности д, но не содержатся изображения точек внешности некоторой другой (более широкой) окрестности, то пара функций (F, Н) называется естественным представлением топологического пространства О.

Для изображения движения и использования геометрической интуиции человека в [1] было также введено

Определение 3. Кинематическим изображением связного метрического пространства на компьютере будем называть программу, удовлетворяющую следующим требованиям:

а) осуществимость перехода от изображения любой точки к изображению любой другой точки;

б) минимальное время для замены одного изображения другим пропорционально расстоянию между соответствующими точками;

в) все изображения на дисплее соответствуют некоторым точкам пространства и изменяются непрерывно (по хаусдорфовой метрике).

Представления [15, 5] удовлетворяют всем этим определениям, представления [8, 1114] — только определению 1.

Здесь описывается построение таких пространств с использованием стандартных приемов комбинаторной топологии (см., например, [2]). Цель настоящей статьи — разработка специфических, основанных на данных определениях, алгоритмов определения видимой части пространства. Предлагаются два основных приема — "визуальный разрез" и "изменение изображения при полном повороте".

1. Описание склеивания

Опишем один из способов математического описания и методики программирования, удовлетворяющих определениям 1-3, для широких классов двумерных пространств — склеивание их из одинаковых квадратов с сохранением ориентации и без поворотов (для простоты не будем рассматривать склеивание с изменением ориентации, что требуется, например, для листа Мебиуса). Пусть длина стороны квадрата равна 1.

Примечание 2. Мы выбрали представление пространства в виде набора квадратов (а не треугольников, как это обычно делается), потому что при помощи квадратов значительно легче вычислять декартовы координаты видимых точек по отношению к точке зрения. Само же изображение можно построить по заданным координатам точек с использованием всех приемов и алгоритмов трехмерной графики, чего мы в данной статье не касаемся.

Обозначим через N количество квадратов, {Я, Ц, Ь, О} — соответственно правая, верхняя, левая и нижняя стороны квадрата, —Я = Ь, —Ь = Я, — Ц = О, —О = Ц. Запись (р, Б, д) означает, что ¿"-сторона р-квадрата склеена с "противоположной" (—5)-стороной д-квадрата, где р, д € 1,..., N, р < д, Б £ Я,Ц,Ь,О. Набор записей вида (рк, Бк, дк), к = 1,...,К, определяет пространство. Также предполагаем, что пространство связно: сокращенный набор чисел (рк, дк), к = 1,... , К задает связный граф.

Положение точки в пространстве будет определяться тремя числами: (п,х,у), где п — номер квадрата, 0 < х < 1, 0 < у < 1 — координаты точки в квадрате (точки на границах квадратов могут задаваться различными наборами; в разделе 2 эта неоднозначность устранена).

Пример 1. N = 2, К = 2. Записи (1, Я, 2); (1,Ь, 2) задают цилиндрическую поверхность (вкладывается изометрично в трехмерное евклидово пространство).

Пример 2. N = 4, К = 8. Записи

(1,Я, 2); (1,О, 3); (2, 0,4); (3,Я, 4)

задают квадрат размером 2 х 2, дополнительные записи

(1,Ь, 2); (3, Ь, 4); (1,Ц, 3); (2,Ц, 4)

превращают его в топологический тор (вкладывается гомеоморфно, но не изометрично в трехмерное евклидово пространство).

Пример 3. N =12, К = 14. Записи

(1,Л, 2); (2, и, 3); (3,Ь, 4); (4,Ь, 5); (5,Д, 6); (6, Я, 1); (7, Я, 8); (8, и, 9); (9,Ь, 10); (10, Ь, 11); (11,Д, 12); (12, Я, 7); (1,и, 10); (4,Д, 7)

определяют два прямоугольника размером 3 х 2, склеенные через центральные прорези (между 1-ми 4-м и соответственно между 7-м и 10-м квадратами). Данное пространство является средней частью римановой поверхности функции у/(г — г)(г — (1 + ¿)) (не вкладывается гомеоморфно в трехмерное евклидово пространство).

Пример 4. N > 2, K = N — 1. Записи (1, Л, 2),..., (1, Л, N) задают "открытую книгу" (вкладывается изометрично в трехмерное евклидово пространство).

Для удобства в дальнейшем будем рассматривать расширенный вдвое список: к каждой записи вида (р, £, д) добавим запись (д, — £,р).

2. Описание движения в пространстве без кратных склеек

На основе опыта разработки компьютерных игр способы изображения движения можно классифицировать по изображению пространства: либо оно в целом неподвижно ("абсолютное изображение пространства"), а "основное изображение" элемента пространства имеется на экране непосредственно в виде курсора (этот способ более прост для программирования, но применим только для ограниченного участка пространства); либо сам изображаемый элемент не показывается явно, а определяется именно дополнительными изображениями других элементов ("относительное изображение пространства"). Кроме того, эти способы можно классифицировать по заданию направления движения: либо абсолютное (задается по отношению к осям координат — реперу пространства), либо относительное (задается по отношению к направлению движения на предыдущем шаге).

В этом и следующем разделах будем использовать относительное изображение пространства и абсолютное задание направления движения и предполагать, что в пространстве нет кратных склеек, а два квадрата могут иметь только одну склейку: в расширенном списке для любыхр, £, д записи видов (р, 5",...) и (р,..., д) встречаются не более одного раза. Тогда для движения в пространстве достаточен набор команд Л, и, Ь, Д. Введем соответствующие векторы Уи := (1,0); Уи := (0,1); Уь := (—1,0); Ув := (0, —1). Пусть Н — малое положительное число (шаг), такое, что 1/Н — целое число. В качестве начальной точки выберем точку (1, Н/2, Н/2) около левого нижнего угла первого квадрата. Получаем следующий

Алгоритм 1. а) Полагаем п := 1; х := Н/2; у := Н/2.

б) Определяем часть пространства, видимую из точки (п,х,у), и координаты ее точек по отношению к этой части (см. ниже п. 3) и используем это для построения изображения на экране дисплея (что в данной статье не рассматривается).

в) Вводим команду М.

г) Вычисляем (хьу!) := (х, у) + Н * Ум.

д) Если 0 < Х1 < 1, 0 < у1 < 1 (равенства невозможны), то полагаем (х,у) := (х1,у1) и переходим к п. б), иначе

е) Если в (расширенном) списке есть запись вида (п, М, т), то полагаем п := т и вычисляем (х, у) := (х1, у1) — Ум, иначе выводим сообщение "Такое движение невозможно —

^ IV

край!

ж) Переходим к п. б).

3. Построение видимой части пространства без кратных склеек

Введем число Н £ (1/2,1) — расстояние до "горизонта". Для удобства будем считать, что каждый квадрат имеет свой цвет сп, п = 1,... , N (отличный от черного и от цветов других квадратов) и что точка зрения помещена в начало координат. Тогда п. б) алгоритма 1 можно выполнить следующим образом.

Алгоритм 2. По заданным (п,х,у)

61) Закрашиваем всю плоскость черным цветом.

62) Закрашиваем квадрат (обозначим его ф) с вершинами (их удобно обозначать двумя буквами) ЬО := (—х, —у), ЯО := (1—х, —у), ЯЦ := (1—х, 1—у), ЬЦ := (—х, 1—у) цветом сп.

63) Для каждой записи вида (р, Б, д) в списке закрашиваем квадрат (ф + ) цветом

сд.

64) Рассматриваем поочередно квадраты, являющиеся угловыми к ф. Например, для вершины ЬО получаем: если есть точно две записи ((р, Ь,д) и (д, О,Ь)) или ((р,О,д) и (д, Ь,Ь)), то закрашиваем нижний левый квадрат (ф + Уо + Уь) цветом с^; если есть все четыре записи (р, Ь,д), (д,О,Ь), (р, О, и), (м,Ь,^), то закрашиваем точки квадрата (ф + Уо + Уь), лежащие выше прямой, проходящей через точки О и ЬО, цветом с^, а точки этого квадрата, лежащие выше прямой, — цветом си. (Таким образом, при Ь = V весь этот квадрат закрашивается одним цветом; при Ь = V на языке римановых поверхностей точка ЬО является точкой ветвления.) Аналогично рассматриваем и, возможно, закрашиваем три других квадрата: за вершинами ЯО, ЯЦ, ЬЦ.

65) Закрашиваем всю плоскость вне окружности радиуса Н с центром в начале координат черным цветом. Часть плоскости, окрашенная цветами, отличными от черного, соответствует видимой части пространства.

Примечание 3. Лучи, начинающиеся от вершин, фактически изображенных после выполнения п. б5), в направлениях "от начала координат", можно назвать "визуальными разрезами".

4. Описание движения и изображения в пространстве с кратными склейками

Если в наборе записей, определяющих пространство, есть кратные склейки, то в алгоритме 1, п. е) нужно делать выбор: на какую область (в данном случае квадрат) переходить.

Простейший способ — это сделать запрос: "Какой из номеров т^, входящих в записи (п, Б, т^),..., (п, Б, т;), вы выбираете?", но более естественным является автоматический выбор той из смежных областей, изображение которой имеется в данный момент на экране. Чтобы подчеркнуть особенности такого изображения, рассмотрим пространство, склеенное из кубов, т. е. заведомо не вкладывающееся в трехмерное евклидово. В отличие от разделов 1 и 2 рассмотрим только одно пространство. Итак, пусть даны N > 2 кубов Сп(0 < х < 1,0 < у < 1,0 < г < 1), п = 1,...^, склеенных по левой грани — квадрату х = 0, 0 < у < 1, 0 < г < 1. Положение точки в пространстве будет определяться четырьмя числами: (п, х, у, г), где п — номер куба. Будем использовать относительное изображение пространства, относительное задание направления движения в горизонтальной плоскости и абсолютное по вертикали.

Обозначим через — Сп зеркальное отражение куба Сп относительно плоскости х = 0. Основным в алгоритме является тот факт, что после полного поворота в одном из кубов

становится видимым и доступным для перехода уже другой приклеенный к нему куб. Введем малые положительные числа: h — шаг по движению и 8 — шаг по повороту. В качестве начальной выберем точку (1,1/2,1/2,1/2) в центре первого куба и в качестве начального направления движения a := п. (По умолчанию углы будем отсчитывать от положительного направления оси Ox.) Для определенности положим угол обзора в горизонтальной плоскости равным п/2, то есть ±п/4 от направления а. Тогда для движения в пространстве достаточен набор команд: R — поворот направо на угол 8(a := а — 8); L — поворот налево на угол 8(a := а+8); F — движение вперед в горизонтальной плоскости в направлении а на h(x:=x+h*cos(a); y :=y+h*sin(a)); U — движение вверх на h(z := z+h); D — движение вниз на h(z := z — h). Соответствующий алгоритм изложим кратко.

Алгоритм 3. а) Полагаем x := 1/2; y := 1/2; z := 1/2; s := (+); номер правого куба n(s) := 1; направление движения и обзора — влево: a := п; номер левого (видимого в начальный момент другого) куба n(—s) := 2.

б) Если в плоскости Oxy хотя бы один из лучей, выходящих из точки (x, y) под углами а±п/4, пересекает отрезок x = 0, 0 < y < 1, то другой куб виден: полагаем Viznew := true, иначе — не виден: полагаем Viznew := false.

в) Видимой частью пространства является пересечение куба Cn(s) (при Viznew := false) или объединения кубов Cn(+) и (—Cn(-)) (при Viznew := true) с внутренней частью прямого двугранного угла, ребро которого вертикально и проходит через точку (x,y, 0), а проекция плоскости биссектрисы на плоскость Oxy проходит под углом a.

г) Полагаем Viz := Viznew. Вводим команду M и производим соответствующее действие. Если при командах F, U, D нарушается одно из условий —1 < x < 1, 0 < y < 1, 0 < z < 1, то выводим сообщение "Такое движение невозможно — край!", отменяем последнее движение (возвращаем исходные значения координат) и переходим опять к началу пункта.

д) Аналогично п. б) находим Viz := Viznew для новых значений координат.

е) Если после выполнения команды F координата x изменила знак, то запоминаем, что после перехода в другой куб исходный куб повторно еще не был виден: Repviz := false; полагаем s := —s.

ж) Если до выполнения поворотов R или L другой куб не был виден, а после выполнения стал виден (Viz := false and Viznew = true), то

если Repviz = false, то полагаем

ф := ( a 2k * п + п/2 + s * п/2, k — );

Repviz := true и переходим к п. б), иначе

з) (Repviz = true) Вычисляем

t :=( (a — ф)/(2п)).

Вычисляем новый номер n(—s) другого куба среди номеров 1,... , N за исключением номера n(s) куба, в котором мы находимся: n(—s) := (n(—s)+1 — 1)mod N+1;если n(—s) = n(s), то полагаем n(—s) := (n(—s)modN) + 1. Переходим к п. б).

Примечание 4. Для того, чтобы построение алгоритма 3 соответствовало п. б) определения 3, надо пренебречь временем поворота по сравнению с временем движения.

5. Заключение

Мы надеемся, что исследование пространств, представимых в кинематической форме, будет способствовать развитию топологии и популяризации ее достижений, а соответству-

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

Список литературы

[1] Борубаев А. А., Панков П. С. Классификация компьютерных представлений топологических пространств. Вестник Кыргызского государственного педагогического университета. Сер. Матем. Физика. Информатика. №1, 1998, 99-103.

[2] Матвеев С. В., Фоменко А. Т. Алгоритмические и компьютерные методы в трехмерной топологии. Наука, М., 1991.

[3] Компьютерное представление топологических объектов: Отчет о НИР. Научн. руков. П. С. Панков. Департамент по науке и новым технологиям Министерства образования, науки и культуры КР. Бишкек, 1997.

[4] Панков П. С. Доказательные вычисления на электронных вычислительных машинах. Илим, Фрунзе, 1978.

[5] Панков П. С., Баячорова Б. Ж. Применение компьютеров для представления неевклидовых топологических пространств. Материалы 6 Междунар. конф. по компьютерной графике и визуализации, С.-Петербург, 2, 1996, 232-233.

[6] Панков П. С., Баячорова Б. Ж. Программное обеспечение для управления решением дифференциальных уравнений на римановых поверхностях. IV Республ. конф. "Компьютеры в учебном процессе и современные проблемы математики". Бишкек, часть I, 1996, 39-41.

[7] Улам С. Нерешенные математические задачи. Наука, М., 1964.

[8] Франсис Дж. Книжка с картинками по топологии. Мир, М., 1991.

[9] Шанин Н. А. Конструктивные вещественные числа и конструктивные метрические пространства. Тр. МИАН им. В. А. Стеклова, 67, 1962, 15-294.

[10] Шокин Ю. И. Интервальный анализ. Наука, Новосибирск, 1981.

[11] Cox D., Francis G., Idaszak R. Computer program "Venus". University of Illinois and NCSA, 1997.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[12] MATLAB® Version 4.0 and SIMULINKTM Version 1.2c for MicrosoftWindows, The MathWorks, Inc.

[13] Mathematica 3.0 Graphics Gallery. 3D Graphics. Riemann Surface, 1 & 2, Wolfram Research.

[14] Trott M. Visualization of Riemann surfaces of algebraic functions. Mathematics in Education and Research, TELOS, 6, No. 4. 1997, 15-36.

[15] Weeks J. R. The Shape of Space. Marsel Dekker, Inc., New York, 1985.

Поступила в редакцию 13 мая 1998 г., в переработанном виде 18 сентября 1998 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.