The system efficiency and throughput of most architectures are critically dependent on the ability of the memory subsystem to satisfy data operand accesses. This ability is in turn dependent on the distribution or layout of the data relative to the access of the data by the executing code. Page faults, cache misses, truncated vectors, global communication, for example, are expensive but common symptoms of data and access misalignment.

\r\n\r\nCompiler optimization, traditionally synonymous with code optimization, has addressed the issue of efficient data access by manipulating the code to better access the data under a fixed, default distribution. This approach is restrictive, and often suboptimal. Data optimization, or data-layout optimization, is presented as an integral part of compiler optimization.

\r\n\r\nFor scalar data, a good compile-time approximation of the \"reference string,\" or sequence of data accesses, is advanced for the purpose of distributing the data. However, the optimal distribution of the scalar data for such, or any, reference string is proved NP-complete. A methodology and a polynomial algorithm for an approximate solution are developed. Experiments with representative, but scaled, scientific programs and execution environments display a reduction in cache misses up to two orders in magnitude.

\r\n\r\nFor array data, compile-time predictions of the patterns in which the data is accessed by programs in scalar and array languages are examined. For arbitrary computations in an array language, the determination of the optimal layout of the data is proved to be NP-complete. Polynomial techniques for the approximate solutions to the optimal layout of arrays in both languages, scalar and array, are outlined.

\r\n\r\nThe general applicability of the techniques, in terms of environments other than hierarchical memories, and in terms of interdependence with code manipulations, is discussed. New code optimizations inspired by the data distribution techniques are motivated. The prudence of compiler- over user-optimized data distribution is argued.

", "doi": "10.7907/E8DD-VG68", "publication_date": "1991", "thesis_type": "phd", "thesis_year": "1991" }, { "id": "thesis:1333", "collection": "thesis", "collection_id": "1333", "cite_using_url": "https://resolver.caltech.edu/CaltechETD:etd-04102008-142130", "primary_object_url": { "basename": "Lien_slc_1985.pdf", "content": "final", "filesize": 5827040, "license": "other", "mime_type": "application/pdf", "url": "/1333/1/Lien_slc_1985.pdf", "version": "v4.0.0" }, "type": "thesis", "title": "Combining Computation with Geometry", "author": [ { "family_name": "Lien", "given_name": "Sheue-Ling Chang", "clpid": "Lien-Sheue-Ling-Chang" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" }, { "family_name": "Mead", "given_name": "Carver", "clpid": "Mead-C" }, { "family_name": "Lewicki", "given_name": "George W.", "clpid": "Lewicki-G-W" }, { "family_name": "Fender", "given_name": "Derek H.", "clpid": "Fender-D-H" }, { "family_name": "Barr", "given_name": "Alan H.", "clpid": "Barr-A-H" }, { "family_name": "Martin", "given_name": "Alain J.", "clpid": "Martin-A-J" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "This thesis seeks to establish mathematical principles and to provide efficient solutions to various time consuming operations in computer-aided geometric design. It contains a discussion of three major topics: (1) design validation by means of object interference detection, (2) object reconstruction through the union, intersection, and subtraction of two polyhedra, and (3) calculation of basic engineering properties such as volume, center of mass, or moments of inertia.

\r\n\r\nTwo criteria are presented for solving the problems of point-polygon enclosure and point-polyhedron enclosure in object interference detection. An algorithm for efficient point-polyhedron-enclosure detection is presented. Singularities encountered in point-polyhedron-enclosure detection are categorized and simple methods for resolving them are also included.

\r\n\r\nA new scheme for representing solid objects, called skeletal polyhedron representation, is proposed. Also included are algorithms for performing set operations on polyhedra (or polygons) represented in skeletal polyhedron representation, algorithms for performing edge-edge intersection and face-face intersection in a set operation, and a perturbation method which can be used to resolve singularities for an easy execution of edge-edge intersection and face-face intersection.

\r\n\r\nA symbolic method for calculating basic engineering properties (such as volume, center of mass, moments of inertia, and similar integral properties of geometrically complex solids) is proposed. The same method is generalized for computing the integral properties of a set combined polyhedron, and for computing the integral properties of an arbitrary polyhedron in m-dimensional (R^{m}) space.

