Кук Д., Бейз Г. - Компьютерная математика (1048841), страница 56
Текст из файла (страница 56)
Заметим, что не все отображения [: К" - К будут задавать кривые описанным выше способом. Например, постоянное отображение задает все К". Далее функция ~: К"- К может для одних значений постоянной а вада- вать кривую, а для других — нет, как мы это увидим нигке, Плоская кривая, заданная неявно уравнением вида ахг+ Ьуг+ схр+ дх+ еу+ 1 О, называется квадратичной кривой (кривой второго порядка) . Пусть си [а, Ь)- К" и сг.
[с, 4- К", где а~Ь с~И и с~(Ь) сг(Ь). Тогда с1 ~! сг определяют следующим образом: ~с, нз [а, Ь[, (с на [е, а) и называют объединением функций е1 и ез. Для симметричных описаний, если с чь Ь, сг монгет быть параметризовано таким образом, чтобы это условие выполнялось. Это означает, что мы можем построить сг ен [е,) такое, что интервал для с, начинается с Ь. Следовательно, прп условии с~(Ь) сг(Ь) объединение с~ Чсг имеет смысл, по может не быть, строго говоря, кривой.
Проблема состоит в том, что с1 Чсз может не принадлежать С'. П р и м е р 3.1. ПрямоУ линейная кривая (прямая) может быть определена в К' обычным обрааом как р(х) тх+ с, хс в= х ( хи Рэс. $0.22 где т — наклон прямой, а с — точка пересечения с осью Ор (рнс. х0.22). В наших обозначениях это будет (х, (х, тх+ с) ), хе ч х < х1, т и с могут быть заданы непосредственно, однако более 372 естественно использовать концы го (хо, уо) н =(хп у~), откуда получаем вг (уг — уо)/(х1 — хо), с уг — жхь Проблема, возникающая в несимметричных описаниях, теперь очевидна.
Эта форма не описывает вертикальную линию (когда хо х1). Если вместо этого воспользоваться неявной формой (у — уо) (х~ — хо) — (у| — уо) (х — хо) - О, хо < х < хь то при х~ хо получим уравнение вертикальной линии х хо. Неявное уравнение прямой линии в общем случае имеет вид ах+ Ьу+с = О, и вертикальные линии описываются этим уравнением при Ь О. Обычное симметричное описание может быть записа- но в векторной форме: (г, го + йз), 8 ги (О, !!г~ — го!! ), где н — единичный вектор, н=(гг — го)1!!гг — го!!.
з' Рассмотренные выше примеры приводят к общим на- блюдениям о природе кривых, определенных несиммет- ричным способом. Перед тем как обсуждать это, дадим несколько необходимых определений. О и р е д е л е н в е. Говорят, что плоская кривая (и, (х(и), у(и) ) ), и ги 1 (и, иД является: — однозначной, если для всех ип из ю1 имеем х(и1) х(иг).о- у(и,) у(из); — многозначной, если предыдущее условие не вы- полнено; — замкнутой если (х(и„), у(и„)) (х(и,), у(и ))„У На рис.
10.23 проиллюстрированы все три случая. Очевидно, что замкнутая кривая является многоаначной. Несимметричное описание (х, (х, у(х))), хо<х<хг может определять только однозначную кривую. Это по- тому, что у является функцией от х и, следовательно, хг хг ч у (х~) у(хг). Вертикальная линия является многозначной кривой. Многие приложения в компьютерной графике требу- ют, чтобы замквутые и многозначные кривые были вклю- 873 чаны в описания. Единственный путь достижения этого— объединять кривые, как зто описывалось ранее. При использовании несимметричных форм это не очень удобно удноенонноо «ридо« а Зам«михае «ридо« о Мноеоеночнан «ридо« ь Рис. 10.33 или ное в векторных обозначениях, 1гП вЂ” а О.
Это уравнение описывает всю окружность; оно может быть записано в симметричной параметрической форме (О, а(соз О, в1п О) ), О ю [О, 2я[, 1,а — „,, 1~ В. Возможно бесконечное число других симметричных форм, 374 и редко применяется на практике. Симметричные описания не имеют этого ограничения и, следовательно, являются более удобными для таких приложений. Несимметричные формы обычно используют, когда требуется однозначная кривая. о Пример 3.2. Окружность является примером замкнутой кривой. Рассмотрим окружность а в йе радиуса а с центром в на- чале координат (рис.
т0.24). е Чтобы записать окружность в несимметричной форме, необходимы две кривые: у~ (х) Рас. 10.24 (а' — хе)п', — а<хе а в квадрантах 1 и 2 и уз(х) — (ае — хг) "т, — а ( х < а в квадрантах 3 и 4. Уравнение окруокности в неявной форме имеет вид хе+ уе — ат О выбор которых зависит от приложепий. Для выполиепия рисунков более предпочтительной является пзраметризацвя с относителько постоякпым изменением г(1). Математически это означает, что величина 1г'(1)1 приблизительно постоянка яа 1.
Несимметричное представление в большинстве случаев является неудобным, так как требуется проверка, на какой ветви кривой мы сейчас находимся. г" Примерами кривых второго порядка являются эллипс, гипербола и парабола. Если Π— группа преобразований В", тогда О преобразует %'" естествеиным образом.
Если с~и(Р" — кривая с-(1, г(1)), 1ы1, и вы О, то определим кривую яс следующим образом: рс-(1, гг(1)), $ж1. Например, когда С вЂ” ЯО(2) и с шит, то график И'(0) с является графиком с, повернутым яа угол 0 (рис. 10.25). Гра рик И'(й) а Ь Грарик а а Рвс.
10.25 Уравнения обычно описывают кривые в кстакдартвом» положении, когда ось ОХ является осью свмметрии. Чтобы получить уравнение геометрически вквивалентпой кривой в некотором другом положении и ориектации в пространстве, вада просто применить подходящий элемент группы Е(2) к уравнению. В качестве примера выведем уоавяеяие зллипса с графиком е, изображеякым ка рис.
$0.26. В стандартном положении (изображенном штриховой кривой иа рисунке) кривая записывается в виде с (~р, (асоз~р, Ьз1п<р)), ры[0, 2я[; $7Ф следовательно, кривая с графиком в имеет вид (1т'(О), д)е (юр, (И'(8), д)(асов<р, Ьв1пср))= ° (<р, (а сов ср сов 8 — Ь в1п ~р в1п 0 + Ыь а сов ~р ип 0 + + Ь в1п ~р сов 8+ Из) ), ~р ы [О, 2л[. Неявные уравнения для кривых в нестандартном положении могут быть получены аналогично. Перед тем как перейти к дру- У гой теме, упомянем один питерове ный факт, проверка которого осуществляется довольно легко, когда кривые заданы неявлымн ураза пениями.
Пусть! (х, у) = 0 — уравнение плоской кривой, которая делит плоскость К' на три части, ь , тогда, если (х', у') — произвольная точна пространства, то знак Рве. 10.26 1(х', у') определяет область, в которой леконт (х, у'). Например, вовьмем уравнение окружности 1(х, у)-х'+уз — а'-0; а 1 / тогда 1(х', у')) 0 ~ (х', у') лежит за пределами круга, 1(х', у') 0~(х', у') лежит на окружности, 1(х', у')< (0~(х', у') лежит внутри круга. Проверки такого типа используют в трехмерных случаях в алгоритмах удаления невидимых линий с нзобракзений, Исследование поверхностей мокнет быть проведено по аналогии с исследованием кривых.
Методы представления имеют те же самые преимущества и недостатки. Поверхности двумерны и имеют пространство параметров вида 11 Х1т, где 1ь 1зжК вЂ” интервалы. Параметричеокое представление в общем случае имеет вид ((и, в), г(и, в)), (и, в)ж11 Х1ь Неявное уравнение поверхности записывается в виде 1(х, у, з) О, а поверхностью второго порядна является поверхность, определнемая уравнением ахз+ Ьуз+ сзз+ ~йту+ ехз+ 1уг+ ух+ Ьу+ $г+1 О, гда а, Ь, с, И, с, 1, у, Ь, 2 1 ж К. 878 Пример 3.3. Пусть П (гк г,ыйз, 0<1ч 2)— множество линейно независимых векторов. Тогда г(и, о) го+ и(г1 — го)+ и(го — го), (и, о)ю Вз, есть симметричное описание плоскости Р, проходящей через точки П (рис.
10.27). Если о1 (гз — го)Х(г1 — го), Рис. 10.28 Рвс. 10.2Ч тогда и 11/282 — единичный вектор, ортогональный Р (называемый нормалью). Таким образом, гоиР тогда и только тогда, когда (г — го) и О, или (х — хо) п1 +(р — ро) по+(з — зо) пз О. Это является неявным представлением Р. г" Пример 3.4. Пусть Ю вЂ” сфера в Ко радиуса а с центром в начале координат. Очевидно, что гоиЯ тогда и только тогда, когда 2г!! = а, или же хо+ ро+ зо — ао О. Сферические координаты дают симметричное представ- ление ((8, <р), а(з1пйсоз~р, з(п8з(п~р, соз8)), (8, ~р) ов [О, я) Х )О, 2п[. У Пример 3.5. Пусть С вЂ” цилиндр радиуса а с осью симметрии 07. В этом случае (х, р, з)юС тогда и только тогда, когда хо+ уз — аз = О.
Используя пнлиндрические координаты, получаем симметричную форму ((<р, з), (а соз <р, а зш р, з) ). Обычно рассматривают «конечныйэ цилиндр (рис 10.28). Для него уравнение будет иметь вид зг+ рг — аг О, за - з < зь У Относительно уравнений поверхностей, находящихся в нестандартном положении, можно сделать те же замечания, что и для случая кривых; надо лишь Е(2) заменить на Е(3). 3.2. Геометрия плоских иривых. Целью данного раздела является определение понятий длины, касательной и крививны плоских кривых.
На рис. 10.29 изображена плоская кривая с (г, г(1) ), 8 ю [г„, 2,). Р— произвольная точка на с, являющаяся концом вектора г(2), а Р' — конец вектора г(Г+ 62), И ~и ВЧО). Рис. $0.29 Пусть бг(г) обозначает вектор РР'. Тогда, очевидно, бг(г) г(2+ й) — г(г), есть длина отрезка РР'. Если разбить интервал [Г*, г,) на много маленьких интервалов равной длины [й 1, й),г* = Ге < Г1 «... г„ Ьз, то можно образовать сумму ЕАВ = Х (бг1[1 где бг~ ° г(2,) — г(й 1), которая равна длине ломаной ли- В7В параллелен Ч(г'.
Если г тогда в принципе все кривые могут быть выражены в терминах параметра длины дуги (г, г(г)), гж(0, 8л,). Из определения длины дуги получаем б= )'( —,~йз; а дифференцируя обе части по г, имеем Другими словами, йгЯг — единичный вектор, параллельный касательной линии к г(г). Это вызывает следующее определение. Определение.
Пусть (г, г(г)), гж(0, Ял,),— кривая о длиной дуги в качестве параметра. Определим единичный вектор касательной Т(г) к кривои в точке в как Т (г) = — (г), а нормальный вектор Х(г) к кривой как Х(г) Х(я~2) Т(е). Х Базис (Т, У) образует правостороннюю систему координат в Вт. Коли кривая не параметризуется в терминах длины дуги, то выражение для Т (см. упражнение т0.2) будет иметь вид Эти формулы неявно предполагают условия на г. В действительности знак Т не образует класса эквивалентяости, инвариантного на 1т'г, а является функцией выбранного параметрического представления.
Даже если параметризация осуществлена с помощью параметра— длины дуги, она зависит от того, с какого конца мы на- 380 чинаем намерять г. Касательное пространство к точке кривой валяется классом, инвариантным на Жг, где касательное пространство к [с) в точке Р имеет вид (аТ: иж Н, где Т вЂ” касательный вектор в Р для некоторого с ж [с)). Иэ упражнений к $4 гл. 5 следует, что дТ/дг ортогонален к Т; следовательно, существует функция ьн [О, Яго[ - К такая, что — = х (г) У (г); и (г) вавыо'Т (г) ваки кривиаиой кривой г(г), а 1/х(г) — радиусом кригигиы г(г). Упражнение 102.
1. Получить в Кг явное уравнение прямой, проходящей череэ точки ( — 1, 3) и (2, — 1). Определить единнчный вектор, параллельный этой прямой, и написать уравнение в параметрической векторной форме. 2. Определить касательный и нормальный векторы Т и Х и кривиану к следующих плоских кривых: а) окружпости — (О, а(сов 8 1+ а(п 8/) ), 0 < О ~ 2я; б) эллипса — (~р, (асоа~рТ+ Ьэ(пф/)), Оа:~р< 2п; в) параболы — (1, (а(гь'+ 2аг/) ), — < г < ', где а) 0 и Ь) 0 действительные. 3.