NAME
Math::Volume::Rotational  Volume of rotational bodies
SYNOPSIS
use Math::Volume::Rotational qw/volume_x volume_y/;
my $volume = volume_rot_x( '(2x^2)^0.5', 2, 2 );
# equivalent:
use Math::Symbolic qw/parse_from_string/;
my $formula = parse_from_string('(2x^2)^0.5');
$volume = volume_rot_x($formula, 2, 2);
# The above calculates the volume of a sphere of radius 2 by rotating
# the halfcircle of radius 2 around the xaxis.
# This is equivalent to the wellknown formula "4/3*pi*radius^3".
# volume_rot_y works similar by rotating around the yaxis.
DESCRIPTION
This module calculates the volume of rotational bodies. These are bodies resulting from the rotation of a portion of a 2D function around an axis.
Please note that rotations around an axis other than either x or yaxis are considered highly experimental at this point.
EXPORT
None by default, but you may choose to have any of the following subroutines exported to the calling namespace via standard Exporter semantics:
volume_rot_x
volume_rot_y
volume_rot_arb
Additionally, you may use the export tag ':all' to export all of the above.
SUBROUTINES
volume_rot_x
Calculates the volume of a rotational body by rotatinf a the portion of a function graph around the xaxis. The function graph is integrated from a lower to an upper boundary.
Expects a Math::Symbolic tree or a string to be parsed as such as first argument. Second argument must be the lower boundary, third must be the upper parameter boundary.
volume_rot_y
Works the same as volume_rot_x. It calculates the volume of a rotational body by rotating a the portion of a function graph around the yaxis. The function graph is integrated from a lower to an upper boundary.
Expects a Math::Symbolic tree or a string to be parsed as such as first argument. Second argument must be the lower boundary, third must be the upper parameter boundary.
volume_rot_arb
Calculates the volume of a rotational body by rotating a portion of a function graph around an arbitrary axis in R^2. The function graph is integrated from a lower to an upper boundary. volume_rot_arb takes named arguments:
 function

This is the function to integrate over. It must be a Math::Symbolic tree or a string to be parsed as such. Needs to be a scalar function. This is a mandatory argument.
 var

Indicates the name of the variable to use for integration. This is an optional argument if the variable can be inferred from the function.
 lower_boundary_function

This optional argument indicates a function to subtract from the integration function before integration. Thus, you can calculate the volume of a hollow sphere of a given thickness.
 axis_y

Mandatory argument indicating the y value of the axis to rotate around at x=0.
 axis_slope

Indicates the slope of the axis in R^2. Mandatory argument.
 lower

The lower boundary for integration. Mandatory argument.
 upper

The upper boundary for integration. Mandatory argument.
AUTHOR
Steffen Mueller, <volumemodule at steffenmueller dot net>
SEE ALSO
New versions of this module can be found on http://steffenmueller.net or CPAN. The module development takes place on Sourceforge at http://sourceforge.net/projects/mathsymbolic/