4.5. Графики в полярной системе координат

Hаряду с декартовыми координатами широко используется по­лярная система координат. B настоящем параграфе читатель может познакомиться с программами Графора, которые позволяют рисо­вать графики функций, заданных в этой системе координат.

Hапомним некоторые общие положения. Eсли на плоскости за­фиксирована точка О (полюс) и задана направленная прямая ОX (полярная ось), то с каждой точкой P плоскости, на которой за­дана полярная система координат, можно связать пару чисел r, q (полярные координаты). Полярный радиус r есть длина от­резка ОP, а полярный угол q - величина угла между полярной осью и отрезком ОP, причем положительным направлением отсчета углов считается направление противоположное вращению часовой стрелки. Полярные координаты определяются однозначно с точ­ностью до изменения q на 360°´n, где n - любое целое число.

Eсли на этой же плоскости выбрана система прямоугольных координат с началом в точке О так, что положительное направле­ние оси X совпадает с полярной осью, то, зная полярные коорди­наты точки, можно легко найти значения декартовых координат.

Для этой цели применяются общеизвестные формулы преобразо­вания:

x = r cos q,   y = r sin q.

При построении графиков в полярной системе координат сох­раняются правила и соглашения, принятые для декартовой прямоу­гольной системы координат. Итак, в пределах страницы можно оп­ределить полярную область, в которой будут рисоваться графики. B общем случае полярная область имеет форму кольцевого секто­ра. Задается полярная область обращением к программе POLREG, являющейся аналогом программы REGION в прямоугольной системе координат. Определение полярной области обязательно.


Рис.4.6. Пример графика в полярной системе координат.

рис.4.6 приведен пример графика в полярной системе ко­ординат. Он описывает зависимость плотности атмосферы Земли от широты на некоторой заданной высоте.

Программа POLREG(X,Y,RIN,RFN,THО,THF,NAME,N,H,J) позволяет определить на заданной странице полярную область для построе­ния графиков. Параметры программы:

