Area of a Parabolic Antenna

by
K. D.  Stroyan
University of Iowa

copyright 1997 by Academic Press, Inc. - All rights reserved.

Special Mathematica Functions used in this NoteBook

Off[General::spell1];
BeginPackage["surfaceArea`"];

surfaceArea::usage = "";

Begin["`Private`"];

makeSurface[ f_, x_, n_, dx_ ] :=
Module[ {surfaces, rad1, rad2, points1, points2, rectangles,
				 i},
		surfaces = { } ;
		Do[
			points1 = Table[N[{x[i] Cos[t], x[i] Sin[t],
						f[x[i]]}], {t, -Pi/4, 3 Pi/2, Pi/12} ] ;
			points2 = Table[N[{x[i+1] Cos[t], x[i+1] Sin[t],
						f[x[i+1]]}], {t, -Pi/4, 3 Pi/2, Pi/12} ] ;
			Trs = Transpose[{points1, points2}];
			For[  j=1, j <= (Length[Trs])/2, j++,
				Trs = ReplacePart[Trs, Reverse[Trs[[2*j]]], 
				2*j]  ];
			rectangles = Flatten[ Trs, 1 ] ;
			AppendTo[surfaces,
				Map[ Polygon[#]&, Partition[rectangles, 4, 2] ] ],
			{i, 0, n - 1}
		] ;
		surfaces
	]

surfaceArea[ f_, n_, {a_, b_}, opns___Rule ] :=
Module[ {dx, x, i, partition, points1, points2, points3, 
				points4, curve},
		dx = N[(b - a) / n] ;
		Do[
			x[i] = a + i dx,
			{i, 0, n} 
		] ;
		partition = makeSurface[ f, x, n, dx ] ;
		points1 = Table[{x, 0, f[x]}, {x, a, b, 0.01 (b - a)} ] ;
		points2 = Table[{0, x, f[x]}, {x, a, b, 0.01 (b - a)} ] ;
		points3 = Table[{-x, 0, f[x]}, {x, a, b, 0.01 (b - a)} ] ;
		points4 = Table[{0, -x, f[x]}, {x, a, b, 0.01 (b - a)} ] ;
		curve = Map[ Line[#]&, {points1, points2, points3,
								points4} ] ;
		Show[ Graphics3D[ curve ], 
				Graphics3D[ partition ], opns,
				Axes -> Automatic ] ;
	]
	
End[];

EndPackage[] ;

Notebook Overview

The package in the initialization cell plots a surface obtained by revolving the curve f[x] from x = a to x = b around the  y-axis.

References to the Text

This NoteBook goes with Problem 14.10  of the text.

Problem 14.11

Find an integral formula for the surface area of the surface obtained by revolving y = ((x^2)/2) about the y-axis.  Use this package to help visualize the problem.

f[x_] := ((x^2)/2); n = 5; {a, b} = {0, 3}; surfaceArea[f, n, {a, b}, 
      ViewPoint -> {-0.892, -3.164, 0.803}]