- •Предисловие
- •Введение
- •Глава 1. Множества
- •§ 1. Множества н их спецификация
- •§ 2. Простейшие операции над множествами
- •X ∉ ø при любом х.
- •§ 3. Диаграммы Венна
- •§ 4. Подмножества и доказательства
- •§ 5. Произведения множеств
- •Глава 2. Отношения
- •§ 1. Основные понятия
- •§ 2. Графические представления
- •§ 3. Свойства отношений
- •§ 4. Разбиения и отношения эквивалентности
- •§ 5. Отношения порядка
- •§ 6. Отношения на базах данных и структурах данных
- •§ 7. Составные отношения
- •§ 8. Замыкание отношений
- •Глава 3. Функции
- •§ 1. Функции и отображения
- •§ 2. Обратные функции и отображения
- •§ 3. Мощность множеств и счетность
- •§ 4. Некоторые специальные классы функций
- •§ 5. Аналитические свойства вещественных функций
- •§ 6. Операции
- •Глава 4. Основные понятия арифметики
- •§ 1. «Малая» конечная арифметика
- •§ 2. «Большая» конечная арифметика
- •§ 3. Двоичная арифметика
- •§ 4. Логическая арифметика
- •Глава 5. Алгебраические структуры
- •§ 1. Алгебраические структуры и подструктуры
- •§ 2. Простейшие операционные структуры
- •§ 3. Кольца и поля
- •§ 4. Линейная алгебра
- •4.1. Векторные пространства о линейные преобразования.
- •§ 5. Решетка и булевы алгебры
- •§ 6. Замкнутые полукольца
- •Глава 6. Матрицы
- •§ 1. Матрицы и бинарные отношения на конечных множествах
- •§ 2. Матрицы над другими алгебраическими структурами
- •§ 3. Матрицы и векторные пространства
- •Глава 7. Теория графов
- •§ 1. Вводные понятия
- •§ 2. Маршруты, циклы и связанность.
- •§ 3. Планарные графы
- •3.1. Теоремы Эйлера и Куратовского.
- •3.2. Раскраска карт и графов.
- •§ 4. Структуры данных для представления графа
- •§ 5. Обход графа
- •5.2. Обход графа по глубине.
- •5.4. Остовные леса обходов по глубине и ширине.
- •§ 6. Ориентированные графы
- •6.2. Маршруты и связность в орграфах.
- •Глава 8. Языки и грамматики
- •§ 1. Основные понятия
- •§ 2. Грамматики с фразовой структурой
- •2.1. Основные определения.
- •§ 3. Контекстно-свободные языки
- •§ 4. Понятия грамматического разбора и грамматических модификаций
- •§ 5. Грамматики операторного предшествования
- •Глава 9. Конечные автоматы
- •§ 1. Общие понятия
- •§ 2. Конечные автоматы
- •§ 3. Регулярная алгебра
- •Глава 10.Компьютерная геометрия
- •§ 1. Системы координат для подмножеств r3
- •§ 2. Преобразования
- •§ 3. Кривые и поверхности
§ 3. Кривые и поверхности
3.1. Математическое представление. Кривые и поверхности образуют основу большинства вспомогательных устройств компьютера и графического математического обеспечения. Возможны различные математические описания одной и той же геометрической формы; некоторые из них обсуждались и доступны с точки зрения приложений.
Если I ⊂ R — интервал, то через ϰ n обозначим множество всех отображений класса C1:
c : I →R n,
причем c' ≠ 0 на I. На ϰ n определим отношение ~ следующим образом. Пусть
c1 : I1→R n, c2 : I2→R4;
тогда c1 ~ c2 , если существует отображение φ : I1→I2 из класса С1 такое, что c1 = c2 ◦ φ и φ' ≠ 0 на I1.
Предложение. Отношение ~ является отношением эквивалентности на ϰ n. //
Доказательство оставляем в качестве упражнения. Пусть ϐ n обозначает классы эквивалентности ϰ n / ~. Определение. Кривой в R n называется элемент ϐ n . //
Если c∈ ϰ n и c : I →R n, то I называют параметрическим пространством c, а t — параметром или координатой c. График c (graph c) определяют как множество точек
{c(t) : t ∈ I}.
Если c
∈
x
n
и c
: I→R
n
обозначает класс
эквивалентности c
в ϐ n
то для всех
имеем
graph с1 = graph с,
так что разумнее говорить о графике кривой [c]. Обратное неверно; мы можем иметь соотношение graph [c1] = graph [c2], но при этом [c1] ≠ [c2]. Отношение эквивалентности ~ группирует вместе элементы ϰ n , которые параметризуются «аналогичным» образом.
Для вычислительных целей выберем элемент c ∈ [c] и назовем кривую также с, хотя с точки зрения терминологии это неправильно. Это возможно при условии, что мы понимаем разницу и проявляем осторожность, когда это необходимо. График кривой в ϐ 2 является множеством точек, которые мы видим отображенными на графическом терминале. Тогда ϐ 3 — множество плоских кривых, а элементы — множество пространственных кривых. ϐ 3 и ϐ 3 важны для приложений, однако, где легко провести рассуждения в более общем случае, будем это делать.
В литературе по компьютерной графике употребляют термины «параметрический», «явный», «неявный» по отношению к различным методам определения кривых. Если (ξ1 ,…, ξn ) — система координат в R n и элемент c ∈ ϰ n определен при помощи n функций t→ ξi (t) ( 1 ⩽ i ⩽ n ), то такое задание кривой называют явным параметрическим описанием. Иногда выделяют два типа— «симметричный» и «несимметричный». Описание несимметрично, если параметр является одной из координат, т. е. t = ξ1 для некоторого i, 1 ⩽ i ⩽ n . Следовательно, несимметричные описания имеют вид
( ξi, ( ξ1 (ξi), ξ2 ( ξi ),…, ξi ,…, ξn( ξi ))), ξi ∈ I ;
в случае ϐ 2 и декартовых координат эта запись имеет знакомый вид
(x, (x, у(x))),x ∈ [ х0 , xi ] и кривую определяют, задавая явно у как функцию от х. С другой стороны, мы можем описать кривую в R n, определяя подходящую функцию f : R n → R. Для фиксированного a ∈ R функция f определяет кривую с графиком
f-1(a)={( ξ1, …, ξn ) : f ( ξ1 , …, ξn )= а};
f ( ξ1 , …, ξn ) называют уравнением кривой (строго говоря, следовало бы назвать графиком кривой). В принципе уравнению такого типа можно придать явную форму, хотя в общем случае это сделать достаточно сложно. Говорят, что кривые, определяемые такими уравнениями, описаны неявно.
Заметим, что не все отображения f : Rn →R будут задавать кривые описанным выше способом. Например, постоянное отображение задает все Rn. Далее функция f : Rn →R может для одних значений постоянной а задавать кривую, а для других — нет, как мы это увидим ниже.
Плоская кривая, заданная неявно уравнением вида
,
называется квадратичной кривой (кривой второго порядка) .
Пусть c1 : [a , b]→R n и c2 : [c , d] →R n , где а<b= c < d и c1(b) = c2 (b). Тогда c1 ˅ с2 определяют следующим образом :
и называют
объединением функций
с1
и с2 .
Для симметричных описаний, если c
≠ b,
с2
может быть параметризовано таким
образом, чтобы это условие выполнялось.
Это означает, что мы можем построить
такое, что интервал для
начинается с b.
Следовательно, при условии c1
( b
) = c2
( b
) объединение c1
˅ с2
имеет смысл, но может не быть, строго
говоря, кривой. Проблема состоит в
том, что c1
˅ с2
может не принадлежать
С1.
Пример 3.1. Прямолинейная кривая (прямая) может быть определена в R2 обычным образом как
𝑦𝑥=𝑚𝑥+𝑐,
где m — наклон прямой, а с — точка пересечения с осью O y (рис. 10.22). В наших обозначениях это будет
Рис. 10.22
mиc могут быть заданы непосредственно, однако более естественно использовать концы r0 = (х0, y0) и r1 = (x1,y1) откуда
m = (y1 — y0)/(xi — x0), с = y1 — тх1 .
Проблема, возникающая в несимметричных описаниях, теперь очевидна. Эта форма не описывает вертикальную линию (когда x0 = x1 ). Если вместо этого воспользоваться неявной формой
( y – y0 )( x1 – x0 ) – ( y1 – y0 ) ( x – x0 ) = 0 , x0 ⩽ x ⩽ x1
то при x1 = x0 получим уравнение вертикальной линии x = x0. Неявное уравнение прямой линии в общем случае имеет вид
ах + by + с = 0,
и вертикальные линии описываются этим уравнением при b = 0.
Обычное симметричное описание может быть записано в векторной форме:
где
— единичный вектор,
.
∥
Рассмотренные выше примеры приводят к общим наблюдениям о природе кривых, определенных несимметричным способом. Перед тем как обсуждать это, дадим несколько необходимых определений.
Определение. Говорят, что плоская кривая (и, (x (и), у(и))), u ∈ [u A, u B] является:
однозначной, если для всех u1, u2 ∈ I имеем
x (u1)=x (u2) ⇒ y (u1) = y(u2);
многозначной, если предыдущее условие не выполнено;
замкнутой, если
.
// На рис. 10.23 проиллюстрированы все три
случая.
Очевидно, что замкнутая
кривая является многозначной.
Несимметричное описание (x,
(x
, у(x))),
может определять только
однозначную кривую.
Это потому, что у
является функцией от x
и, следовательно,
x1 = х2 ⇒ y(xi) = у(х2).
Вертикальная линия является многозначной кривой. Многие приложения в компьютерной графике требуют, чтобы замкнутые и многозначные кривые были включены в описания. Единственный путь достижения этого — объединять кривые, как это описывалось ранее. При использовании несимметричных форм это не очень удобно
Рис. 10.23
и редко применяется на практике. Симметричные описания не имеют этого ограничения и, следовательно, являются более удобными для таких приложений. Несимметричные формы обычно используют, когда требуется однозначная кривая.
Пример 3.2. Окружность является примером замкнутой кривой. Рассмотрим окружность в R2 радиуса а с центром в начале координат (рис. 10.24).
Чтобы записать окружность в несимметричной форме, необходимы две кривые: y1(x)=(a2-x2)1/2 –a ⩽x⩽ a в квадрантах 1 и 2 и y2(x) в квадрантах 3 и 4. Уравнение окружности в неявной форме имеет вид
х2 + у2 — а2 = 0
или же в векторных
обозначениях,
∥r∥-a=0.
Рис. 10.24
Это уравнение описывает всю окружность; оно может быть записано в симметричной параметрической форме
t
.
Возможно бесконечное число других симметричных форм, выбор которых зависит от приложений. Для выполнения рисунков более предпочтительной является параметризация с относительно постоянным изменением r(t). Математически это означает, что величина ∥r′(t)∥ приблизительно постоянна на I. Несимметричное представление в большинстве случаев является неудобным, так как требуется проверка, на какой ветви кривой мы сейчас находимся. //
Примерами кривых второго порядка являются эллипс, гипербола и парабола.
Если G
— группа преобразований R
n
, тогда
G
преобразует ϐn
естественным образом. Если c
кривая
c = (t,r(t)), t I,
и g G, то определим кривую gc следующим образом:
gc
= (t,gr(t)),
t
.
Н
апример,
когда G
= SO(2)
и c
,
то график W(θ)
c
является графиком с, повернутым на угол
в (рис. 10.25).
Рис. 10.25
Уравнения обычно описывают кривые в «стандартном» положении, когда ось ОХ является осью симметрии. Чтобы получить уравнение геометрически эквивалентной кривой в некотором другом положении и ориентации в пространстве, надо просто применить подходящий элемент группы E(2) к уравнению.
В
качестве примера выведем уравнение
эллипса с графиком e, изображенным на
рис. 10.26. В стандартном положении
(изображенном штриховой кривой на
рисунке).
Рис. 10.26
следовательно, кривая с графиком е имеет вид
Неявные уравнения для кривых в нестандартном положении могут быть получены аналогично.
Перед тем как перейти к другой теме, упомянем один интересный факт, проверка которого осуществляется довольно легко, когда кривые заданы неявными уравнениями. Пусть f(x , y) = 0 — уравнение плоской кривой, которая делит плоскость R2 на три части, тогда, если (x', у') — произвольная точка пространства., то знак f (x', у') определяет область, в которой лежит (x', у'). Например, возьмем уравнение окружности
f(x, у) = х2 + у2 — а2 = 0;
тогда
f(x', у')>0⇒( x', у') лежит за пределами круга,
f(x', у')=0⇒( x', у') лежит на окружности,
f(x', у')<0⇒( x', у') лежит внутри круга.
Проверки такого типа используют в трехмерных случаях в алгоритмах удаления невидимых линий с изображений. Исследование поверхностей может быть проведено по аналогии с исследованием кривых. Методы представления имеют те же самые преимущества и недостатки.
Поверхности двумерны и
имеют пространство параметров вида
,
где I1
, I2
⊆ R
— интервалы.
Параметрическое представление в
общем случае имеет вид
Неявное уравнение поверхности записывается в виде f (x,y,z) = 0, а поверхностью второго порядка является поверхность, определяемая уравнением
,
где a, b, c, d, e, f, g, h, i, j∈ R
Пример
3.3. Пусть
— множество линейно независимых
векторов. Тогда
Есть симметричное описание плоскости P, проходящей через точки D (рис.10.27).
Рис. 10.27 Рис. 10.28
тогда
— единичный вектор, ортогональный P
(называемый нормалью).
Таким образом, r∈P
тогда и только тогда, когда (r
– r0)
∙
= 0, или
(x — x0)n1 + (у — y0) n2+(z — z0)п3 = 0.
Это является неявным представлением Р. //
Пример 3.4. Пусть S — сфера в R3 радиуса а с центром в начале координат. Очевидно, что r∈S тогда и только тогда, когда ∥r∥ = а, или же
x2 + y2 + z2 — a2 = 0.
Сферические координаты дают симметричное представление
//
Пример 3.5. Пусть С —цилиндр радиуса а с осью симметрии OZ. В этом случае ( x, y, z) ∈ C тогда и только тогда, когда
х2 + у2 — а2 = 0.
Используя цилиндрические координаты, получаем симметричную форму
.
Обычно рассматривают «конечный» цилиндр (рис. 10.28). Для него уравнение будет иметь вид
//
Относительно уравнений поверхностей, находящихся в нестандартном положении, можно сделать те же замечания, что и для случая кривых; надо лишь Е(2) заменить на Е(3).
3.2. Геометрия плоских кривых. Целью данного раздела является определение понятий длины, касательной и кривизны плоских кривых. На рис. 10.29 изображена плоская кривая
.
Р
— произвольная точка на c,
являющаяся концом вектора
r(t),
а
Р' — конец
вектора r(
t
+δt),
δt
∈
R\{0}..
Пусть δr
(t)
обозначает вектор
'.
Тогда, очевидно,
есть длина отрезка РР'.
Если разбить интервал [t A , t B ] на много маленьких интервалов равной длины
=
,
то можно образовать сумму
где
,
которая равна длине ломаной линии вдоль c. Интуитивно ясно, что мы получаем аппроксимацию кривой SAB между r ( t A ) и r ( t B ). Приближение будет тем лучше, чем больше число разбиений отрезка [ t A , t B ] . Эти интуитивные понятия приводят нас к определению длины кривой SAB :
С вычислительной точки зрения эта формула трудна для использования. Поэтому мы перепишем ее в более удобном виде:
где
.
Но это по определению интеграл
следовательно,
Если
,
то формула принимает вид
Интуитивно ясно, что линия наклона (на рис. 10.29 это QQ′) к кривой c является прямой, касающейся этой кривой и имеющей тот же самый наклон, что и c, в точке P. Пусть θ — это угол между отрезком РР' и касательной QQ'. Тогда при δ t→0 следует ожидать, что θ→0. Это означает, что направление δr(t) или же δr ( t ) /δt стремится к направлению QQ' при δt→0. Другими словами, вектор
параллелен QQ′ . Если
тогда в принципе все кривые могут быть выражены в терминах параметра длины дуги (s, r(s)), s е [0, SAB]. Из определения длины дуги получаем
дифференцируя обе части по s, имеем
Другими словами, d r / d s — единичный вектор, параллельный касательной линии к r(s). Это вызывает следующее определение.
Определение. Пусть (s, r(s)), s ∈ [0, SAB],— кривая с длиной дуги в качестве параметра. Определим единичный вектор касательной Т (s) к кривой в точке s как
,
а нормальный
вектор
(s)
к кривой как
.//
Базис
(
)
образует правостороннюю систему
координат в R2.
Если кривая не параметризуется в
терминах длины дуги, то выражение для
(см. упражнение 10.2) будет иметь вид
Эти формулы неявно предполагают условия на s. В действительности знак не образует класса эквивалентности, инвариантного на ϐ2, а является функцией выбранного параметрического представления. Даже если параметризация осуществлена с помощью параметра — длины дуги, она зависит от того, с какого конца мы начинаем измерять s. Касательное пространство к точке кривой является классом, инвариантным на ϐ2, где
касательное пространство к [с] в точке P имеет вид {a : a ∈ R, где — касательный вектор в P для некоторого с∈[с]}.
Из упражнений к § 4 гл. 5
следует, что
ортогонален к
;
следовательно, существует функция ϰ:
[o,
SAB]
→R
такая, что
называют кривизной
кривой r(s),
а 1/ϰ(s) – радиусом кривизны r(s).
Упражнение 10.2.
Получить в R2 явное уравнение прямой, проходящей через точки (—1, 3) и (2, —1). Определить единичный вектор, параллельный этой прямой, и написать уравнение в параметрической векторной форме. ___
Определить касательный и нормальный векторы и и кривизну ϰ следующих плоских кривых:
а) окружности
—
,
0⩽θ<2π;
б) эллипса —
,
0⩽φ⩽2π;
в) параболы —
,
—∞<t<∞)
где
a > 0 и b > 0 действительные.
Плоская кривая определена формулой
где a > 0 и b > 0 действительные.
а) Показать, что касательный вектор к кривой задается формулой
б) Начертить кривую в интервале 0 ⩽u⩽2π.
в) Найти нормаль к кривой.
Начертить кривую
,
—∞<u<∞,
и найти выражение для касательного
вектора
.Пусть (x, (x, y(x))),
⩽x⩽
,
описывает плоскую кривую. Показать,
что касательный вектор
(x)
может быть записан как
и, следовательно, кривизна ϰ(х) в точке x имеет вид
Получить формулы, аналогичные полученным в п. 5, для симметричного представления
( u , ( x ( u ), y ( u
))),
⩽u⩽
Найти симметричное параметрическое уравнение плоскости P, проходящей через точки (0, 1, 0), (3, —2, 0) и (1, 3, 4) в R3. Показать, что нормальный вектор будет параллелен (—4, —4, 3), и использовать этот факт для вывода неявного уравнения для P.
Поверхностью вращения называется поверхность, являющаяся результатом вращения плоской кривой вокруг некоторой фиксированной оси в R3.
а) Показать, что если плоская кривая
,
⩽u⩽
делает поворот па угол 2π вокруг оси OZ, то соответствующая поверхность вращения описывается уравнением
где ⩽u⩽ , 0⩽φ<2π.
б) Использовать результаты задачи 8, а) для получения симметричных параметрических представлений следующих поверхностей:
— цилиндра; — конуса; — тора.
Цилиндр С1 длины 2l определяется уравнением x2 + z2 = b2, — l⩽у⩽l, и пересекается с цилиндром C2 длины h, который определяется уравнением у2 + (z — а) 2 = a3 , 0⩽x⩽h, где 0 < а < b, h > b.
Используя параметрические координаты
{(x, 0): 0⩽x⩽h , 0⩽θ<2π) на С2,
показать, что кривая, являющаяся пересечением С1 и С2 , может быть записана как (θ, r(θ)), 0⩽θ<2π, где
Показать также, что единичный касательный вектор к кривой в точке θ = 0 задается формулой