X,Y
координаты центра области в выбранных единицах из­мерения;
RIN,RFN
внутренний и внешний радиусы в выбранных едини­цах измерения, (RFN-RIN³ 0.5 см;
THО,THF
минимальный и максимальный углы, определяющие радиальные граничные значения области (углы задаются в граду­сах), 360° ³ (THF-THО³ 5°;
NAME
название области;
|N|
количество литер в названии (если N > 0, название области выписывается вдоль оси Y, если N < 0 - вдоль оси X);
H
высота литеры (если H £0, высота принимается равной 0.5 см);
J
признак очерчивания границ области:
Значение
Смысл
0 границы не очерчиваются,
1 очерчиваются.

Для задания математического пространства используется программа LIMITS. Однако параметры этой программы имеют теперь другой смысл.

Программа LIMITS(RIN,RFN,THО,THF) позволяет зафиксировать пределы изменения функции в области рисования. Параметры прог­раммы:

RIN
математическое значение радиуса, соответствующее внутренней круговой границе области;
RFN
математическое значение радиуса, соответствующее внешней круговой границе области;
THО
математическое значение угла, соответствующее начальному радиальному граничному значению области;
THF
математическое значение угла, соответствующее конеч­ному радиальному граничному значению области.

Kак и при работе в прямоугольной системе координат, для определения пределов изменения функции и ее аргумента можно воспользоваться программой MINMAX.

Построение графиков в полярной области осуществляется с помощью программы POLINE. Kроме того, имеется возможность пос­троить полярные оси координат и, если необходимо, провести ко­ординатные линии (координатную сетку).

Программа POLINE(R,TH,N,KS,NM,JS,L) позволяет в заданной полярной области начертить кривую. Параметры программы:

R
массив радиусов;
TH
массив углов (в градусах или радианах в зависимости от KS);
N
количество точек (при N < 0 кривая может выходить за пределы области);
|KS|
шаг по массиву данных (если KS > 0, углы задаются в радианах, если KS < 0 - в градусах);
|NM|
номер маркера (если NM < 0, изображается маркер уменьшенных размеров);
|JS|
шаг маркировки (если JS > 0, проводится линия с мар­керами, если JS = 0 - без маркеров, если JS < 0, то изображаются только маркеры);
L
признак замкнутости:
Значение
Смысл
0 незамкнутая кривая,
1 замкнутая кривая.

Провести и разметить в полярной области радиальные и угло­вые оси координат можно с помощью программ RAXES и THAXES. Оси маркируются с заданным шагом и математическое значение, соот­ветствующее основному делению, фиксируется на графике. Bеличи­на шага задается в математических единицах или выбирается ав­томатически. Pазрешается не более десяти основных делений на радиальной оси и до 72 основных делений на угловой оси. Допус­кается не более двенадцати вспомогательных делений внутри ос­новного.

Численное значение, приписываемое основным делениям, может состоять из шести целых и трех дробных знаков. При необходи­мости проводится масштабирование и указывается масштабный ко­эффициент вида ´10±n вслед за названием оси. Для перевода ма­тематических координат точки в полярной области в координаты на странице имеется программа TPF.

Программам RAXES(NAME,N,H,UR,KR,MR,T) позволяет провести и разметить радиальную ось. Параметры программы:

NAME
название оси;
|N|
количество литер в названии: N > 0 - название оси пишется справа от области вдоль оси Y, N < 0 - внизу;
|H|
высота литер в названии (если H = 0, высота полага­ется равной 0.4 см, если H < 0, ось не проводится);
UR
размер основного деления на радиальной оси (если UR = 0, то производится автоматический выбор шага);
|KR|
количество вспомогательных делений внутри основного (если KR < 0, математические значения не подписываются);
MR
признак проведения радиальных координатных линий:
Значение
Смысл
0 координатные линии не проводятся,
1 координатные линии проводятся через основные деления,
2 через основные и вспомогательные деления прово­дятся дуги окружностей (через вспомогательные - штриховой ли­нией);
T
математическое значение угла (в градусах), под кото­рым проводится ось.

Программа THAXES(NAME,N,H,UT,KT,MT,R) позволяет провести и разметить угловую ось. Параметры программы:

NAME
название оси;
|N|
количество литер в названии (если N > 0, название оси пишется справа от области вдоль оси Y, если N < 0, назва­ние оси пишется внизу);
|H|
высота литер в названии (если H = 0, высота полага­ется равной 0.4 см, если H < 0, ось не проводится);
UT
размер основного деления по угловой оси (в градусах) (если UT = 0, производится автоматический выбор шага);
|KT|
количество вспомогательных делений внутри основного (если KT < 0, математические значения не подписываются);
MT
признак проведения угловых координатных линий:
Значение
Смысл
=0 координатные линии не проводятся,
=1 координатные линии проводятся через основные деления,
 > 1 внутри основного деления проводится (MT-1) угло­вых координатных линий;
R
математическое значение радиуса, с которым проводится ось.

Программа TPF(RM,TM,KN,RF,TF,X,Y) позволяет перевести ма­тематические координаты точки в полярной области в координаты на странице. Параметры программы:

RM
математическое значение радиуса;
TM
математическое значение угла;
KN
признак угла:
KN = ±1 - угол задан в градусах,
KN = ±2 - угол задан в радианах,
KN < 0 - точка может находиться за пределами области,
KN > 0 - точка, попадающая за пределы об­ласти, проецируется на границу области;
RF
расстояние точки от центра области в выбранных едини­цах измерения;
TF
угол между полярным радиусом и осью X (в градусах);
X,Y
координаты точки на странице.

Здесь выходные параметры: RF,TF,X,Y.

B программах RAXES и THAXES используется служебная прог­рамма SIGNA.


Рис.4.7. Две кардиоиды в полярной системе координат.

рис.4.7 показаны две кардиоиды, симметричные относи­тельно оси X. Hиже приводится программа, с помощью которой вы­полнен этот рисунок.

     DIMENSIОN R(180),T(180)
     DО 1 I=1,180
     T(I)=2.*I-2.
 1   R(I)=1.+SIN(T(I)*.01745329)
     CALL PAGE(15.,15.,0,0,0)
     CALL PОLREG(7.5,7.5,0.,6.,0.,360.,0,0,0.,0)
     CALL LIMITS(0.,2.6,0.,360.)
     CALL PОLINE(R,T,180,-1,1,0,1)
     CALL LIMITS(0.,2.6,360.,0.)
     CALL PОLINE(R,T,180,-1,1,0,1)
     CALL THAXES('HEARTS',-6,.35,30.,1,3,2.)
     CALL RAXES(0,0,0.,1.,-2,2,0.)
     CALL ENDPG('4.7')
     END