Eugeniusz Jakubas
programy źródłowe w Pascalu

Stąd można pobrać teksty źródłowe poniższych 57 programów w Pascalu pr-pascal.zip - 34 kB

25. Przekształcenia afiniczne.

program Trzy_przeksztalcenia_afiniczne;
uses graph,crt; var karta,tryb,prz,skala:integer;
     x,y,xNowe,yNowe:real;
const t:array[1..18] of real= (0.5,-0.8,0.5,0.0,0.5,-0.1,
      0.5,0.0,0.0,0.0,0.5,0.4,0.5,0.6,-0.4,0.0,0.6,-0.4);
begin
  karta:=detect; initGraph(karta,tryb,'c:\tp\bgi'); randomize;
  x := 0; y := 0; skala:=180;
  repeat
    prz := random(3);
    xNowe:=t[prz*6+1]*x+t[prz*6+2]*y+t[prz*6+3];
    ynowe:=t[prz*6+4]*x+t[prz*6+5]*y+t[prz*6+6];
    x := xNowe; y := yNowe;
    putPixel(round(x*skala+320),round(-y*skala+240),prz+2);
  until keyPressed;
  readLn; closeGraph;
end.