ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 45
- 46
- 47
- 48
- 49
- …
- следующая ›
- последняя »