

 
Manual Reference Pages  MATH::GEOMETRY (3)
.ds Aq ’
NAME
Math::Geometry  Geometry related functions
CONTENTS
SYNOPSIS
use Math::Geometry;
@P2=rotx(@P1,$angle);
@P3=rotx(@P1,$angle);
@N =triangle_normal(@P1,@P2,@P3);
@ZP=zplane_project(@P1,$d);
NOTES
This is about to get a massive overhaul, but first im adding tests,
lots of lovely lovely tests.
Currently for zplane_project onto a plane with normal of the z axis and z=0,
the function returns the orthographic projections as opposed to a perspective
projection. I’m currently looking into how to properly handle z=0 and will
update it shortly.
DESCRIPTION
This package implements classic geometry methods. It should be considered alpha
software and any feedback at all is greatly appreciated. The following methods
are available:
vector_product.
Also known as the cross product, given two vectors in Geometry space, the
vector_product of the two vectors, is a vector which is perpendicular
to the plane of AB with length equal to the length of A multiplied
by the length of B, multiplied by the sin of @, where @ is the angle
between the two vectors.
triangle_normal
Given a triangle ABC that defines a plane P. This function will return
a vector N, which is a normal to the plane P.
($Nx,$Ny,$Nz) =
triangle_normal(($Ax,$Ay,$Az),($Bx,$By,$Bz),($Cx,$Cy,$Cz));
zplane_project
Project a point in Geometry space onto a plane with the zaxis as the normal,
at a distance d from z=0.
($x2,$y2,$z2) = zplane_project ($x1,$y1,$z1,$d);
rotx
Rotate about the x axis r radians.
($x2,$y2,$z2) = rotx ($x1,$y1,$z1,$r);
roty
Rotate about the y axis r radians.
($x2,$y2,$z2) = roty ($x1,$y1,$z1,$r);
rotz
Rotate about the z axis r radians.
($x2,$y2,$z2) = rotz ($x1,$y1,$z1,$r);
deg2rad
Convert degree’s to radians.
rad2deg
Convert radians to degree’s.
pi
Returns an approximate value of Pi, the code has been cribed from Pg146, Programming Perl
2nd Ed.
EXAMPLE
use Math::Geometry;
AUTHOR
Greg McCarroll <greg@mccarroll.org.uk>
 http://www.mccarroll.org.uk/~gem/
COPYRIGHT
Copyright 2006 by Greg McCarroll <greg@mccarroll.org.uk>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html
perl v5.20.3  GEOMETRY (3)  20060819 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 