Несколько графиков на одном чертеже (функция GraphicsArray)
Теперь мы хотим написать программу, которая печатает на одном чертеже графики с порядковыми номерами в заданном диапазоне, располагая их по т штук в ряду.
Сначала определим вращающийся единичный вектор.
Rphi[phi_] :
=
{Cos[phi],Sin[phi]}
После этого можно дать определение функции PolarXYAB для наших циклоид.
PolarXYAB[t_,r
1_
,r2_,a_,omega_]
=
r1
+
r2
*
Rphi[t]
+
a
*
Rphi[omega
*
t]
Теперь определим функцию, рисующую отдельный график.
gg[n_] :
=
Block[{plot,r1
=
parTable[[n]] [[
2
]],r2
=
parTable[[n]] [ [
3
]],
a
=
parTable[[n]] [[
4
]]},
plot
=
ParametricPlot[PolarXYAB[t,r1,r2,a,omega],
{t,
0.2
Denominator[omega]Pi}, Axes
>
False
,
PlotLabel
>
"n="
oToString [n] ] ]
Теперь можем нарисовать, например, первые 15 циклоид, параметры которых соответствуют порядковым номерам с 1 по 15 в нашей таблице. (Они все будут круговыми циклоидами.)
Вот как это делается.
Block[{n,m
=
5
,omega
=
1
/
7
},
Show[GraphicsArray[
Table[Table[gg[n
=
(a
-
l)
*
m
+
b],{b,m}],{a,
3
}]]]]
Перед вами промелькнут 15 графиков, а в конце вы увидите вот что.
Чтобы начертить графики 16 и 17, в программе изменяется лишь m и начальный порядковый номер.
Block[{n,m
=
2
,omega
=
1
/
7
},
Show[GraphicsArray[
Table[Table[gg[n
=
15
+
(a
-
1
)
*
m
+
b],{b,m}],{a,
1
}]]]]
В конце вы увидите следующее.
Это развернутые циклоиды.