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

4.2. Движение по параметрической области

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

Движение по кривой.

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

Рис. 4.2.1. Заменяющие отрезки касательных кривой при поиске начальных приближений параметра

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

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

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

(4.2.1)

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

где с — производная радиус-вектора кривой по параметру. Подставив в последнее равенство выражение (1.5.28) для кривизны кривой, получим шаг по параметру

(4.2.3)

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

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

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

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

Движение по поверхности.

Движение по параметрической области некоторой поверхности будем выполнять аналогично движению по кривой. Положим один из параметров постоянным, и будем двигаться вдоль другого параметра описанным выше способом. При движении будем заодно вычислять и шаг по параметру, который в данный момент считаем фиксированным с таким расчетом, чтобы в конце вычислить среднее значение шага и по неподвижному параметру. Для вычисления шага по параметрам поверхности в правую часть (4.2.2) подставим кривизны (1.8.5) вдоль координатных линий поверхности. При кривизны линий соответственно равны , где — коэффициенты первой основной квадратичной формы поверхности (1.7.8), коэффициенты второй основной квадратичной формы поверхности (1.7.21). В результате шаг по параметрам поверхности вычислим по формулам

(4.2.4)

где m — нормаль поверхности, — производная радиус-вектора поверхности по параметру и (по первому параметру), — производная радиус-вектора поверхности по параметру v (по второму параметру).

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

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

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

Используя описанную схему движения по параметрической области, можно пройти по отдельным точкам поверхности и проверить в каждой точке выполнение некоторого условия, по которому можно судить о наличии решения вблизи точки. Можно получить разбиение параметрической области поверхности на прямоугольники со сторонами внутри каждого такого прямоугольника поверхность аппроксимировать четырехугольной частью плоскости (4.1.2), которая в средней точке касается рассматриваемой поверхности. Другими словами, при необходимости можно покрыть поверхность плоскими четырехугольниками (рис. 4.2.2), со сторонами (при этом они могут частично перекрывать друг друга и частично выходить за область определения параметров) и проверить на каждом четырехугольнике выполнение некоторого условия.

Рис. 4.2.2. Заменяющие поверхность касательные четырехугольники

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

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

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