РуЛиб - онлайн библиотека > журнал «Информатика и образование» > Околокомпьютерная литература > Информатика и образование 2011 №06 > страница 26

Читаем онлайн «Информатика и образование 2011 №06» 26 cтраница

à:
Uses Crt, Graph;
Var
dr, dm: Integer;
t, dt, x, y, m, rn, rp, q, a, b: Real;
ch: Char;
Begin
Clrscr;
{Очистка экрана}
Write('R='); Read(rn); {Ввод радиуса неподвижной окружности}
Write('r='); Read(rp); {Ввод радиуса подвижной окружности}
{определение наибольшего общего делителя чисел R и r}
{по алгоритму Евклида}
a:=rn; b:=rp;
While ab do
If a>b then a:=ab else b:=ba;
q:=rn/a; {определение количества полных оборотов окружности}
q
q
ÈÍÔÎÐÌÀÒÈÊÀ È ÎÁÐÀÇÎÂÀÍÈÅ, ¹ 6—2011
47
m:=rp/rn; {определение значения параметра — модуля m}
{Инициализация графического режима}
dr:=Vga; dm:=VgaHi; InitGraph(dr,dm,'');
t:=0;
{Начальное значение параметра t}
dt:=0.001;
{Шаг изменения значения параметра t}
While t r, òî ýïèòðîõîèäó íàçûâàþò óäëèíåííîé;
åñëè h < r — óêîðî÷åííîé;
åñëè h = r, òî ýïèòðîõîèäà ñòàíîâèòñÿ ýïèöèêëîèäîé;
åñëè h = R + r, òî òàêàÿ ýïèòðîõîèäà íàçûâàåòñÿ òðîõîèäàëüíîé ðîçîé.
Ïàðàìåòðè÷åñêèå óðàâíåíèÿ ýïèòðîõîèäû:
x = (R + m • R) • cos (m • t) – h • cos (t + m • t),
y = (R + m • R) • sin (m • t) – h • sin (t + m • t).
 àëãîðèòìå ïîñòðîåíèÿ òî÷å÷íîé ìîäåëè ýïèòðîõîèäû èñõîäíûìè äàííûìè,
ââîäèìûìè ñ êëàâèàòóðû, ÿâëÿþòñÿ R, r, h (ï. 1 àëãîðèòìà ïîñòðîåíèÿ). Ôîðìóëû
äëÿ îïðåäåëåíèÿ x è y çàïèñûâàþòñÿ â ñîîòâåòñòâèè ñ ïàðàìåòðè÷åñêèìè óðàâíåíèÿìè ýïèòðîõîèäû (ï. 5 àëãîðèòìà ïîñòðîåíèÿ).
www.infojournal.ru
48
Ðåçóëüòàòû ïîñòðîåíèÿ ýïèòðîõîèäû äëÿ ðàçëè÷íûõ çíà÷åíèé èñõîäíûõ
äàííûõ:
R = 40, r = 8, h = 12
Óäëèíåííàÿ
R = 40, r = 8, h = 4
Óêîðî÷åííàÿ
R = 40, r = 8, h = 48
Òðîõîèäàëüíàÿ ðîçà
R = 40, r = 4, h = 4
Ýïèöèêëîèäà
×àñòíûì ñëó÷àåì ýïèòðîõîèäû ÿâëÿåòñÿ óëèòêà Ïàñêàëÿ, êîãäà R = r ïðè
ëþáîì h.
h>r
h