A new method of compaction for VLSI circuits is presented. Compaction is done simultaneously in two dimensions and uses a Monte Carlo simulation method often referred to as simulated annealing for optimization. A new curvilinear representation for VLSI circuits, specifically chosen to make the compaction efficient, is developed. Experiments with numerous cells are presented that demonstrate this method to be as good as, or better than the hand compaction previously applied to these cells. Hand compaction was the best previously known method of compaction. An experimental evaluation is presented of how the run time complexity grows as the number, *N*, of objects in the circuit increases. The results of this evaluation indicates that the run time growth is order *O*(*N* log(*A*))*f*(*d*) where *f*(*d*) is a function of the density, *d*, and *A* is the initial cell area. The function *f*(*d*) appears to have negligible or no dependence on *N*. A hierarchical composition approach is developed which takes advantage of the capability of the curvilinear representation and the 2-dimensional compaction technique.

Generative modeling is an approach to computer-assisted geometric modeling. The goal of the approach is to allow convenient and high-level specification of shapes, and provide tools for rendering and analysis of the specified shapes. Shapes include curves, surfaces, and solids in 3D space, as well as higher-dimensional entities such as surfaces deforming in time, and solids with a spatially varying mass density.

\r\n\r\nShape specification in the approach involves combining low-dimensional entities, especially 2D curves, into higher-dimensional shapes. This combination is specified through a powerful shape description language which builds multidimensional parametric functions. The language is based on a set of primitive operators on parametric functions which include arithmetic operators, vector and matrix operators, integration and differentiation, constraint solution and global optimization. Although each-primitive operator is fairly simple, high-level shapes and shape building operators can be defined using recursive combination of the primitive operators.

\r\n\r\nThe approach encourages the modeler to build parameterized families of shapes rather than single instances. Shapes can be parameterized by scalar parameters (e.g., time or joint angle) or higher-dimensional parameters (e.g., a curve controlling how the scale of a cross section varies as it is translated). Such parameterized shapes allow easy modification of the design, since the modeler can interact with parameters that relate to high-level properties of the shape. In contrast, many geometric modeling systems use a much lower-level specification, such as through sets of many 3D control points.

\r\n\r\nTools for rendering and analysis of generative models are developed using the concept of interval analysis. Each primitive operator on parametric functions has an inclusion function method, which produces an interval bound on the range of the function, given an interval bound on its domain. With these inclusion functions, robust algorithms exist for computing solutions to nonlinear systems of constraints and global minimization problems, when these problems are expressed in the modeling language. These algorithms, in turn, are developed into robust approximation techniques to compute intersections, CSG operations, and offset operations.

", "doi": "10.7907/HRFJ-QC74", "publication_date": "1991", "thesis_type": "phd", "thesis_year": "1991" }, { "id": "thesis:4438", "collection": "thesis", "collection_id": "4438", "cite_using_url": "https://resolver.caltech.edu/CaltechETD:etd-11072005-081513", "primary_object_url": { "basename": "Trimberger_sm_1983.pdf", "content": "final", "filesize": 7180994, "license": "other", "mime_type": "application/pdf", "url": "/4438/1/Trimberger_sm_1983.pdf", "version": "v2.0.0" }, "type": "thesis", "title": "Automated Performance Optimization of Custom Integrated Circuits", "author": [ { "family_name": "Trimberger", "given_name": "Stephen Mathias", "clpid": "Trimberger-Stephen-Mathias" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" }, { "family_name": "Mead", "given_name": "Carver", "clpid": "Mead-C" }, { "family_name": "Seitz", "given_name": "Charles L.", "clpid": "Seitz-C-L" }, { "family_name": "Goldreich", "given_name": "Peter Martin", "clpid": "Goldreich-P-M" }, { "family_name": "Lewicki", "given_name": "George W.", "clpid": "Lewicki-G-W" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "The complexity of integrated circuits requires a hierarchical design methodology that allows the user to divide the problem into pieces, design each piece independently, and assemble the pieces into the complete system. The design hierarchy brings out composition problems, problems that are a property of the assembly as a whole, not of one single instance in the hierarchy.

