Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab15.doc
Скачиваний:
3
Добавлен:
13.09.2019
Размер:
100.35 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Технічний коледж національного університету водного господарства та природокористування

Лабораторна робота № 15

з курсу “Основи програмування та програмного забезпечення”

Рівне 2012

Лабораторна робота № 12 “Побудова графіків функцій в полярній системі координат та заданих в параметричній формі з курсу “Основи програмування та програмного забезпечення”

Упорядники: Пастушенко В.Й., Шатний С.В.

Робота 15. Побудова графіків функцій в полярній системі координат та заданих в параметричній формі.

15.1 Мета роботи

Навчитися будувати графіки функцій в полярній системі координат, а також графіків функцій заданих в параметричній формі.

15.2 Теоретичні відомості

15.2.1 Побудова графіків функцій в полярній системі координат

Ряд математичних кривих мають більш простий і зручний для роботи вигляд в полярній системі координат, наприклад, рівняння кола =R (R-радіус), спіралі Архімеда (а-стала), гіперболічної спіралі =а/ (а-стала), квадратичної спіралі 2 (a-стала).

- полярний радіус - відстань від точки до початку відліку;

- полярний кут - кут утворений полярною віссю і радіус-вектором вимірюється в радіанній мірі проти годинникової стрілки.

Алгоритм побудови графіка функції, заданої в полярній системі аналогічний до алгоритму побудови в декартовій системі. Залежність між полярним кутом і радіусом задається в нестандартній функції rо (fі). Для послідовних значень кута з певним кроком ( наприклад, step =Рі/180), обчислюються відповідні значення полярного радіуса. Перехід від полярних до екранних координат

х=rо(fі)соs(fі);

у=rо(fі)sіn(fї);

Для замкнених кривих діапазон зміни полярного кута складає від 0 до 2N, де N- кількість повних обертів радіус-вектора, необхідних для побудови графіка. Для нескінченних кривих потрібно підібрати таку кількість точок і, щоб в межах видимої на екрані області графік був повний.

Приклад.

Побудова спіралі Архімеда.

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define PI M_PI

float Ro (float fi);

Int main(void)

{ int gdriver = DETECT, gmode, errorcode;

initgraph(&gdriver, &gmode, "c:\\bcpp\\bgi");

errorcode = graphresult();

if (errorcode != grOk)

{

printf("Graphics error: %s\n",grapherrormsg(errorcode));

printf("Натиснiть будь-яку клавiшу для виходу");

getch( );

exit(1);

}

int xc,yc,i,x,y;

float fi, step=PI/180;

xc=getmaxx( )/2; yc=getmaxy( )/2;

for(i=1;i<=11*360;i++)

{ fi=istep;

x=Ro(fi)cos(fi);

y=Ro(fi)sin(fi);

setcolor(i/16+1);

if (i==1) moveto(xc+x,yc-y);

else lineto(xc+x,yc-y);

}

getch();

closegraph( );

return 0;

}

float Ro (float fi)

{ float ro=4*fi;

return (ro);

}

19.2.2 Побудова графіків функцій, заданих в параметричній формі

В багатьох фізичних задачах залежність між координатами х та y може бути задана в параметричній формі

х=(t), у=(t)

де t - параметр, який по змісту задач найчастіше відповідає часу. З допомогою наведеної нижче програми можна дослідити цікаве явище додавання вертикальних і горизонтальних гармонійних коливань з різними частотами – так звані фігури Ліссажу.

xcоsКt, у =Аsin Мt

Змінюючи співвідношення циклічних частот К і М, отримаємо різні за характером замкнені або нескінченні криві.

Програму можна використати для побудови інших кривих в параметричній формі, змінивши функції fі (t) та psi (t) та підібравши крок зміни параметра. Для отримання повного графіка діапазон зміни параметра для деяких функцій потрібно починати не з нуля, а з від'ємних значень.

Приклад.

Побудова фігур Ліссажу.

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <dos.h>

float FI (float );

float PSI (float );

int A=100,K=15,M=9;

float Step=M_PI/180;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]