Главная > Математика > Геометрическое моделирование
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

4.7. Определение точек пересечения линии и поверхности

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

Пересечение прямой и плоскости.

Пусть радиус-векторы прямой линии и плоскости описываются зависимостями

(4.7.2)

Найдем их точку пересечения. Такая точка существует и является единственной, если прямая не параллельна плоскости, т. е. если . Построим единичную нормаль m к плоскости по формуле (4.6.2) и вычислим значение параметра прямой, соответствующее точке пересечения плоскости и прямой

(4.7.6)

На рис. 4.7.1 показаны прямая и плоскость при взгляде параллельно плоскости.

Рис. 4.7.1. Пересечение прямой и плоскости

В числителе правой части (4.7.3) стоит расстояние от начальной точки прямой до плоскости, а в знаменателе стоит нормальная к плоскости составляющая производной прямой: отношение этих величин даст параметр пересечения прямой с плоскбстью. Подставим (4.7.3) в (4.7.1) и получим радиус-вектор тачки пересечения плоскости и прямой

Далее, по формулам (4.6.6) и (4.6.7) вычислим параметры плоскости соответствующие точке пересечения

(4.7.5)

Общий случай.

Пусть требуется найти все точки пересечения поверхности, радиус-вектор которой описывается векторной функцией и кривой, радиус-вектор которой описывается векторной функцией

Для каждой точки пересечения должно удовлетворяться векторное уравнение

(4.7.7)

которое, будучи записанным покоординатно, представляет собой систему трех скалярных уравнений

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

Для нахождения нулевого приближения каждого решения будем двигаться описанным выше способом по поверхности и кривой, т. е. будем переходить от точки к точке с вычисляемыми по формулам (4.2.4) и (4.2.5) шагами А и и поверхности и вычисляемым но формуле (4.2.3) шагом кривой. При каждом сочетании точек выполним следующую проверку. Пусть в некоторой точке поверхности значения параметров равны , а в некоторой точке кривой значение параметра равно . Построим касательную плоскость (4.7.2) в данной точке поверхности и касательную прямую (4.7.1) в данной точке кривой. Начальными точками плоскости и прямой являются точки и Векторами плоскости являются частные производные радиус-вектора поверхности по ее параметрам в данной точке. Вектором с прямой является производная радиус-вектора кривой по ее параметру в данной точке. По формулам найдем параметры точки пересечения касательной плоскости и касательной прямой линии.

Рис. 4.7.2. Поиск пересечений кривой и поверхности начинается с пересечения касательной линии кривой и касательной плоскости поверхности

Точка пересечения может быть найдена, если выбранные точки поверхности и кривой являются обыкновенными и если касательная прямая не параллельна касательной плоскости. Вблизи точки пересечения параметры приблизительно соответствуют приращениям параметров поверхности, а параметр приблизительно соответствует приращению параметра кривой. На рис. 4.7.2 показаны поверхность, касательная к ней плоскость, кривая и касательная к ней линия.

Далее предстоит решить, можно ли принять значения параметров в качестве нулевого приближения при решении системы уравнений или нельзя. Для этого нужно знать, каких размеров часть поверхности можно приближенно аппроксимировать частью касательной к ней плоскостью и какого размера участок кривой можно аппроксимировать частью касательной к кривой линией так, чтобы при этом не перешагнуть через соседнюю точку пересечения. Эти размеры определяются шагами параметров . Если будут выполнены условия

то параметры

(4.7.8)

могут быть приняты в качестве начального приближения при решении системы уравнений (4.7.7) определения точки пересечения поверхности и кривой линии

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

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

После этого продолжим поиск других точек пересечения. Сделаем шаг или по одному из параметров поверхности или шаг по параметру кривой и повторим аппроксимацию поверхности касательной плоскостью, аппроксимацию кривой касательной прямой, поиск пересечения плоскости и прямой, нахождение приближенных параметров пересечения и принятие решения, но уже для других точек кривой и поверхности. Так мы должны дискретно пройти всю поверхность и всю кривую в поиске нулевых приближений параметров точек пересечения. Возможны случаи, когда, начав итерационный процесс с различными нулевыми приближениями, мы придем к одному и тому же решению. Поэтому все полученные решения необходимо проверить на совпадение. Решения будем считать одинаковыми, если выполняются одновременно три неравенства: , где величине мы расскажем в конце главы.

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

(4.7.9)

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

Итерационный процесс решения системы (4.7.9) закончим, когда на очередной итерации приращение каждого из параметров станет меньше некоторой заданной величины е. Предположим, что максимальное отклонение полученных в результате решения параметров от их точных решений и, v, t составляет тогда максимальное отклонение радиус-вектора полученной точки пересечения от его истинного значения будет равно произведению максимальной по модулю производной радиус-вектора объекта на погрешность параметра

(4.7.10)

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

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

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