[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Pre-release
The camera capabilities from the 0.9 code are being retro-fitted to the
0.8.10 sources as a kind of smoke test. There's a semi-usable tarball at
http://mathcs.holycross.edu/~ahwang/software/epix-0.8.10rc5_complete.tar.bz2
that's neither wholly debugged nor linked from the home page, but that
does some nifty things, namely most of what the primordial 0.9.x package
did back in January, but also creates usable figures. Documentation is
scant, but the main changes are:
* All "P" functions return type <triple> (P(x,y) = (x,y,0)), so most
declarations of type <pair> need to be changed. All instances of V must
be changed to P, but should work with just this change.
* There's a <camera> class attached to an orthonormal frame {sea,sky,eye},
and which looks at the {sea,sky} "screen plane". The camera starts off at
infinite distance on the z-axis, looking down on the (x,y) plane, and
should default to the expected behavior for old files. The camera can be
rotated about any of its axes, e.g., in degrees() mode
camera.rotate_sea(30);
rotates the world clockwise 30 degrees about the sea axis. The distance
from the camera to the screen plane is set with
camera.range(20); // set distance to 20
The old viewpoint function puts the camera at the specified point, with
the z-axis vertical on the page (or the y-axis vertical if the camera is
on the z-axis). The distance is significant because the camera uses point
projection (by default), and therefore achieves much better perspective.
* A few things have been dropped:
- twist() et. al.
- shadow_plot() (what...? I'd forgotten about it myself:)
- boldvector() et. al.
- circular arcs (only temporarily) and rotated ellipses
* Neither legacy nor contrib will compile.
There will be documentation and debugged code in the near future, but if
anyone checks it out please let me know if there are problems, what
features work/don't work well, etc. (There is definitely a bug in the
frame constructor which makes the frame left-handed instead of right.) I
do not recommend installing the present tarball for ordinary use, but it's
fun to play with and should (with the changes above) compile most old
files with the same appearance. (If there are changes I've missed, please
drop a line:)
Design of the "next generation" is proceeding apace, though I expect a
more dramatic departure in the format of input files.
--Andy
Andrew D. Hwang ahwang at mathcs dot holycross dot edu
Department of Math and CS http://mathcs.holycross.edu/~ahwang
College of the Holy Cross (508) 793-2458 (Office: 320 Swords)
Worcester, MA, 01610-2395 (508) 793-3530 (fax)