catenoid cube45 ellipsoid rounded-cube45 sphere composition

Volgen/Volcompose pages


Volgen

Volgen is a command line program that creates geometric figures in vol format and compute a signature file.

Output
Command
catenoid
volgen catenoid -c 20 -v catenoid.vol
Here, we tell volgen to draw a catenoid with with parameter c = 20, where c is as described in the page Catenoid from mathworld. The -v option tells volgen to write the result in the file catenoid.vol.
cube
volgen cube -len 15 -rx 45d -v cube45.vol
We draw a cube of len 15 and rotated of 45 degree around the X axis (-rx option).
ellipsoid
volgen ellipsoid -a 5 -b 10 -c 15 -v ellipsoid.vol
rounded cube
volgen rounded-cube -len 15 -rx 45d -v rounded-cube45.vol
sphere
volgen sphere -r 35 -v sphere.vol

More figures will be available soon. To visualize these figures, we have converted the vol files to the geomview file format with vol2geom.

Volcompose

Volcompose is an other way to create synthetic objects. Instead of taking arguments in command line, it reads a description of the figures. It allows composition of figures.
Output
Description & command
catenoid
-- catenoid.src --
Catenoid c {
	rotation-Z = 0.5; /* This is a comment a là C */
	params {
		c = 20;
	}
};
-- command line --
volcompose -v catenoid.vol < catenoid.src
cube
-- cube.src --
volgen cube -len 15 -rx 45d -v cube45.vol
Cube c {
	rotation-X = 45d;
	params {
		len = 15;
	}
};
-- command line --
volcompose -v cube.vol < cube.src
ellipsoid
-- ellipsoid.src --
Ellipsoid e { 
	params { a = 5; b = 10; c = 15 }
/* This
is
a multi-line
comment. */
};
-- command line --
volcompose -v ellipsoid.vol < ellipsoid.src
rounded cube
-- rounded-cube.src --
RoundedCube rc {
	rotation-X = 45d;
	params { len = 15; }
};
-- command line --
volcompose -v rounded-cube.vol < rounded-cube.src
sphere
-- sphere.src --
Sphere s { params { r = 25; } };
-- command line --
volcompose -v sphere.vol < sphere.src
composition
-- composition.src --
Cube c   { params { len = 15; } };
Cube cx1 { rotation-X = 45d; params { len = 15; } };
Cube cx2 { rotation-X = 90d; params { len = 15; } };
Cube cx3 { rotation-X = 135d; params { len = 15; } };
Cube cy1 { rotation-Y = 45d; params { len = 15; } };
Cube cy2 { rotation-Y = 90d; params { len = 15; } };
Cube cy3 { rotation-Y = 135d; params { len = 15; } };
Cube cz1 { rotation-Z = 45d; params { len = 15; } };
Cube cz2 { rotation-Z = 90d; params { len = 15; } };
Cube cz3 { rotation-Z = 135d; params { len = 15; } };
-- command line --
volcompose -v composition.vol < composition.src
The main difference between volcompose and volgen is that volcompose can draw many figures in the same volume file. In that case, the signature file has no meaning (it is just the concatenation of the signatures of the different figures).


Download


Volgen and volcompose have been successfully compiled on : They should compile on other unices too.
You need the Vol library to build volgen and volcompose. You also need flex and bison but for volcompose only.
You also should download the vol tools, very useful to hanle your .vol files.

See also :

The Vol library, The Vol tools.
Data sets main page, The TC18 main page.

Contact

Alexis Guillaume
David Coeurjolly

Valid HTML 4.0! Edited with vim