![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Воощем у меня есть график для построения синуса и косинуса,а как мне его переделать для
построения графиков y=tg (x), y=ctg (x) построения графиков y=sec (x), y=cosec (x) построения графика циклоиды y=a (t-sin t) ?? Код:
unit ugraf; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons; type TFgraf = class(TForm) Panel1: TPanel; Image1: TImage; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure formcreate(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Fgraf: TFgraf; implementation {$R *.dfm} procedure TFgraf.BitBtn1Click(Sender: TObject); var alpha1, alpha2: Integer; // переменные для начального // и конечного значения угла z: integer; // переменная для организации цикла q: integer; // внутренний счетчик fun: integer; // Значение функции в цикле begin alpha1:= StrToInt(Edit2.text); //Считываем начальное значение угла alpha2:= StrToInt(Edit3.Text); // Конечное значение угла q:= 2; for z:= alpha1 to alpha2 do // Создаем цикл от начального до конечного //значения угла begin if UpperCase(Edit1.text) = 'SIN' then fun:= round(sin(z*3.14/180)*60); if UpperCase(Edit1.text) = 'COS' then fun:= round(cos(z*3.14/180)*80); image1.canvas.pixels[q,fun+ image1.Height div 2]:= clBlack; inc(q); end; end; procedure TFgraf.BitBtn2Click(Sender: TObject); var r: TRect; begin r:= rect(0, 0, image1.width, image1.height); with Image1.canvas do begin brush.style:= bsSolid; fillrect(r); pen.color:= clRed; rectangle(2, 2, image1.width-2, image1.height-2); moveto(2,image1.Height div 2); lineto(image1.width-2,Image1.Height div 2); end; end; procedure TFgraf.formcreate(Sender: TObject); begin edit1.text:= 'SIN'; edit2.text:= '1'; edit3.text:= '1000'; end; end. |