Minato KAWAGUTI and Satoshi TANAKA
Department of Information Science, Fukui University
9-1, Bunkyo 3-chome, Fukui-shi, 910 JAPAN
AbstractA general-purpose 3D graphics software (to be referred to tentatively as `UniGr' in what follows) intended for use in various scientific applications is discussed. It represents the further extension of the work reported by the same authors at the previous CHEP94 conference.
The ultimate goal of UniGr development is hopefully to realize simple and straight-forward means of manipulating and rendering 3D data typically representing spatial configurations of rather complex experimental apparatus, as well as to visualize data handily in 3D way.
The language which describes 3D objects is made quite simple so that it can appeal to instinctive human recognition of the 3D object in reasonably natural manner without much training. This aspect is at variance with many of existing CAD systems.
The modeler of the UniGr parses the data, and converts it into internal description format of the 3D objects based on the boundary representation (B-rep) scheme.
The renderer of UniGr performs hidden line/surface removal based entirely on rigorous geometrical calculations. Therefore UniGr is completely system independent, free from any hardware restrictions such as pixel resolution on the display screen. The identical renderer serves various purposes: for displaying the 3D image on the CRT screen during the interactive session, as well as for generating fine quality figures drawn in preparation for publications.
UniGr is not just for modeling and rendering of 3D objects. For any arbitrarily selected location of a 3D point, UniGr can report whether it is inside of an object or outside of all the constituent objects. If the former is the case, it further tells within which object (or object tree if some objects are situated within another object in a recursive way) it is locateed. Likewise, for a given spatial directional line, arc or helix, UniGr can identify at what location on the surface of one of the objects it hits, if any, for the first time along the trajectory. UniGr performs these analyses relying on the same algorithms used for 3D rendering.
UniGr is written mostly in C++, so that the advantages of the object-oriented approach can be exploited. All the graphical objects are treated as C++ objects.
One of the motivations for developing UniGr came from our desire for a self-contained graphics software which can be run on any available workstation,free from any restrictions.
To be sure, PHIGS is recognized as a ISO-approved international graphics standard.
Nevertheless there appears not much prospect, extrapolating from the current trend of PHIGS proliferation, that all of the, say, one thousand collaborators of one experiment can view and edit 3D data using daily the workstations which run PHIGS.
Maximal portability in mind, UniGr presumes neither of any specific graphics hardwares nor of commercial software packages. It can render 3D images of objects on ordinary X Window using exclusively basic Xlib without PEX, or in the form of a PostScript file. If a workstation is equipped with either OpenGL or PEX, however, it may be instructed to take advantage of available graphics features, particularly of continuous shading, for better performance and improved appearance of curved surfaces on the screen.
Submitter's Name: Minato Kawaguti
Submitter's Institution: Fukui University
Address of Institution:
Department of Information Science
Faculty of Engineering
Fukui University
9-1, Bunkyo 3-chome, Fukui-shi
910 JAPAN
Submitter's EMAIL address: kawaguti@i1nws1.fuis.fukui-u.ac.jp
Submitter's telephone number: +81-776-27-8575
Fax number: +81-776-27-8751