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

9.4. Полигоны кривых и поверхностей

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

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

Определение шага кривой.

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

Радиус соприкасающейся окружности равен радиусу кривизны кривой и определяется формулой

По теореме Пифагора квадрат половины длины хорды равен . Длина всей хорды будет равна

(9.4.2)

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

(9.4.3)

Таким образом, параметр следующей точки полигона может быть принят равным . При резком изменении направления или длины второй производной в точке по сравнению с предыдущей точкой формула (9.4.3) дает ошибку, т. е. прогиб может оказаться значительно больше . В этом случае шаг должен быть уточнен путем определения среднего радиуса кривизны кривой на рассматриваемом участке.

Рис. 9.4.1. Вычисление шага по параметру кривой по заданному прогибу 6

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

(9.4.4)

Шаг по параметру кривой мы вычисляли при выполнении операций. Шаг (4.2.3) определяется углом отклонения кривой и не зависит от ее размеров и масштаба отображения. Шаг (9.4.4) определяется точностью отображения и зависит от размеров кривой и масштаба отображения.

Определение шага кривой на поверхности.

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

Подставим (9.4.5) в (9.4.4) и получим приращения для параметров соседней точки полигона

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

(9.4.7)

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

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

Сетки полигонов.

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

Рис. 9.4.2. Проекции сетки полигонов поверхности

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

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