\r\n\r\nRecent research has produced tools that automate part of the composition task - the logical connection of the pieces. However, these tools do not ensure that signals driven over these connections will be driven sufficiently to give reasonable cycle speed of the resulting chips. It is easily possible to specify an assembly in which a small-sized gate is required to drive an enormous load. Parasitic capacitance of the wiring made automatically by the logical connection tool can be the dominant source of delay, so assembly tools can actually worsen the performance of the circuit and hide this fact from the designer.

\r\n\r\nWhen required to make large circuits, automated layout tools such as PLA generators can blindly make layouts that give abysmally poor performance. Here again, the delay is in a part of circuit that the designer did not specify, so it is hidden. Finding and correcting these problems is a difficult and time-consuming task in integrated circuit design, and one that consumes vastly more people's time and computer time than the simple assembly of the chip.

\r\n\r\nThe task of guaranteeing that circuits meet performance specifications has been left mainly to the designer. Computer aided design has provided analysis tools, tools that tell the designer the performance statistics of the current design. It is then the designer's burden to interpret the performance statistics and use them as guides to make changes in the circuit.

\r\n\r\nThis thesis views performance optimization as an electrical composition task. Poor performance as a result of mismatched loads on devices is a problem of composition and should be corrected by the composition tool. Such a tool is presented in this thesis -- a program that automatically sizes transistors in a symbolic description of a chip to match the load the transistors are driving. The results are encouraging: they show that delays can be cut by a factor of two in many current designs.

", "doi": "10.7907/8YDZ-G637", "publication_date": "1983", "thesis_type": "phd", "thesis_year": "1983" }, { "id": "thesis:4471", "collection": "thesis", "collection_id": "4471", "cite_using_url": "https://resolver.caltech.edu/CaltechETD:etd-11092005-140159", "primary_object_url": { "basename": "Ullner_mk_1983.pdf", "content": "final", "filesize": 13383502, "license": "other", "mime_type": "application/pdf", "url": "/4471/1/Ullner_mk_1983.pdf", "version": "v3.0.0" }, "type": "thesis", "title": "Parallel Machines for Computer Graphics", "author": [ { "family_name": "Ullner", "given_name": "Michael K.", "clpid": "Ullner-Michael-K" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" }, { "family_name": "Sutherland", "given_name": "Ivan Edward", "clpid": "Sutherland-I-E" }, { "family_name": "Thompson", "given_name": "Frederick B.", "clpid": "Thompson-F-B" }, { "family_name": "Johnsson", "given_name": "S. Lennart", "clpid": "Johnsson-S-Lennart" }, { "family_name": "Wilts", "given_name": "Charles Harold", "clpid": "Wilts-C-H" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "Computer graphics provides some ideal applications for the kind of highly parallel implementations made possible by advances in integrated circuit technology. Specifically, hidden line and hidden surface algorithms, while easily defined and simple in concept, entail a substantial amount of computation. This requirement fits the characteristics of integrated circuit technology, where modular designs involving regular communication between many concurrent operations are rewarded with high performance at an acceptable cost.

\r\n\r\nRay tracing is a very flexible technique that can be used to produce some of the most realistic of all computer generated images by simulating the interactions of light rays with surfaces in a modeled scene. Because light rays are mutually independent, many may be processed simultaneously, and the potential for concurrency is great. One architecture for expediting a ray tracing algorithm consists of a conventional computer equipped with a special purpose peripheral device for locating the intersections of rays and surfaces. This intersection computation is the most time consuming aspect of a ray tracing algorithm. Although the attached processor configuration can produce images more quickly than an unaided computer, its performance is limited. Alternatively, a pipeline of surface processors can replace the peripheral device. Each processor computes the intersections of its stored surface with rays that flow through the pipe. Such a machine machine can be quite fast, and its performance can be increased by lengthening the pipeline, but the component processors are not very effectively utilized. A third approach combines the advantages of the prior two machines by using an array of processors, each simulating a distinct subvolume of the modeled world by treating light rays traveling through space as messages flowing between processors. Local communication is sufficient because light rays travel continuously through space.

\r\n\r\nIn real time computer graphics, successive images must be produced in times that are imperceptible to a viewer. Although the ray tracing machines fall short of this performance, it is possible to compromise image quality in order to produce a highly parallel machine capable of real time operation. The processors in such a machine are organized to form a binary tree. Leaf processors scan-convert surfaces, producing a sequence of segments, where a segment is the portion of a surface that appears on a single scan line of the display. Processors towards the root of the tree accept two such segment sequences and produce a third in which all segment overlap has been resolved. The final image is available at the root of the tree. The communication bottleneck that would otherwise occur at the root can be eliminated by breaking out parallel roots, and the resulting tree may be extended to scenes of almost arbitrary complexity merely by increasing the supply of available processors.

