b=0.6;
(* random points *)
ptsA = Table[{RandomReal[{0,5}],RandomReal[{0,5}]},{i,10}];
(* time dilation example *) 
(*ptsA = {{0,0},{0,1},{0,2},{0,3},{0,4},{0,5}};*)
(* another time dilation example *) 
(*ptsA = {{1,0},{1,1},{1,2},{1,3}};*)
(* length contraction example *)
(*ptsA = {{0,0},{0,.5},{0,1},{0,1.5},{0,2},{0,2.5},{0,3},{0,3.5},{0,4},{0,4.5},{0,5}, {1,0},{1,.5},{1,1},{1,1.5},{1,2},{1,2.5},{1,3},{1,3.5},{1,4},{1,4.5},{1,5}};*)
(* lack of simultaneity example *)
(*ptsA={{-2,2},{-1,2},{0,2},{1,2},{2,2},{6,2}};*)
(* speed of light example *)
(*ptsA = {{0,0},{1,1},{2,2},{3,3},{4,4}};*)
(* speed of light example 2 *)
(*ptsA = {{1,0},{2,1},{3,2},{4,3},{5,4}};*)
(* grid *)
(*ptsA= {{0,0},{0,1},{0,2},{0,3},{1,0},{1,1},{1,2},{1,3},{2,0},{2,1},{2,2},{2,3},{3,0},{3,1},{3,2},{3,3}};*)

Print["list of points in frame A: ",ptsA] 
rangeA=1.1 Max[Abs[ptsA]];
Print["beta = ",b]
g=1/Sqrt[1-b^2];
Print["gamma = ",g]
m = {{g, -g b},{-g b, g}};
Print["transformation matrix is ",%//MatrixForm]
ptsB=(m.# )& /@ ptsA;
Print["list of points in frame B: ",ptsB]
rangeB=1.1 Max[Abs[ptsB]];
plotApts=ListPlot[ptsA, PlotStyle->{Black,PointSize[Large]}, PlotRange->{{-rangeA,rangeA},{-rangeA,rangeA}}, AspectRatio->1, ImageSize->Large, TicksStyle->Large];
plotAlines=Plot[{x,-x,1000  x, (1/b) x},{x,-rangeA,rangeA},PlotStyle->{{Dashed,Red},{Dashed,Red},{Thick,Blue},{Thick,Green}}, PlotRange->{{-rangeA,rangeA},{-rangeA,rangeA}}, AspectRatio->1];
plotA=Show[plotApts,plotAlines];
plotBpts=ListPlot[ptsB, PlotStyle->{Black,PointSize[Large]}, PlotRange->{{-rangeB,rangeB},{-rangeB,rangeB}}, AspectRatio->1, ImageSize->Large, TicksStyle->Large];
plotBlines=Plot[{x,-x,-(1/b) x, 1000 x},{x,-rangeB,rangeB},PlotStyle->{{Dashed,Red},{Dashed,Red},{Thick,Blue},{Thick,Green}}, PlotRange->{{-rangeB,rangeB},{-rangeB,rangeB}}, AspectRatio->1];
plotB=Show[plotBpts,plotBlines];
GraphicsRow[{plotA,plotB}]