Решение задач в Excel на VBA. Применение программных средств в проектировании автомобильных конструкций. Калядин В.И. - 49 стр.

UptoLike

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

49
Таким образом, мы подготовили все необходимые параметры сплайн-
кривой, и можно рассчитать все точки контура, задав в программе пе-
ред расчѐтом Kod=1.
Число рассчитываемых точек контура M
для точности его рисования увеличим до 80
поскольку весь контур целиком представ-
ляется единой сплайн-кривой. Цикл расчѐта
точек сплайн-кривой ничем не отличается
от приведѐнного в предыдущем примере. И
также строится по рассчитанным точкам
изображение на точечной диаграмме.
Способ 2. В данном примере трудность вы-
зывает лишь расчѐт точек внутри дуги
скругления. Поэтому можно сначала по па-
раметрам ячеек A4:E5 рассчитать (напри-
мер, как точки сплайн-кривой) точки дуги
скругления, а затем присоединить к ним
порядке обхода) координаты остальных
опорных точек контура. Следуя этому в
программе сначала, назначив N=2 и приняв, например, M=10:
Const N As Long = 2 ' Число исходных точек.
Const M As Long = 10 ' Мах индекс в массиве рассчитанных точек.
надо рассчитать точно так же как в предыдущем примере координаты
Xs(i), Ys(i) точек сплайн-кривой для дуги скругления и поместить их в
ячейки G2:H12. Но для присоединения к контуру ещѐ шести остальных
опорных точек в массивах следует предусмотреть дополнительно 6
элементов, то есть так объявить массивы:
Dim Xs(M + 6) As Double, Ys(M + 6) As Double
После выполнения расчѐта точек дуги скругления выполняют следую-
щий программный код:
i = 6: K = M + 6
For j = M + 1 To K
Xs(j) = Cells(i, 1): Cells(j + 2, 7) = Xs(j)
A
B
C
D
E
1
B
R
d
2
30
5
4
3
X
Y
t
pX
pY
4
9
4
0
-1,172
0
5
4
9
0
1,172
6
4
30
7
0
30
8
0
0
9
30
0
10
30
4
11
9
4
Рис. 3.7.
  Таким образом, мы подготовили все необходимые параметры сплайн-
кривой, и можно рассчитать все точки контура, задав в программе пе-
ред расчѐтом Kod=1.
  Число рассчитываемых точек контура M
                                                             A    B C      D       E
для точности его рисования увеличим до 80
                                                         1   B    R   d
– поскольку весь контур целиком представ-
ляется единой сплайн-кривой. Цикл расчѐта                2   30   5   4
точек сплайн-кривой ничем не отличается                  3   X    Y   t   pX     pY
от приведѐнного в предыдущем примере. И                  4    9   4 0 -1,172           0
также строится по рассчитанным точкам                    5    4   9            0 1,172
изображение на точечной диаграмме.
                                                         6    4 30
Способ 2. В данном примере трудность вы-
                                            7  0 30
зывает лишь расчѐт точек внутри дуги
скругления. Поэтому можно сначала по па- 8 0 0
раметрам ячеек A4:E5 рассчитать (напри- 9 30 0
мер, как точки сплайн-кривой) точки дуги 10 30 4
скругления, а затем присоединить к ним (в 11 9 4
порядке обхода) координаты остальных
                                                   Рис. 3.7.
опорных точек контура. Следуя этому в
программе сначала, назначив N=2 и приняв, например, M=10:
Const N As Long = 2                                  ' Число исходных точек.
Const M As Long = 10            ' Мах индекс в массиве рассчитанных точек.
надо рассчитать точно так же как в предыдущем примере координаты
Xs(i), Ys(i) точек сплайн-кривой для дуги скругления и поместить их в
ячейки G2:H12. Но для присоединения к контуру ещѐ шести остальных
опорных точек в массивах следует предусмотреть дополнительно 6
элементов, то есть так объявить массивы:
Dim Xs(M + 6) As Double, Ys(M + 6) As Double
После выполнения расчѐта точек дуги скругления выполняют следую-
щий программный код:
i = 6: K = M + 6
For j = M + 1 To K
 Xs(j) = Cells(i, 1): Cells(j + 2, 7) = Xs(j)

                                                49