\r\n\r\nMassive parallelism can also be applied to the problem of removing hidden edges from line drawings. A suitable architecture takes the form of a pipeline in which each processor is dedicated to the handling of a single polygon edge. These processors successively clip line segments passing through the pipeline to eliminate portions hidden behind surfaces. Each edge processor can be constructed out of little more than three serial multipliers.

\r\n\r\nThe machines described here are varied in organization, and each functions differently, but their treatment of sorting is one ingredient common to all. Sorting is a key component of hidden surface algorithms running on conventional computers, but its extensive communication requirements make it costly for use in a highly integrated design. Consequently, the highly parallel machines described here operate largely without sorting. Instead, they maintain information in sorted order or make use of already sorted information to limit communication requirements.

", "doi": "10.7907/wxmq-sx43", "publication_date": "1983", "thesis_type": "phd", "thesis_year": "1983" }, { "id": "thesis:1155", "collection": "thesis", "collection_id": "1155", "cite_using_url": "https://resolver.caltech.edu/CaltechETD:etd-03262008-092532", "primary_object_url": { "basename": "Whelan_ds_1985.pdf", "content": "final", "filesize": 19909705, "license": "other", "mime_type": "application/pdf", "url": "/1155/1/Whelan_ds_1985.pdf", "version": "v3.0.0" }, "type": "thesis", "title": "ANIMAC: A Multiprocessor Architecture for Real-Time Computer Animation", "author": [ { "family_name": "Whelan", "given_name": "Daniel Steven", "clpid": "Whelan-Daniel-Steven" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" }, { "family_name": "Barr", "given_name": "Alan H.", "clpid": "Barr-A-H" }, { "family_name": "Mead", "given_name": "Carver", "clpid": "Mead-C" }, { "family_name": "Blinn", "given_name": "Jim", "clpid": "Blinn-J" }, { "family_name": "Fox", "given_name": "Geoffrey C.", "clpid": "Fox-G-C" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "Advances in integrated circuit technology have been largely responsible for the growth of the computer graphics industry. This technology promises additional growth through the remainder of the century. This dissertation addresses how this future technology can be harnessed and used to construct very high performance real-time computer graphics systems.

\r\n\r\nThis thesis proposes a new architecture for real-time animation engines. The ANIMAC architecture achieves high performance by utilizing a two-dimensional array of processors that determine visible surfaces in parallel. An array of sixteen processors with only nearest neighbor interprocessor communications can produce real-time shadowed images of scenes containing 100, 000 triangles.

\r\n\r\nThe ANIMAC architecture is based upon analysis and simulations of various parallelization techniques. These simulations suggest that the viewing space be spatially subdivided and that each processor produce a visible surface image for several viewing space subvolumes. Simple assignments of viewing space subvolumes to processors are shown to offer high parallel efficiencies.

\r\n\r\nSimulations of parallel algorithms were driven with data derived from real scenes since analysis of scene composition suggested that using simplistic models of scene composition might lead to incorrect results.

\r\n\r\nThe ANIMAC architecture required the development of a shadowing algorithm which was tailored to its parallel environment. This algorithm separates shadowing into local and foreign effects. Its implementation allows individual processors to compute shadowing effects for their image regions utilizing only very local information.

\r\n\r\nThe design of the ANIMAC processors makes extensive use of new VLSI architectures. A formerly proposed processor per object architecture is used to determine visible surfaces while new processor per object and processor per pixel architectures are used to determine shadowing effects.

\r\n\r\nIt is estimated that the ANIMAC architecture can be realized in the early 1990's. Realizing this architecture will require considerable amounts of hardware and capital yet its cost will not be out of line when compared with today's real-time computer graphics systems.

