Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


4-9 ПРОЦЕДУРА ИСПОЛЬЗОВАНИЯ КОНИЧЕСКИХ СЕЧЕНИЙ

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

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

Рассмотрим подробный пример, чтобы лучше представить себе суть и возможности этого метода. Одна из простейших и часто используемых задач - построить окружность по трем точкам. Чертеж приведен на рис. 4-14, где , ,  заданные точки. Необходимо определить центр и радиус окружности. Для этого нужно решить систему из трех нелинейных уравнений с переменными , , координатами центра  и радиусом :

,    (4-20а)

,   (4-20b)

.    (4-20с)

237.jpg

Рис. 4-14 Окружность, проходящая через три заданные точки.

Вычитание уравнения (4-20b) из уравнений (4-20а) и (4-20с) устраняет нелинейность. Собственно алгоритм решения - это , где буквы в скобках взяты из уравнений (4-20). Уравнение, выраженное через неизвестную, таково:

.         (4-21)

Аналогично из  и уравнения (4-21) вычисляется

,     (4-22)

 находится из любого из уравнений (4-20).

Уравнения (4-21) и (4-22) содержат ряд трудностей. В частности, если знаменатель дроби равен нулю, требуются другие методы решения. Также необходимы условия проверки на бесконечный радиус и коллинеарные точки.

Уравнения для  и  можно упростить переносом начала координат в точку (см. рис. 4-14). Тогда

,           (4-23а)

, (4.23b)

.  (4-23с)

Вычитая (а) из (b) и (с), получаем систему из двух линейных уравнений. Алгоритм решения: , что дает

,                      (4-24)

,                       (4-25)

.                  (4-26)

Преобразование ,  обратно к первоначальной системе координат дает , . При этом знаменатель уравнений (4-24) или (4-25) опять может обратиться в нуль, и требуются условия проверки на бесконечный радиус и коллинеарные точки. Эти трудности преодолеваются с помощью следующей процедуры:

Перенести начало координат в одну из точек.

Повернуть оси координат, чтобы одна из оставшихся точек лежала на положительной полуоси .

Проверить коллинеарность точек.

Найти центр и радиус окружности в перенесенной и повернутой системе координат.

Повернуть обратно к ориентации промежуточной системы координат.

Перенести начало координат в первоначальное положение и найти центр окружности в исходной системе координат.

На рис. 4-14 начало координат перенесено в точку , а положительная полуось  проходит через точку . Уравнения в координатах :

,                     (4-27а)

,          (4-27b)

.                        (4.27с)

Вычтем уравнение (4-27а) из (4-27b)

,

или

.                 (4-28)

Вычтем уравнение (4-27а) из (4-27с) и подставим уравнение (4-28):

,                   (4-29)

а из уравнения (4-27а) получим

.                (4-30)

Уравнение (4-29) показывает, что при  значение  бесконечно, однако это случается только тогда, когда все три точки лежат на одной прямой. Проверка этого условия очень проста.

Провести окружность через три точки достаточно легко. Здесь не требуется выбора из множества решений, как в большинстве геометрических конструкций, включающих конические сечения. Метод выбора предложен в работе Роджерса [4-3].

Роджерс рассматривает левое, правое, ближнее, дальнее, внутреннее и внешнее решение. Левое и правое существуют относительно направления от одной известной точки к другой; ближнее и дальнее - относительно линии пересечения; внутреннее и внешнее - относительно окружности.

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

Найти точку пересечения прямых. Если решения нет, прямые параллельны.

Перенести начало координат в точку пересечения.

Повернуть вокруг нового центра координат, чтобы одна из линий совпала с осью .

Найти угол между другой линией и осью .

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

Найти центр и точки касания.

Перевести в первоначальную систему координат.

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

,

,

где  - острый угол между положительной осью  и . Точки касания с линиями  и

,

.

240.jpg

Рис. 4-15 Окружности, касающиеся двух пересекающихся прямых.

Таблица 4-7 Окружность, касающаяся двух пересекающихся линий

Ориентация

относительно

линии

Ориентация

относительно

линии

Центр

Точки касания

Левая

Дальняя

Левая

Ближняя

Правая

Дальняя

Правая

Ближняя

Полный перечень приведен в табл. 4-7. Более сложные примеры с использованием понятий внутреннее-внешнее содержатся в работе [4-3]. Возможно расширение для других конических сечений. В работе [4-4] рассматривается векторный подход к решению подобных проблем.

 



<< ПредыдущаяОглавлениеСледующая >>