What asxp does
It runs under Linux (Ubuntu 16.04 LTS on my machine) and generates perspective views of algebraic surfaces via raycasting:
You define a certain polynomial f(x, y, z, a, b) in the variables x, y, z and parameters a and b in the configuration file of asxp.
Then you can go into a visualizing window for the surface, where the position of the mouse determines the parameters a and b as a0 and b0 and the surface plotted is the (two dimensional projection of the) zero-set
f(x, y, z, a0, b0) = 0
in 3d-space with coordinates x, y, z.
In total it does
- create living views of an algebraic surface under parameter change,
- produce Floyd-Steinberg dithered grayscale images of surfaces,
- create images which are cross hatched along the principal directions of curvature,
- display silhouette images,
- triangularize surfaces, smoothen and reduce the triangularization,
- produce STL models ready for 3D printing (with the help of an auxiliary program, renderstl).
Look at the video
The current version runs with CUDA support and uses the parallel processing power of the graphic card:
At the moment I give only a sketchy explanation for experts who know how to extract the necessary dependency informations from the makefiles and can change the makefiles accordingly. If you need more detailed information how to build asxp please write me an e-mail.
Generally asxp depends on Qt, boost, CGAL, GNU GTS, CUDA.
libs.txt for a way to find the necessary dependencies of asxp on an Ubuntu system with
Suppose you want to build asxp in your directory
software anywhere in your filesystem.
cd software git clone https://www.github.com/juergenboehm/asxp_npr2.git cd asxp_npr2
Modify paths and variable values in
asxp.pro and in
cuda/Makefile if necessary.
./qmakeit cd cuda make cd .. make
At the moment, the cuda library
cuda/lib/libasxp.a must always be built separately.
Jürgen Böhm - see www.aviduratas.de