[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)