ВУЗ:
Составители:
Такое параметрическое задание кривых не только позволяет избежать
упомянутые выше трудности, но, кроме того, дает возможность более
простого вычисления текущих координат точек по изменяющимся
значениям параметра кривой, что упрощает расчет информации при
воспроизведении плоских кривых на графических дисплеях и оборудовании
с программным управлением (графопостроители, станки с ЧПУ).
Очевидно, что параметр
s лучше всего выразить через длину дуги,
однако на практике мы не можем установить длину дуги, пока не вычислим
кривую, а чтобы это сделать, нужно знать длину дуги. Наиболее естественен
альтернативный подход - использовать накопленную (суммарную) длину
хорд, т.е. взяв s
0
= 0, определить
s
i
= s
i-1
+ | r
i
- r
i-1
|, i = 1,2,...,N, (1.20)
где | r
i
- r
i-1
| = ()()()xx yy zz
ii ii ii
−+−+−
−−−1
2
1
2
1
2
.
Можно начать с кривой, параметризованной таким способом, и затем,
используя итерационный процесс, получить кривую, параметризованную по
длине дуги. Поскольку разница между такими кривыми невелика,
ограничиваются параметризацией по суммарной длине хорд. Для этого
строят три сплайна, зависящие от s и проходящие через точки (x
i
, s
i
), (y
i
, s
i
),
(z
i
, s
i
) соответственно.
Для определения коэффициентов параметрического сплайна
необходимо решать три системы методом прогонки. Они различаются
только правыми частями. Нетрудно видеть, что в формулах (1.18)
величины v
i
и a
i
+ c
i
v
i-1
не зависят от правых частей этих систем.
Поэтому, если вычислить их и запомнить, для решения каждой из трех
систем потребуется меньше арифметических операций.
Суммарная длина хорд - это приближение к длине дуги, поэтому
можно считать, что | m
i
| = |
′
r
i
|
≈
1. В таком случае в любом узле кривой
можно вычислить производные, если задать дополнительную точку r
g
,
лежащую на касательной к кривой:
′
=
−
−
r
rr
rr
i
gi
gi
. (1.21)
Из типа 2 краевых условий ограничимся случаем
′′
r
= 0 на краях
интервала. Точки, в которых заранее будут задаваться первые производные
(или равные нулю вторые производные, если первые производные
неизвестны), назовем характерными.
Прогонку для решения систем уравнений будем осуществлять по
участкам от одной характерной точки до другой. Таким образом,
появляется возможность аппроксимировать кривую, состоящую из (N + 1)
точек с (К
+ 1) характерными точками, где
K
N
≤
. Очевидно, что первая
и последняя точки всегда должны быть характерными. Минимальное
количество участков для прогонки - 1, максимальное - N.
Для параметрического кубического сплайна по аналогии с (1.10)
можно записать уравнение кривой на участке [s
i-1
, s
i
]:
Такое параметрическое задание кривых не только позволяет избежать упомянутые выше трудности, но, кроме того, дает возможность более простого вычисления текущих координат точек по изменяющимся значениям параметра кривой, что упрощает расчет информации при воспроизведении плоских кривых на графических дисплеях и оборудовании с программным управлением (графопостроители, станки с ЧПУ). Очевидно, что параметр s лучше всего выразить через длину дуги, однако на практике мы не можем установить длину дуги, пока не вычислим кривую, а чтобы это сделать, нужно знать длину дуги. Наиболее естественен альтернативный подход - использовать накопленную (суммарную) длину хорд, т.е. взяв s0 = 0, определить si = si-1 + | ri - ri-1 |, i = 1,2,...,N, (1.20) где | ri - ri-1 | = ( x i − x i −1 ) 2 + ( y i − y i −1 ) 2 + ( zi − zi −1 ) 2 . Можно начать с кривой, параметризованной таким способом, и затем, используя итерационный процесс, получить кривую, параметризованную по длине дуги. Поскольку разница между такими кривыми невелика, ограничиваются параметризацией по суммарной длине хорд. Для этого строят три сплайна, зависящие от s и проходящие через точки (xi, si), (yi, si), (zi, si) соответственно. Для определения коэффициентов параметрического сплайна необходимо решать три системы методом прогонки. Они различаются только правыми частями. Нетрудно видеть, что в формулах (1.18) величины vi и ai + ci vi-1 не зависят от правых частей этих систем. Поэтому, если вычислить их и запомнить, для решения каждой из трех систем потребуется меньше арифметических операций. Суммарная длина хорд - это приближение к длине дуги, поэтому можно считать, что | mi | = | ri ′ | ≈ 1. В таком случае в любом узле кривой можно вычислить производные, если задать дополнительную точку rg, лежащую на касательной к кривой: rg − ri ri ′ = . (1.21) rg − ri Из типа 2 краевых условий ограничимся случаем r ′′ = 0 на краях интервала. Точки, в которых заранее будут задаваться первые производные (или равные нулю вторые производные, если первые производные неизвестны), назовем характерными. Прогонку для решения систем уравнений будем осуществлять по участкам от одной характерной точки до другой. Таким образом, появляется возможность аппроксимировать кривую, состоящую из (N + 1) точек с (К + 1) характерными точками, где K ≤ N . Очевидно, что первая и последняя точки всегда должны быть характерными. Минимальное количество участков для прогонки - 1, максимальное - N. Для параметрического кубического сплайна по аналогии с (1.10) можно записать уравнение кривой на участке [si-1, si]:
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »