Browsing by Author "Gujar, Uday, G."
Now showing 1 - 17 of 17
Results Per Page
Sort Options
Item 3-D graphics in APL: user perspective(1988) Gujar, Uday, G.The purpose of this document is to explain how a user can generate and display three dimensional objects in APL. We will not deal with how the system is put together. The top-down approach will be used.Item 3-D solids from 2-D views(1988) Gujar, Uday, G.; Nagendra, I., V.An algorithm to generate three dimensional sold objects, made up of planar surfaces, from the given three conventional engineering orthographic views is presented in this paper. Consisting of six major steps, the algorithm has been programmed in C on IRIS 1400 graphics workstation. The algorithm generates all possible solutions. The infinite space has been divided into finite subspaces by making use of the surface normals and the direction of travel of the edges that connect the faces. Classification of the probable 3-D subobjects into the certain and uncertain ones has proved to be very useful in reducing the time taken by the algorithm. Several illustrative examples, simple as well as complex giving single and multiple solutions, are included.Item A computer aided design tutorial system (CADETS)(1986) Slipp, Leonard; Gujar, Uday, G.Computer aided design (CAD) systems have proved to be a very valuable toll widely used in industry. These systems are often expensive both from the hardware and software point of view. As such first hand training becomes an expensive proportion especially in an environment where training is the main goal and production a secondary or a minor goal. Such is the case in the educational institutions. This paper describes a two-dimensional Computer Aided Design Tutorial System (CADETS) modelled after Unigraphics I. Written in APL, the system does not demand any knowledge of APL for the user. An IBM 3279 colour graphics terminal is used as a graphics input as well as output device. The screen is divided into five windows. The main, and the largest, window is used for graphics; the others are used for user communication. Menus are used extensively to generate, modify and manipulate the display. Within CADETS, there are currently eleven ways to create a point, thirteen ways to create a line segment, ten ways to specify a circular arc and several functions to generate common geometric objects such as triangles, rectangles, polygons, etc. Once created, the user may edit the graphics model by deleting geometric entities either individually or in a group. Line segments may be extended or trimmed to specified boundaries, constrained to intersect at a corner, etc. Arcs may be extended or truncated so that they would be bound by specified angles or points or lines which intersect them. The visual attributes of any entity may be changed. The user can also control the view area and scale of model thus providing a pan and zoom capability to concentrate on selected areas of the display. An interface has been provided to produce a hardcopy on a variety of devices. The system has been used by several users including high school students who were unaware of even the existence of APL. The system requires minimal investment on hardware as well as software compared to sophisticated expensive systems, yet provides tools for teaching several fundamental CAD techniques. Plans are underway to enhance 2-D capabilities, incorporate other inexpensive graphics devices and include 3-D graphics.Item A device independent computer plotting system(1976) Gujar, Uday, G.Almost every computing centre has a variety of plotting devices. Software available for these plotting devices is often device dependent. As a result, in order to switch from one plotting device to another, the user has to make several programming changes. This procedure is error prone and time consuming. This paper describes a device independent computer plotting system which is based on several routines accessible from FORTRAN IV. The transition from one plotting device to another is completely transparent to the user of this system. The paper begins with the descriptions of various plotting devices and plotting modes. This is followed by an overview which consists of an example and functional descriptions of all the routines. The system interface and the basis on which the device independence is achieved are discussed in the later portion of the paper. Finally, the data structures used in the offline mode of plotting, the algorithms used in the various driver routines and the mechanism used to account for the plotting resources are presented. The interface for adding a new plotting device has been formalized and defined. The system is open ended and can be expanded in the device independent as well as the device dependent area.Item A driver for raster-like plotting devices(1976) Gujar, Uday, G.; Fitzgerald, J., A.Electrostatic plotter type devices, CRT or hardcopy, are basically printers which allow the "paper" movement only in one direction. As a result, the entire display file has to be created before the process of generating the display can begin. This arrangement differs significantly from the X-Y plotters where the "plotting pencil" and/or paper may be moved in any direction. An algorithm for generating a display on the electrostatic plotter type devices is described in this paper. This algorithm is based upon creating and maintaining a vector file consisting of end points of visible vectors, sorting these vectors, and then generating the plot - a strip at a time. Only the points that lie within the strip are calculated. The details of implementation and the data structure used are discussed. There is no restriction on the size of the display that can be generated; in fact, plots of size 100" by 20" have been produced using this algorithm. No a-priori knowledge of the extent of the plot is required. The algorithm has been designed to operate in a device independent computer plotting system and has worked very satisfactorily without imposing any restrictions on the users. Key Words and Phrases: graphics, electrostatic plotters, raster displays, vector generation, data structure, sorting.Item A method for designing a lexical analyzer(1979) Gujar, Uday, G.; Dedurek, John, M.; McIntyre, Marion, E.The scanner is a subroutine which is frequently called by an application program like a compiler. The primary function of a scanner is to combine characters from the input stream into recognizable units called tokens. A method has been presented in this paper for designing such a scanner, also frequently referred to as a lexical analyzer in the current literature. The major steps involved in this design process are: identification of tokens, construction of a state diagram, building driver tables and finally writing a scanning routine. The rules for generating the driver tables are described and an algorithm for the scanner, utilizing these driver tables, is included. The method has been successfully used to build the system scanner for a user oriented plotting language. It is concluded that the method is well defined, gives rise to a modular design and as such easily lends itself to language extensions.Item Analysis and synthesis of interpolating functions for 3-D objects(1986) Datar, Narendra, N.; Gujar, Uday, G.; Bhavsar, Virendra, C.Interpolation technique has been used for generation of three dimensional surfaces. This paper first analyses the objects generated by specified interpolating functions. Both linear and non-linear interpolating functions are used to generate interesting objects. None of these objects can be generated using the technique of surface of revolution. The paper discusses various choices for the interpolating weighting functions and introduces the idea of modifying functions to incorporate second order of non-linearity. Several interesting objects, such as those resembling chess pieces, vase, goblets, etc., are presented. The main feature of the generated objects is that they have a compact mathematical representation. Subsequently, we consider the reverse process where the characteristics of the desired shape are given and the interpolating functions are to be determined. The Fourier series expansion is used to determine an interpolating function which gives rise to the desired object using non-linear interpolation. This synthesis process is illustrated with several examples. CR Categories and Subject Descriptors: G.1.1 [Numerical Analysis]: Interpolation - Linear and Nonlinear, Fourier Series Analysis, I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling - curve, surface, sold and object representation. General Terms: Analysis and Synthesis, Generation of 3-D Objects. Additional Keywords and Phrase: inbetweening, blending and modifying functions.Item Automatic job scheduling in hasp(1977) Gujar, Uday, G.; Fellows, David, M.Multiprogramming systems require that a fair, equitable algorithm be used for the scheduling of jobs. This paper discusses some of the problems associated with this and proposes an automatic job scheduling algorithm. The major parts of the algorithm have been implemented and have been in use for over one year. The user interface is simplified and the operational complexities are minimized. The parameters used for the algorithm are the estimates of the central processor time and the memory required by the job. All types of jobs including those requiring operator attention during execution are covered under the scheme. Operational data and the reactions from the users indicate that the results have been as expected.Item Computer display of characters(1983) Gujar, Uday, G.; So, Frank, W., L.This paper describes a general and flexible character generator which is capable of producing virtually an unlimited number of character fonts. To demonstrate this flexibility, eight different fonts, ranging from Roman letters and symbols, double line letters, APL characters etc. to a Devanagari script have been generated. These fonts have been chosen to see how characters with wide ranging requirements can be generated. For example, the Devanagari script requires combinations of different characters to produce various symbols; in fact, each of the basic 35 letters of this script can be combined in 12 different ways. This involves superimposing more than one character. Each of the fonts can be manipulated in a variety of different ways. The user can display a desired character string, with specified height and width, anywhere on the display device with any inclination, each character in the string having a desired orientation. Moreover, various other transformations, such as stretch, fall and skew, can be applied to the string. Interesting results are obtained by applying combinations of these transformations to a string. Mathematical formulae for all the transformations are derived and the results are included. The system is described both from the user's as well as system programmer's point of view. A generalized data structure is designed to define any font; the complete details of the data structure are given. Characters containing intricate details can be generated within the scope of the data structure. Several examples illustrating the ease of use and the flexibility of the system are given. Programmed in a device independent graphics environment, this facility can be used even by a novice FORTRAN programmer. Keywords: Character generation, computer graphics, multiple fonts, transformation of charactersItem Computer Processing of Musical Scores(1985) Gujar, Uday, G.; Crawford, Claudia, A.This paper proposes an encoding scheme for printed music. A computerized system is designed and implemented to read music as human-encoded symbols, decode and store it within the computer, and to print it our either in its original key or in another key specified by the user. The graphics output is obtained by translating musical symbols into positional information and plotting it on a high resolution digital plotter. The rules for transposition, including those for transposing accidentals, are formalized. These have been programmed and appear to work correctly. The graphic output obtained is of high quality and should be acceptable for several purposes. The usefulness of the system would be increased immensely by providing a graphical input phase. Several plotter outputs of examples of musical scores along with the required coding are included.Item Fractal images from z <- za + c in the complex c-plane(1988) Gujar, Uday, G.; Bhavsar, Virendra, C.In this paper, we propose the generalized transformation function z <- z[superscript a] + c for generating fractal images. The self-squared function z <- z[superscript 2] + c, which is discussed extensively in the literature, is a special case of this function. A multitude of interesting, intriguing and rich families of fractals are generated by changing a single parameter, a. Direct relationships are observed between a and the visual characteristics of the fractal image in the c-plane. The exponent a can be represented as a = +-(n+e), where n and e are the integer and fractional parts, respectively. It is found that when a is a positive integer number, the resulting image contains lobular structures. The number of major lobes equals (n-1). When a is a negative integer number, the generated fractal image is a planetary structure consisting of overlapping central planets surrounded by satellite structures. The number of satellite structures equals (n+1). A continuous variation of a between two consecutive integers results into a continuous proportional change between the two limiting fractal images. Several conjectures about the visual characteristics of the images and the value of a are stated.Item Geometric fractals using traversal strategies(1992) Gujar, Uday, G.; Bhavsar, Virendra, C.; Choi, Stephen, Y. M.; Kalra, Prem, K.In the literature it is assumed that given a line segment and a generator there is only one way to replace the line segment by the generator to produce the fractal image, i.e., a fixed traversal direction is assumed for each segment. We introduce the concept of traversal strategies wherein each of the segments of the initiator and generator can be traversed in three ways. This results in 3M • 3Q fractal images for a Q-segment initiator and an M-segment generator; these are referred to as the traversed geometric fractals. In contrast, a single fractal image is obtained without the use of traversal strategies. A software tool, Rangoli, has been developed to generate traversed geometric fractals. Several examples are included. Keywords: Geometric fractals, traversal strategies, generators, initiators, fractal images.Item Interpolation techniques for 3-D object generation(1987) Gujar, Uday, G.; Bhavsar, Virendra, C.; Datar, Narendra, N.The technique of interpolation (or blending) and its generalization is considered in this paper. A unifying model for generating 3-D objects using this technique is presented. Various factors which affect the shape of generated objects are identified. Several illustrative examples of 3-D objects generated by this technique, using linear as well as non-linear interpolation, are presented. Although many of the objects have complex shapes, they are represented by simple closed form mathematical equations.Item oSCUBA a buffered core graphic system(1979) Gujar, Uday, G.; Nagesh, Aragam, R.The graphics community is recently taking a close look at graphics standardization prompted by issues such as portability of software, application program structure, diverse hardware, etc. Through these efforts, the Graphic Standards Planning Committee of ACM/SIGGRAPH has proposed a standard. This standard advocates four levels of the Core system, namely basic, buffered, interactive and complete. This paper describes a Level 2 (i.e. buffered) implementation of the Core system in APL, referred to as oSCUBA (APL BUffered Core System). The details of the structure and organization of oSCUBA are given. The implementation is highly modular in nature, provides both two and three dimensional capabilities with several types of projective transformations and supports full segmentation capabilities. Several examples illustrating the use of the system are included. The interactive nature of APL is found to be attractive. Some deviations from the Core system have been incorporated. These include a modular hardcopy interface to produce graphics on plotters etc. and a facility to retain world coordinates of the objects. The system, though appearing to be satisfactory, has to undergo further testing to gain user confidence.Item Remote job entry and output through APL(1974) Gujar, Uday, G.The power of interactive computing and especially of APL is already well recognized. Some limitations and inconveniences of processing a job through batch can at least partially be offset by providing a similar processing capability for O.S. jobs from an APL terminal. This paper describes such a facility. The system, called RJE/RJO, is first described from the APL user's point of view. The later portion of the paper discusses the system design and implementation. The facility, which has satisfied the needs of a number of users, has been used under APL/360 and is currently being used under APLSV.Item Subroutines with variable number of arguments(1975) Gujar, Uday, G.In designing a general purpose subroutine package to solve a class of problems, one often has to write subroutines with a large number of arguments. Though these arguments are required to cover a range of possibilities, many of these arguments have some commonly occurring values. The user is usually burdened with supplying a long list of arguments and making sure that the number and types match. Alternate solution is to write such subroutines in the assembly language so that they could have variable number of arguments. This approach eliminates a large class of program designers who do not and do not want to know the assembler language. This paper describes a facility which enables these program designers to write their routines completely in a higher level language (FORTRAN) and yet enjoy the "luxury" of having variable number of arguments in the calling sequence.Item User interface to a flexible character generator(1986) Gujar, Uday, G.