Mojca Miklavec wrote:
There's a wonderful tutorial on drawing 3D graphics in PostScript on http://www.math.ubc.ca/~cass/graphics/manual/, specifically http://www.math.ubc.ca/~cass/graphics/manual/code/doughnut.eps as an example.
Thanks for the reference, it looks very interesting.
In metapost, "perfect" spheres can be drawn, like on http://www.gnu.org/software/3dldf/cdsmpls.html. But how can I add > colour?
The spheres in that example are really just circles. The "globe font" was done using Metafont, which doesn't support color at all. The sphere graphic at the beginning of that file was done using MetaPost, so the circles could be drawn in color, but I know this isn't what you mean. The glyphs from the globe font (which I plan to improve) could be colored, e.g., by using the macros defined in the `colordvi.tex' file supplied with `dvips'. Of course, a given glyph could only be printed or displayed in a single color. GNU 3DLDF does not yet possess a `sphere' type, but I plan to add one in the not-too-distant future. I also plan to add shading, but that is in the more distant future. The shading methods I'm (vaguely) familiar with operate on raster data and I haven't quite decided how to handle rasterization. I'm leaning toward using the PNG format rather than PostScript for this. I believe PostScript can be used for both vector and raster data, but my memory of the details is hazy.
The spheres drawn directly in PostScript as in the examples above still have straight lines (well, I agree that with some mathematics it would be possible to draw them with proper splines as well).
If you mean my spheres, that's an artefact of the PNG graphics. The PostScript versions look nicer. I believe that on commonly available devices, curves are ultimately drawn as short straight-line segments, though. In the code in that file, the circles have 64 points, and I thought the results were good enough. Raising it to some value x such that x % 4 == 0 and x > 64 might improve them, I haven't tried it. 32 wasn't enough. Laurence Finston http://www.gnu.org/software/3dldf/LDF.html