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

UptoLike

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

47
333,134 pr
вектора касательной в ячейке F2, а по ней найдены со-
ставляющие px, py этого вектора по формулам
5,0)30sin(px rr
o
,
2/3)60sin(py rr
o
и записаны в ячейки диапазона D2:E5, то по
данным диапазона A2:E5 можно рассчитать (см. пример 3.3) точки по-
казанной на рис. 3.3 «окружности». Вычисление параметров t узлов
сплайн-кривой м. диапазон C2:C5 на рис. 3.5) происходит при первом
вызове процедуры VSpline по X,Y-координатам исходных точек (см.
рис. 3.3), когда перед этим обращением задано Kod=1 (или Kod<1).
Пример 3.3. Рассчитать по данным диапазона A2:E5 точки показанной
на рис. 3.3 «окружности»; по точкам построить «окружность».
' Процедура расчѐта координат точек «окружности»:
Const n As Long = 4 ' Число исходных точек.
Const M As Long = 30 ' Мах индекс в массиве рассчитанных точек.
Sub Main() ' Построение «окружности»:
Const pi As Double = 3.14159265
Dim t As Double, Kod As Long, X(1 To n) As Double, Y(1 To n) As Double, _
tPxy(1 To n, 0 To 2) As Double
Dim Xs(M) As Double, Ys(M) As Double
For i = 1 To n ' Ввод данных из ячеек:
X(i) = Cells(i + 1, 1): Y(i) = Cells(i + 1, 2) ' диапазона A2:B5,
tPxy(i, 1) = Cells(i + 1, 4): tPxy(i, 2) = Cells(i + 1, 5) ' диапазона D2:E5.
Next i
Kod = 1 ' Kod > 0 - выполнять расчѐт по заданным коэфф-там сплайна!
For j = 0 To M ' Цикл по рассчитываемым точкам сплайн-кривой
t = dt * j
Call VSpline(t, N, X(), Y(), tPxy(), Kod, Xs(j), Ys(j)) ' опр. координаты точки
If j = 0 Then ' при j=0 определены все параметры сплайна
dt = tPxy(N, 0) / M
For i = 1 To N
Cells(i + 1, 3) = tPxy(i, 0) ' запись параметра кривой в ячейки С2:С5
Next i
End If
r  p  4 3  1,333 вектора касательной в ячейке F2, а по ней найдены со-

ставляющие px, py этого вектора по формулам px  r  sin(30 )  r  0,5 ,
                                                           o


 py  r  sin(60o )  r  3 / 2 и записаны в ячейки диапазона D2:E5, то по
данным диапазона A2:E5 можно рассчитать (см. пример 3.3) точки по-
казанной на рис. 3.3 «окружности». Вычисление параметров t узлов
сплайн-кривой (см. диапазон C2:C5 на рис. 3.5) происходит при первом
вызове процедуры VSpline по X,Y-координатам исходных точек (см.
рис. 3.3), когда перед этим обращением задано Kod=1 (или Kod<1).
Пример 3.3. Рассчитать по данным диапазона A2:E5 точки показанной
на рис. 3.3 «окружности»; по точкам построить «окружность».
' Процедура расчѐта координат точек «окружности»:
Const n As Long = 4                                    ' Число исходных точек.
Const M As Long = 30            ' Мах индекс в массиве рассчитанных точек.
Sub Main()                    ' Построение «окружности»:
Const pi As Double = 3.14159265
Dim t As Double, Kod As Long, X(1 To n) As Double, Y(1 To n) As Double, _
                                                   tPxy(1 To n, 0 To 2) As Double
Dim Xs(M) As Double, Ys(M) As Double
For i = 1 To n                          ' Ввод данных из ячеек:
 X(i) = Cells(i + 1, 1): Y(i) = Cells(i + 1, 2)                   ' диапазона A2:B5,
 tPxy(i, 1) = Cells(i + 1, 4): tPxy(i, 2) = Cells(i + 1, 5)       ' диапазона D2:E5.
Next i
Kod = 1       ' Kod > 0 - выполнять расчѐт по заданным коэфф-там сплайна!
For j = 0 To M                   ' Цикл по рассчитываемым точкам сплайн-кривой
 t = dt * j
 Call VSpline(t, N, X(), Y(), tPxy(), Kod, Xs(j), Ys(j))      ' опр. координаты точки
 If j = 0 Then                        ' при j=0 определены все параметры сплайна
    dt = tPxy(N, 0) / M
    For i = 1 To N
      Cells(i + 1, 3) = tPxy(i, 0)      ' запись параметра кривой в ячейки С2:С5
    Next i
 End If
                                             47