Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Параметры и Узловые Векторы для Поверхностей

Читайте также:
  1. A)можно изменить тип диаграммы, ряд данных, параметры диаграммы и т. д.
  2. Глава тридцать вторая МАГНИТНЫЕ ПОЛЯ И ОСНОВНЫЕ ПАРАМЕТРЫ СИНХРОННЫХ МАШИН
  3. Глобальная Аппроксимация Поверхностей
  4. ГОСТ 30494-2011 Здания жилые и общественные. Параметры микроклимата в помещениях.
  5. Интерфейс базы данных (вводный экран, кнопочная форма и параметры запуска).
  6. К каким суставам по форме суставных поверхностей предплюсно-плюсневые суставы (Лисфранков сустав)?
  7. Количественные и качественные параметры уровня самоактуализации - тестирование

Поверхность B-spline степени (p, q), определяемая e +1 рядами и f +1 столбцами контр. точек имеет следующее уравнение

Для него нужны два набора параметров для интерполяции и аппроксимации поверхности. Допустим, у нас есть m +1 ряда и n +1 столбца исходных точек d ij, где 0 <= i <= m и 0 <= j <= n. Таким образом, нужны m +1 параметров s 0,..., sm в направлении u (т.e. по одному на каждый ряд исходных точек) и n +1 параметров t 0,..., tn в направлении v (т.e. по одному на каждый столбец исходных точек), чтобы точка (sc, td) на области определения поверхности соответствовала точке S (sc, td) на поверхности, которая, в свою очередь, соответствовала исходной точке d cd. Представляя это в виде уравнения, точка на поверхности в (sc, td), как показано ниже

,

соответствует исходной точке d cd, где sc и td - это параметры в направлениях u и v, соответственно.

В уравнении желаемой поверхности B-spline направление u соответствует индексу i в Ni,p (u) и p ij. Так как i пробегает от 0 до m, то N 0, p (u), N 1, p (u),..., Nm,p (u) - это коэффициенты столбцов контр. точек. Таким образом, в направлении u, нам нужно m +1 параметров, и с помощью метода вычисления параметров, использующего степень p и исходные точки из столбца j, мы можем вычислить m +1 параметров u 0, j, u 1, j,..., um,j. Это показано на рисунке ниже. Желаемые параметры s 0, s 1,..., sm просто являются средними значениями каждого ряда. Говоря точнее, параметр si - это среднее из параметров ряда i, si = (ui ,0 + ui ,1 +... + ui,n)/(n +1).

Аналогично вычисление параметров в направлении v. В каждом ряду n +1 исходных точек, поэтому нужно n +1 параметров. Таким образом, для исходных точек ряда i, мы можем вычислить n +1 значений параметров vi ,0, vi ,1,..., vi,n. Так как всего m +1 рядов, то эти значения можно сгруппировать в матрицу (m +1)×(n +1), и тогда параметр tj - это просто среднее из параметров столбца j, tj = (v 0, j + v 1, j +... + vm,j)/(m +1). Таким образом, мы получаем n +1 параметров в направлении v.

Эта процедура выглядит следующим образом:

Вход: (m +1)×(n +1) исходных точек d i,j; Выход: Параметры в направлении u s 0,..., sm и параметры в направлении v t 0,..., tn; Алгоритм: /* вычисляем s 0,..., sm */ for j:= 0 to n do /* столбец j */ Находим набор из m +1 параметров u 0, j, u 1, j,..., um,j; for i:= 0 to m do si = (ui ,0 + ui ,1 +... + ui,n)/(n +1); /* параметры для направления u найдены */ /* вычисляем t 0,..., tn */ for i:= 0 to m do /* ряд i */ Находим набор из n +1 параметров vi ,0, vi ,1,..., vi,n; for j:= 0 to n do tj = (v 0, j + v 1, j +... + vn,j)/(m +1); /* параметры для направления v найдены */

Затем, значения параметров s 0, s 1,..., sm и степень p вместе определяют узловой вектор U в направлении u. Аналогично, параметры t 0, t 1,..., tn и степень q вместе определяют узловой вектор V в направлении v. Нажмите тут, чтобы посмотреть способ вычисления узлового вектора из набора параметров.

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


Дата добавления: 2015-10-29; просмотров: 94 | Нарушение авторских прав


Читайте в этой же книге: Алгоритм De Boor | Алгоритм De Boor для Кривых NURBS | Параметрические Поверхности | Неявные Поверхности | Поверхности Безье: Алгоритм de Casteljau | Поверхности B-spline: Важные Свойства | Поверхности B-spline: Алгоритм de Boor | Метод Длины Хорды | Центростремительный Метод | Получение Узлового Вектора |
<== предыдущая страница | следующая страница ==>
Универсальный Метод| Нахождение Решения

mybiblioteka.su - 2015-2024 год. (0.007 сек.)