Равномерная сетка
Эта модель описывает координаты отдельных точек поверхности следующим способом (рис. 6.11). Каждому узлу сетки с индексами (i,j) приписывается значение высоты zi,j. Индексам (i,j) соответствуют определенные значения координат (х,у). Расстояние между узлами одинаковое — dx по оси х и dy по оси у.
Фактически, такая модель является двумерным массивом (растром, матрицей), каждый элемент которой хранит значение высоты.
Рис. 6.11.Узлы равномерной сетки
Рис. 6.12.Точка в сетке с координатами (x, y, z)
Не каждая поверхность может быть представлена этой моделью. Если в каждом узле записывается только одно значение высоты, то это означает, что поверхность описывается однозначной функцией z=f(xy). Иначе говоря, это такая поверхность, которую любая вертикаль пересекает только один раз. Не могут моделироваться также вертикальные грани. Следует отметить, что для сетки не обязательно использовать только декартовы координаты. Например, для того, чтобы описать поверхность шара однозначной функцией, можно использовать полярные координаты. Равномерная сетка часто используется для описания рельефа земной поверхности.
Рассмотрим, как можно рассчитать значение высоты для любой точки внутри границ сетки. Пусть ее координаты равняются (х, у). Надо найти соответствующее значение z. Решение этой задачи — интерполяция значений координат 2 ближайших узлов (рис 6.12).
Сначала необходимо вычислить индексы i и j одного из узлов:
где ]а[ — целая часть числа а, то есть наибольшее целое, которое не превышает а.
Далее используем, например, билинейную интерполяцию. Для этого сначала найдем значения г в точках А и В. Изпропорции
учитывая, что xj+1 - xj = dx, будем иметь:
Аналогично найдем
Теперь нужно вычислить такое значение z, поделив отрезок АВ пропорционально значению у:
И будем иметь: z = zА + (y – yi)
Положительные черты равномерной сетки:
1. Простота описания поверхностей
2. Возможность быстро узнать высоту любой точи поверхности простой интерполяцией.
Недостатки равномерной сетки:
1. Поверхности, которые соответствуют неоднозначной функции высоты в узлах сетки, моделироваться не могут
2. Для описания сложных поверхностей нужно большое количество узлов, которое может быть ограничено объемом памяти компьютера
3. Описание отдельных типов поверхностей может быть более сложным, чем в других моделях. Например, многогранная поверхность требует избыточный объем данных для описания в сравнении с полигональной моделью.
Дата добавления: 2015-01-29; просмотров: 1343;