Układ współrzędnych w Pascalu


(plwisnia) #1

Witam mam zrobić układ współrzędnych we FreePascalu i nie wiem jak to zrobić. Mam już takie coś:

 

 

program uklad;

uses


([alex]) #2

Rysujesz linie pionową oraz linie poziomą.


(floyd) #3

np. tak:

program wykresy;
uses crt,graph;
var i,j:integer;
var wsp1,wsp2:integer;
var dz:integer;
var ster,tryb:integer;
var x,y,a,b,p1,p2:integer;
var SrodekX, SrodekY :integer;
const liczba=400;
begin
clrscr;
         ster:=vga;
         tryb:=vgahi;
         initgraph(ster,tryb,'');
wsp1:=640; wsp2:=480; SrodekX:=320; SrodekY:=240;
dz:=20;
for i:=1 to wsp2 do
  begin
    if (i mod dz=0) then
     begin
      line(SrodekX-1,i,SrodekX+1,i)
     end;
  end;
 for i:=1 to wsp1 do
  begin
   if (i mod dz =0) then
     begin
      line(i,SrodekY-1,i,SrodekY+1)
     end;
  end;
 line(SrodekX,0,SrodekX,Wsp2);
 line(0,SrodekY,wsp1,SrodekY);
 line(SrodekX,0,SrodekX+4,15);
 line(SrodekX,0,SrodekX-4,15);
 line(wsp1,SrodekY,wsp1-15,SrodekY+4);
 line(wsp1,SrodekY,wsp1-15,SrodekY-4);
for i:=1 to wsp2 do
begin
 for j:=1 to wsp1 do
  begin
    if (i mod dz=0) and (j mod dz=0) then
     begin
     putpixel(j,i,white);
     end;
  end;
end;
 {wykres funkcji liniowej y=2|x|+1}
a:=2; b:=1;
for x:=-liczba to liczba do
 begin
  p1:=SrodekX+x*dz;
  p2:=SrodekY-(a*abs(x)+b)*dz;
  setcolor(green);
  putpixel(p1,p2,(green));
  lineto(p1,p2);
 end;
{wykres funkcji liniowej y=-x+4}
a:=-1; b:=4;
for x:=-liczba to liczba do
 begin
  p1:=SrodekX+x*dz;
  p2:=SrodekY-(a*x+b)*dz;
  setcolor(yellow);
  putpixel(p1,p2,(yellow));
  lineto(p1,p2);
 end;
OutTextXY(4*dz,SrodekY+2*dz,'rozwiazanie ukladu rownan');
OutTextXY(4*dz,SrodekY+3*dz,'y=-x+4');
OutTextXY(4*dz,SrodekY+4*dz,'y=2|x|+1');
OutTextXY(SrodekX+dz+10,SrodekY-3*dz,'(1,3)');
OutTextXY(SrodekX-3*dz-50,SrodekY-7*dz,'(-3,7)');
OutTextXY(wsp1-10,SrodekY+10,'X');
OutTextXY(SrodekX-15,10,'Y');
setcolor(white);
SetLineStyle(3,1,1);
line(SrodekX-3*dz,SrodekY,SrodekX-3*dz,SrodekY-7*dz);
line(SrodekX-3*dz,SrodekY-7*dz,SrodekX,SrodekY-7*dz);
line(SrodekX+dz,srodekY,SrodekX+dz,SrodekY-3*dz);
line(SrodekX+dz,SrodekY-3*dz,SrodekX,SrodekY-3*dz);
readln();
end.