", "doi": "10.7907/0qnw-g372", "publication_date": "1985", "thesis_type": "phd", "thesis_year": "1985" }, { "id": "thesis:811", "collection": "thesis", "collection_id": "811", "cite_using_url": "https://resolver.caltech.edu/CaltechETD:etd-02282008-111427", "primary_object_url": { "basename": "Choo_y_1987.pdf", "content": "final", "filesize": 4187282, "license": "other", "mime_type": "application/pdf", "url": "/811/1/Choo_y_1987.pdf", "version": "v3.0.0" }, "type": "thesis", "title": "Logic from Programming Language Semantics", "author": [ { "family_name": "Choo", "given_name": "Young-il", "clpid": "Choo-Young-il" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" }, { "family_name": "Martin", "given_name": "Alain J.", "clpid": "Martin-A-J" }, { "family_name": "Thompson", "given_name": "Frederick B.", "clpid": "Thompson-F-B" }, { "family_name": "Kechris", "given_name": "Alexander S.", "clpid": "Kechris-A-S" }, { "family_name": "Moschovakis", "given_name": "Yiannis N.", "clpid": "Moschovakis-Yiannis-N" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "Logic for reasoning about programs must proceed from the programming language semantics. It is our thesis that programs be considered as mathematical objects that can be reasoned about directly, rather than as linguistic expressions whose meanings are embedded in an intermediate formalism.

\r\n\r\nSince the semantics of many programming language features (including recursion, type-free application, infinite structures, self-reference, and reflection) require models that are constructed as limits of partial objects, a logic for dealing with partial objects is required.

