Методическое пособие по решению задач геометрического моделирования в системе MathCAD. Найханов В.В. - 15 стр.

UptoLike

Составители: 

15
0
X
1
X
1i
X
i
X
1+i
X
1N
X
N
X
X
Y
Рисунок 2. К индексации массива точек.
В данном случае массив
i
Y является функцией от массива
i
X , поэтому
при построении составной кривой через узловые точки
),(
ii
yx мы будем
моделировать не параметрическую, а функциональную зависимость
)(xyy
=
.
На отрезке
[]
1
;
+ii
XX полиномиальный сегмент можно представить в
таком каноническом виде:
3
3
2
210
ˆˆˆˆ
)( xaxaxaaxP
iiiii
+++=
. Но для целей,
которые мы преследуем, такой вид кубического полинома усложнит
вычисления. Для дальнейшей работы более предпочтительна следующая
запись полинома:
3
3
2
210
)()()()(
iiiiiiii
xxaxxaxxaaxP +++=
. Следует
понимать, что оба представления кубического полинома на данном отрезке
абсолютно идентичны. Путем трудоемких арифметических преобразований
всегда можно придти от одного вида к другому.
Введем массив
iii
XXh
=
+1
, где 1..0
=
Ni . Тогда на отрезке
[
]
1
;
+ii
XX
полиномиальный i-тый сегмент
)(xP
i
можно представить в виде:
2
3
3
2
2
210
)()()()(
+
++=
i
i
ii
i
i
ii
i
i
iiii
h
h
xxa
h
h
xxa
h
h
xxaaxP
.
Первая производная полинома по
x
-
2
321
)(3)(2)(
iiiiii
xxaxxaaxP ++=
. Рассмотрим значения полинома и его
производной на концах отрезка
[
]
1
;
+ii
XX , это позволит нам определить
коэффициенты полинома:
2
3211
3
3
2
2101
1
1
0
32
iiiiii
iiiiiiii
i
ii
ii
i
hahaaY
hahahaaY
Xx
aY
aY
Xx
++=
+++=
=
=
=
=
+
+
+
. Таким образом, все
коэффициенты полинома
3210
,,,
iiii
aaaa можно выразить через значения
11
,,,
++
iiii
YYYY . Подстановка значений коэффициентов позволяет преобразовать
                                                                    15


                             Y




                                                                                                                       X


  X   0        X1                       X i −1             Xi                  X i +1           X   N −1      X   N



                                  Рисунок 2. К индексации массива точек.

      В данном случае массив Yi является функцией от массива X i , поэтому
при построении составной кривой через узловые точки ( xi , yi ) мы будем
моделировать не параметрическую, а функциональную зависимость y = y (x) .
      На отрезке [X i ; X i +1 ] полиномиальный сегмент можно представить в
таком каноническом виде: Pi ( x) = aˆ i 0 + aˆ i1 ⋅ x + aˆ i 2 ⋅ x 2 + aˆ i 3 ⋅ x 3 . Но для целей,
которые мы преследуем, такой вид кубического полинома усложнит
вычисления. Для дальнейшей работы более предпочтительна следующая
запись полинома: Pi ( x) = ai 0 + ai1 ⋅ ( x − xi ) + ai 2 ⋅ ( x − xi ) 2 + ai 3 ⋅ ( x − xi ) 3 . Следует
понимать, что оба представления кубического полинома на данном отрезке
абсолютно идентичны. Путем трудоемких арифметических преобразований
всегда можно придти от одного вида к другому.
      Введем массив hi = X i +1 − X i , где i = 0..N − 1 . Тогда на отрезке [X i ; X i +1 ]
полиномиальный i-тый сегмент Pi (x) можно представить в виде:
                                                                     2                                 2
                                   h                           ⎛h ⎞                            ⎛h ⎞
Pi ( x) = ai 0 + ai1 ⋅ ( x − xi ) ⋅ i + ai 2 ⋅ ( x − xi ) 2 ⋅ ⎜⎜ i ⎟⎟ + ai 3 ⋅ ( x − xi ) 3 ⋅ ⎜⎜ i ⎟⎟ .
                                   hi                          ⎝ hi ⎠                          ⎝ hi ⎠
          Первая                     производная              полинома      по      x      -
Pi′( x) = ai1 + 2ai 2 ⋅ ( x − xi ) + 3ai 3 ⋅ ( x − xi ) . Рассмотрим значения полинома и его
                                                            2


производной на концах отрезка [X i ; X i +1 ] , это позволит нам определить
                                                     x = Xi
                                                    Yi = ai 0
                                                    Yi′ = ai1
коэффициенты полинома:                               x = X i +1
                                                                                                           . Таким образом, все
                                                  Yi′+1 = ai 0 + ai1 ⋅ hi + ai 2 ⋅ hi + ai 3 ⋅ hi
                                                                                        2             3


                                                  Yi′+1 = ai1 + 2ai 2 ⋅ hi + 3ai 3 ⋅ hi
                                                                                            2


коэффициенты полинома ai 0 , ai1 , ai 2 , ai 3 можно выразить через значения
Yi , Yi +1 , Yi′, Yi′+1 . Подстановка значений коэффициентов позволяет преобразовать