+ Let's plot this wall (using the 30 degree launch angle)

- First, let's parameterize the wall using the angle of elevation above the x-axis. The outfield wall is a straight line from the first base line until the point (425, 150). At that point, the angle is

Input := 

a1=ArcTan[150/425]//N
Output =

0.339293

- The other point where the function will need to be `broken' is (250, 325), and at that point our angle is

Input := 

a2=ArcTan[325/250]//N
Output =

0.915101

- So let's define the right field wall

Input := 

x[angle_] := 425 /; angle>=0 && angle<a1
y[angle_] := 425 Tan[angle] /; angle>=0 && angle<a1

- The center field wall is harder. First, we need a function that maps the interval between a1 and a2 onto the interval [0, Pi/2].

Input := 

map[angle_] = Pi/(2(a2-a1))(angle-a1);

- We can parameterize a quarter circle of radius 175 and translate it

Input := 

x[angle_]:=175 Cos[map[angle]]+250 /;
	angle>=a1 && angle <a2
y[angle_]:=175 Sin[map[angle]]+150 /;
	angle>=a1 && angle <a2

- Now the left field wall

Input := 

x[angle_]:=250(Pi/2-angle)/(Pi/2 - a2) /;
	angle>=a2 && angle<N[Pi/2]
y[angle_]:=325 /;
	angle>=a2 && angle<N[Pi/2]
Input := 

ParametricPlot[{x[angle], y[angle]},
	{angle,0,Pi/2-.0001}];

- Now let's get the height of the wall.

Input := 

distance[angle_] = Sqrt[x[angle]^2 + y[angle]^2];
Input := 

z[angle_] :=
	vert[Solve[horiz[t]==distance[angle],t][[1,1,2]]]
Input := 

ParametricPlot3D[{x[angle], y[angle], z[angle]},
	{angle,0,Pi/2-.0001}];

- Or, from behind the plate

Input := 

ParametricPlot3D[{x[angle],y[angle],z[angle]},
	{angle, 0, Pi/2-.0001},
	ViewPoint -> {-10, -10, 0}];