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

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

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

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

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

x=rcosq,   y=rsinq.

При построении графиков в полярной системе координат сох­раняются правила и соглашения, принятые для декартовой прямоу­гольной системы координат. Итак, в пределах страницы можно оп­ределить полярную область, в которой будут рисоваться графики. 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