\r\n\r\nUsing the *D _{\u221e}* model of the \u03bb-calculus, a logic (called

The triples of Hoare Logic are interpreted as partial assertions over the domain of partial states, and contradictions arising from rules for function definitions are analyzed. Recursive procedures and recursive functions are both proved using mathematical induction.

\r\n\r\nA domain of infinite lists is constructed as a model for languages with lazy evaluation and it is compared to an ordinal-heirarchic construction. A model of objects and multiple inheritance is constructed where objects are self-referential states and multiple inheritance is defined using the notion of product of classes. The reflective processor for a language with environment and continuation reflection is constructed as the projective limit of partial reflective processors of finite height.

", "doi": "10.7907/r9hf-1b88", "publication_date": "1987", "thesis_type": "phd", "thesis_year": "1987" }, { "id": "thesis:2646", "collection": "thesis", "collection_id": "2646", "cite_using_url": "https://resolver.caltech.edu/CaltechETD:etd-06192006-090538", "primary_object_url": { "basename": "Rudin_li_1987.pdf", "content": "final", "filesize": 27145021, "license": "other", "mime_type": "application/pdf", "url": "/2646/1/Rudin_li_1987.pdf", "version": "v3.0.0" }, "type": "thesis", "title": "Images, Numerical Analysis of Singularities and Shock Filters", "author": [ { "family_name": "Rudin", "given_name": "Leonid Iakov", "clpid": "Rudin-Leonid-Iakov" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" }, { "family_name": "Fender", "given_name": "Derek H.", "clpid": "Fender-D-H" }, { "family_name": "Thompson", "given_name": "Frederick B.", "clpid": "Thompson-F-B" }, { "family_name": "Luxemburg", "given_name": "W. A. J.", "clpid": "Luxemburg-W-A-J" }, { "family_name": "Mead", "given_name": "Carver", "clpid": "Mead-C" }, { "family_name": "Barr", "given_name": "Alan H.", "clpid": "Barr-A-H" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "This work is concerned primarily with establishing a natural mathematical framework for the Numerical Analysis of Singularities, a term which we coined for this new evolving branch of *numerical* analysis.

The problem of analyzing singular behavior of nonsmooth functions is implicitly or explicitly ingrained in any successful attempt to extract information from images. The abundance of papers on the so called Edge Detection testifies to this statement.

\r\n\r\nWe attempt to make a fresh start by reformulating this old problem in the rigorous context of the Theory of Generalized Functions of several variables with stress put on the computational aspects of essential singularities. We state and prove a variant of the Divergence Theorem for discontinuous functions which we call Fundamental Theorem of Edge Detection, for it is the backbone of the advocated here numerical analysis based on the estimates of contributions furnished by the essential singularities of functions.

\r\n\r\nWe further extend this analysis to arbitrary order singularities by utilization of the Miranda's calculus of tangential derivatives. With this machinery we are able to explore computationally the internal geometry of singularities including singular, i.e., nonsmooth, singularity boundaries. This theory gives rise to singularity detection scheme called \"rotating thin masks\" which is applicable to arbitrary order n-dimensional essential singularities. In the particular implementation we combined first-order detector with derived here various curvature detectors. Preliminary experimental results are presented. We also derive a new class of nonlinear singularity detection schemes based on tensor products of distributions.

\r\n\r\nFinally, a novel computational approach to the problem of image enhancement is presented. We call this construction the Shock Filters, since it is founded on the nonlinear PDE's whose solutions exhibit formation of discontinuous profiles, corresponding to shock waves in gas dynamics. An algorithm for experimental Shock Filter, based on the upwind finite difference scheme is presented and tested on the one and two dimensional data.

", "doi": "10.7907/5hr8-8412", "publication_date": "1987", "thesis_type": "phd", "thesis_year": "1987" }, { "id": "thesis:3028", "collection": "thesis", "collection_id": "3028", "cite_using_url": "https://resolver.caltech.edu/CaltechETD:etd-08062007-110815", "primary_object_url": { "basename": "Kay_tl_1992.pdf", "content": "final", "filesize": 22001984, "license": "other", "mime_type": "application/pdf", "url": "/3028/1/Kay_tl_1992.pdf", "version": "v2.0.0" }, "type": "thesis", "title": "From geometry to texture : experiments towards realism in computer graphics", "author": [ { "family_name": "Kay", "given_name": "Timothy L.", "clpid": "Kay-T-L" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" }, { "family_name": "Barr", "given_name": "Alan H.", "clpid": "Barr-A-H" }, { "family_name": "Blinn", "given_name": "Jim", "clpid": "Blinn-J" }, { "family_name": "Osher", "given_name": "Stanley", "clpid": "Osher-S" }, { "family_name": "Caughey", "given_name": "Thomas Kirk", "clpid": "Caughey-T-K" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "This thesis presents a new computer graphics texture element called a texel as well as an associated rendering algorithm, which together produce an appearance never before achieved in computer graphics. Unlike previous modeling primitives, which are limited to solid, crisp appearances (e.g., metal, plastics, and glass), texels have a soft, fuzzy appearance, and thus can be used to create models and images of soft objects.\n\nThis thesis presents a solution to the problem of creating fur. As an example, a Teddy bear is modeled and rendered. As part of the process, a new BDRF is developed for texels which can produce back lighting effects. A model deformation technique using trilinear solids is developed.\n\nThis thesis then addresses a more complex example, that of creating a microscopic swatch of cloth by computationally \"weaving\" threads. The process of converting the resulting geometric model into texels is presented. The swatch of cloth is then replicated to cover the infinite plane seamlessly.\n\nA new phenomenon, the texture threshold effect is presented. It is the point at which geometry turns into texture. When viewed from beyond a certain distance threshold, the appearance of a microscopic model will converge to a macroscopic model. The position of the texture threshold is calculated. The infinite cloth model is then rendered from beyond the texture threshold, and its cloth BDRF is extracted computationally. This BDRF is then used to render a cloth-covered car seat.\n\nThe BDRF extraction process involves sampling an image which contains spectral energy above the Nyquist limit. Hence, the use of point sampling in computer graphics is analyzed to verify that aliasing energy is controlled. The process of jittered subsampling is analyzed, correcting and completing previous attempts. The results confirm that it is possible to render complex computer graphics imagery avoiding artifacts from aliased energy.\n", "doi": "10.7907/XCAM-R775", "publication_date": "1992", "thesis_type": "phd", "thesis_year": "1992" }, { "id": "thesis:6918", "collection": "thesis", "collection_id": "6918", "cite_using_url": "https://resolver.caltech.edu/CaltechTHESIS:04122012-112531771", "primary_object_url": { "basename": "Whelan_ds_1981.pdf", "content": "final", "filesize": 5999811, "license": "other", "mime_type": "application/pdf", "url": "/6918/1/Whelan_ds_1981.pdf", "version": "v5.0.0" }, "type": "thesis", "title": "A Versatile Ethernet Interface", "author": [ { "family_name": "Whelan", "given_name": "Daniel Steven", "clpid": "Whelan-Daniel-Steven" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Unknown", "given_name": "Unknown" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "No abstract.", "doi": "10.7907/x4t9-5n88", "publication_date": "1981", "thesis_type": "masters", "thesis_year": "1981" }, { "id": "thesis:6927", "collection": "thesis", "collection_id": "6927", "cite_using_url": "https://resolver.caltech.edu/CaltechTHESIS:04122012-162654185", "primary_object_url": { "basename": "Mosteller_rc_1981.pdf", "content": "final", "filesize": 16277358, "license": "other", "mime_type": "application/pdf", "url": "/6927/1/Mosteller_rc_1981.pdf", "version": "v5.0.0" }, "type": "thesis", "title": "REST: A Leaf Cell Design System", "author": [ { "family_name": "Mosteller", "given_name": "R. C.", "clpid": "Mosteller-R-C" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Unknown", "given_name": "Unknown" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "This thesis describes a leaf cell design system, REST, Richard's Editor for Sticks. REST is intended to be used for the preparation of the lowest level cells in an integrated circuit design. A stick notation is used in the editing process. Given a structured design methodology any design task can be separated into two parts: 1) leaf cell design and 2) composition cell design. This tool addresses the first of these tasks, although it may also be used for general manipulation of stick diagrams. A table driven compaction algorithm is presented. This graph based algorithm uses a weighted affinity factor to reduce total polysilicon and diffusion wire length. A suite of utilities provide functions such as file interface, physical mapping, annotation, etc. consistent with a set of design rules. The system has been implemented in Simula on a DEC 20 computer, and works in conjunction with a limited functional diagramming system. The design rules, models and stick interpretation are table driven and can be changed for various technologies. Currently REST is being used for NMOS technology. A community of users have used the REST system to prepare a number of designs resulting in a substantial reduction of design time. In addition, the system is currently being used at a major computer manufacturer in conjunction with a VLSI design course.", "doi": "10.7907/1r9d-ad60", "publication_date": "1981", "thesis_type": "masters", "thesis_year": "1981" }, { "id": "thesis:6888", "collection": "thesis", "collection_id": "6888", "cite_using_url": "https://resolver.caltech.edu/CaltechTHESIS:04022012-150759898", "primary_object_url": { "basename": "Choo_y-i_1982.pdf", "content": "final", "filesize": 3150489, "license": "other", "mime_type": "application/pdf", "url": "/6888/1/Choo_y-i_1982.pdf", "version": "v5.0.0" }, "type": "thesis", "title": "Hierarchical Nets: A Structured Petri Net Approach to Concurrency", "author": [ { "family_name": "Choo", "given_name": "Young-il", "clpid": "Choo-Young-il" } ], "thesis_advisor": [ { "family_name": "Kajiya", "given_name": "James Thomas", "clpid": "Kajiya-J-T" } ], "thesis_committee": [ { "family_name": "Unknown", "given_name": "Unknown" } ], "local_group": [ { "literal": "div_eng" } ], "abstract": "Liveness and safeness are two key properties Petri nets should have when they are used to model asynchronous systems. The analysis of liveness and safeness for general Petri nets, though shown to be decidable by Mayr [1981], is still computationally expensive (Lipton [1976]). In this paper an hierarchical approach is taken: a class of Petri nets is recursively defined starting with simple, live and safe structures, becoming progressively more complex using net transformations designed to preserve liveness and safeness.

\r\n\r\nUsing simple net transformations, nice nets, which are live and safe, are defined. Their behavior is too restrictive for modeling non-trivial systems, so the mutual exclusion and the repetition constructs are added to get \u00b5-\u03c1-nets. Since the use of mutual exclusions can cause deadlock, and the use of repetitions can cause loss of safeness, restrictions for their use are given. Using \u00b5-\u03c1-nets as the building blocks, hierarchical nets are defined. When the mutual exclusion and repetition constructs are allowed between hierarchical nets, distributed hierarchical nets are obtained. Examples of distributed hierarchical nets used to solve synchronization problems\r\nare given.

\r\n\r\nGeneral net transformations not preserving liveness or safeness, and a notion of duality are presented, and their effect on Petri net behavior is considered.

", "doi": "10.7907/t5w4-vt07", "publication_date": "1982", "thesis_type": "masters", "thesis_year": "1982" } ]