Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ График

Автор: yome 24.04.2007 19:42

 ! 
Пользуйся тегами [ code = pas ] [ / code ]
klem4


вот код программы,никак не могу сообразить как закрасить точки входящие в sin(x), прошу помощи

Program xz_1;
uses Graph;
const Xc = 320; Yc = 240; zoom = 10;
var c,a1,b1,a,b,Gd,Gm,ErrorCode,int_x,int_y,step:Integer;
x,y,sinx:real;
begin
Gd := Detect;
InitGraph(Gd, Gm, '');
ErrorCode := GraphResult;
If ErrorCode <> 0 Then
Begin
WriteLn('Owibka: ', GraphErrorMsg(ErrorCode));
Halt(1);
End;
{Koordinati i wkala}
Line(Xc,Yc-210,Xc,Yc+210);
Line(Xc-290,Yc,Xc+290,Yc);
Line(Xc,Yc-210,Xc-10,Yc-190);
Line(Xc,Yc-210,Xc+10,Yc-190);
Line(Xc+290,Yc,Xc+270,Yc-10);
Line(Xc+290,Yc,Xc+270,Yc+10);
OutTextXY(Xc+280,Yc+10,'X');
OutTextXY(Xc-20,Yc-200,'Y');
OutTextXY(Xc-10,Yc+5,'0');
Line(Xc-29*Zoom,Yc-8*Zoom,Xc+29*Zoom,Yc-8*Zoom);
Line(Xc-10*Zoom,Yc-12*Zoom,Xc+10*Zoom,Yc-12*Zoom);
Line(Xc-3*Zoom,Yc,Xc-3*Zoom,Yc-8*Zoom);
Line(Xc-(38),Yc-2*Zoom,Xc,Yc-2*Zoom);
Line(Xc-38,Yc-135,Xc+4*Zoom,Yc-25);
SetLineStyle(3,2,1);
Line(Xc-6*Zoom,Yc,Xc-6*Zoom,Yc-8*Zoom);
Line(Xc+6*Zoom,Yc,Xc+6*Zoom,Yc-8*Zoom);
x:= Xc-6*Zoom;
sinx:=Pi;
step:=0;
While sinx > -Pi do
begin
step := step+1;
sinx:=sinx-Pi/120;
y:= Yc-8*Zoom+4*Zoom*Sin(sinx);
int_x := trunc(x);
int_y := trunc(y);
x:= x+0.5;
PutPixel(int_x,int_y,white);
end;
For a:=Xc-32*zoom+1 to Xc-1 do
for b:=Yc-8*zoom+1 to Yc-2*zoom-1 do
begin
a1:=a-Xc;b1:=b-Yc;
if a1>-30 then begin
PutPixel(a,b,red);
end;
end;

For a:=Xc-3*zoom+1 to Xc+32*zoom-1 do
for b:=Yc-12*zoom+1 to Yc-8*zoom-1 do
begin
{ a1:=a-Xc;b1:=b-Yc;
if a1>-30 then begin}
PutPixel(a,b,red);
{ end;}
end;



ReadLn;
end.



Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: compiler 24.04.2007 22:09

Цитата(yome @ 24.04.2007 15:42) *
вот код программы,никак не могу сообразить как закрасить точки входящие в sin(x), прошу помощи
ПОИСК-> постройка графика
http://forum.pascal.net.ru/index.php?showtopic=2729&st=0&p=23770&#entry23770

Автор: Tan 24.04.2007 22:12

Compiler, по - моему проблема не в построении графика, а в том, как закрасить область графика под функцией sin (x) (геометрический смысл определённого интеграла). Если именно это автор имел ввиду под

Цитата
не могу сообразить как закрасить точки входящие в sin(x),

Автор: yome 24.04.2007 22:25

Цитата(Tan @ 24.04.2007 19:12) *

Compiler, по - моему проблема не в построении графика, а в том, как закрасить область графика под функцией sin (x) (геометрический смысл определённого интеграла). Если именно это автор имел ввиду под



Так точно! Не могу закрасить область