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

Глава 4. ОПЕРАЦИИ НАД КРИВЫМИ И ПОВЕРХНОСТЯМИ

4.1. Выполнение операций

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

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

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

Используемые нами математические модели линий и поверхностей построены так, что они выдают геометрическую информацию, если мы обратимся к ним с некоторыми параметрами. Если геометрический объект рассматривать как «черный ящик», то параметры подаются на его вход, а на выходе мы получим геометрическую информацию, например, радиус-вектор точки объекта, соответствующий введенным параметрам. В обратном направлении подобный «черный ящик» сигнал не пропускает. То есть, если мы возьмем некоторую точку в пространстве и захотим узнать, далеко ли она находится от данного геометрического объекта или какие параметры объекта ей соответствуют, то построенная нами математическая модель окажется в затруднительном положении. Подобные задачи возникают часто и математическая модель должна с ними справляться.

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

В качестве примера возьмем задачу определения точки пересечения поверхности и кривой линии . В точке их пересечения радиус-векторы кривой и поверхности имеют одинаковые значения: . Это векторное равенство представляет собой систему трех скалярных уравнений, искомыми величинами которых являются параметры u, v и t. Решив эту систему уравнений, получим параметры u, v и t, по которым при необходимости можно вычислить точку на поверхности или на кривой. Система уравнений в общем случае является нелинейной и решается итерационными методами. Точек пересечения может быть несколько и от того, с какого приближения параметров начнется итерационный процесс решения, зависит, к каким параметрам сойдется решение. Из данного примера видно, что для решения задачи нужно уметь делать две вещи: находить нулевое приближение для каждого решения и решать системы нелинейных уравнений. Что касается решения системы уравнений, то существует много методов, которые приводят к искомым решениям, если корректно задано его нулевое приближение. Мы рассмотрим эти методы чуть позже.

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

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

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

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

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

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