русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

На плоскости.


Дата добавления: 2015-06-12; просмотров: 582; Нарушение авторских прав


 


остроить кривые по их уравнениям в полярных координатах:

 

 
 

Полярные координаты p, j точки М на плоскости – это расстояние p=OM от фиксированной точки О (полюса до точки М и угол jРОМ между лучами ОМ и ОР (полярная ось). Например: М(2, p/4).

Полярные координаты являются наиболее употребительными после декартовых координат. Это нелинейные координаты, порождающие криволинейные преобразования. При построении кривых, заданных в полярных координатах, полярные координаты переводят в декартовы. Если полюс имеет декартовы координаты (x0,y0), преобразования таковы:

x=x0+pcosj; y=y0+psinj.

Program Examp_26;

Uses crt, graph;

Var

k1,k2: Longint;

Procedure Graphinterface;

Var

driver, mode, error:Integer;

s:String;

i:0..6;

Begin

driver:=detect;

s:='';

Initgraph(driver,mode,s);

error:=GraphResult;

if error<>GrOk then

begin

writeln(GraphErrorMsg(Error));

Halt(error)

end;

SetColor(12);

for i:=0 to 6 do

begin

if i=12 then SetColor(6);

Rectangle(i,i,640-i,480-i);

end;

SetViewPort(8,8,630,470,ClipOff);

SetColor(11);SetBkColor(8);TextColor(11);

end; {Graphinterface}

Procedure Graphic;

Function R0(fi:Real):Real;

begin

R0:=3*cos(6*fi)+9;

(* {1} R0:=1; {окружность} *)

 

(* {2} R0:=fi; {спираль Архимеда} *)

(* {3} R0:=sin(7*fi);{семилепестковая роза} *)

(* {4} R0:=1-cos(fi); {кардиоида} *)

(* {5} R0:=5*cos(fi)+2; {улитка Паскаля} *)

if cos(2*fi)>=0 then

R0:=sqrt(2*cos(2*fi));

{лемниската Бернулли}

end;

Const c=2*pi;step=0.0005;

x0=320;y0=220;r=220;

Var k,Max,fi:Real;

begin

fi:=0;max:=0.0001;

{вычисление наибольшего значения функции}

Repeat

if max<abs(R0(fi)) then max:=abs(R0(fi));

fi:=fi+0.01;

Until fi>c;

fi:=0; {построение графика}



Repeat

k:=R0(fi)/max;

if k<=1 then

PutPixel(x0+Round(r*cos(k1*fi)*k),

y0+Round(r*sin(k2*fi)*k),15);

if KeyPressed then Exit else fi:=fi+step

Until fi>c

end; {Graphic}

Begin

Graphinterface;

Repeat

OutTextXY(180,14,'Введите два

коэффициента __');

GoToXY(50,2); Readln(k1,k2);

ClearViewPort;

Graphic;

OutTextXY(130,450,'Esc - выход,

Enter - изменить коэффициенты')

Until ReadKey=#27;

CloseGraph

End.

Полярный радиус и полярный угол являются первичными координатами: в цикле с шагом step изменяется полярный угол fi. Для записи уравнений в программе имеется функция R0. Ее наибольшее значение предварительно вычисляется для определения коэффициента масштабирования, который позволяет разместить график в пределах всего экрана. Вместо использования при построении декартовых координат r×cos(fi), r×sin(fi), вводятся еще два дополнительных параметра k1 и k2 в основные формулы: r×cos(k1×fi), r×sin(k2×fi). Тогда при k1=k2=1 программа будет строить стандартные графики, а при других значениях k1 и k2 выдавать множество разнообразных рисунков.




<== предыдущая лекция | следующая лекция ==>
Задача 1. | Задача 2.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.147 сек.