``````README: Math::Zap
Draw 3D objects in 2D

This package supplies methods to draw a scene, containing three
dimensional objects, as a two dimensional image, using lighting and
shadowing to assist the human observer in reconstructing the original
three dimensional scene.

Example zap.pl

#!perl -w
#______________________________________________________________________
# Draw triangles with shadows in 3d
# PhilipRBrenan@yahoo.com, 2004.
#______________________________________________________________________

use Math::Zap::Draw;
use Math::Zap::Cube unit=>'cu';
use Math::Zap::Triangle;
use Math::Zap::Vector;

#_ Draw _______________________________________________________________
# Draw this set of objects.
#______________________________________________________________________

draw
->from    (vector( 10,   10,  10))
->to      (vector(  0,    0,   0))
->horizon (vector(  1,  0.5,   0))
->light   (vector( 20,   30, -20))

->object(triangle(vector( 0,  0,  0), vector( 8,  0,  0), vector( 0,  8,  0)),                         'red')
->object(triangle(vector( 0,  0,  0), vector( 0,  0,  8), vector( 0,  8,  0)),                         'green')
->object(triangle(vector( 0,  0,  0), vector(12,  0,  0), vector( 0,  0, 12)) - vector(2.5,  0,  2.5), 'blue')
->object(triangle(vector( 0,  0,  0), vector( 8,  0,  0), vector( 0, -8,  0)),                         'pink')
->object(triangle(vector( 0,  0,  0), vector( 0,  0,  8), vector( 0, -8,  0)),                         'orange')
->object(cu()*2+vector(3,5,1), 'lightblue')

->done;

See directory eg for further examples.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

INSTALL
This is alpha code. It is written in pure Perl. It uses the standard
Perl install mechanism.

perl Makefile.PL
make
make test
make install

If you are on Windows, use nmake, available at:

.exe

For bug reports or suggestions please send email to:
philiprbrenan@yahoo.com

TO DO
Help with this project would be appreciated, expecially in the following
areas:

Optimization

Cylinders, spheres, torii

Integration of incident power

More object types

Lighting effects

Textures for each plane

``````