Manipulate[
len=needleLength;
t=angle;
y=distance;
GraphicsGrid[{{
Graphics[
{
{
Red,
{Thick, Line[{{0,y}-len{Cos[t], Sin[t]},{0,y}+len{Cos[t], Sin[t]}}]}, 
Dashed, Line[{{0,y}-len{Cos[t], Sin[t]},{-y Cot[t], 0}}]
},
{
Blue,
{ Thick, Line[{{0,y},{0,y}-len{0, Sin[t]}}]},
 Line[{{0,y},{0,0}}],
Dashed,Line[{{0,y}-len{0, Sin[t]},{0,y}-len{Cos[t], Sin[t]} }]
},
Line[{{-5,0}, {5,0}}],
Line[{{-5,4}, {5,4}}],
{Green, Circle[{-y Cot[t], 0},.35, {0, t}]}
},
 PlotRange->{{-4, 4}, {-.5,4.5}}, ImageSize->500],
Graphics[
{ Text["Red dot shows position of needle in terms of\n - distance from nearest seam (vertical) and\n - angle with nearest seam (horizontal).      ", {0,3.75}, {-1,1}],
Text["The region consisting of those positions in    \nwhich the needle touches the nearest seam is \nin dark blue. Probability of touching seam is\ndark blue area divided by total area.             ", {0,3}, {-1,1}],
{LightBlue, Rectangle[{0,0},{Pi, 2}]}, 
{Blue,Polygon[Table[{t, len Sin[t]},{t,0, Pi,.001}]]}, 
{Red, Disk[{t,y}, .03]},
Thick,Green, Line[{{0,0}, {Pi, 0}}]
}(*,
PlotRange->{{-.5, Pi+.5}, {-.5,4.5}}*)
]
}}],
 {angle,.0001, Pi}, 
{distance, 0,2},
{needleLength,0,2}
]