18 Pages

Chapter2

Course: LTL 13, Fall 2009
School: Pittsburgh
Rating:
 
 
 
 
 

Word Count: 5964

Document Preview

The 2 Graphics Toolbox This chapter discusses 3 philosophy and approach for designing graphics and graphic software systems. Our main assumption is that a person engaged in producing or using computer Systems that generate graphical displays will benefit in the long run by building a library of graphic routines (tools) that can be used over and over again. A second assumption is that by following a few simple...

Register Now

Unformatted Document Excerpt

Coursehero >> Pennsylvania >> Pittsburgh >> LTL 13

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
The 2 Graphics Toolbox This chapter discusses 3 philosophy and approach for designing graphics and graphic software systems. Our main assumption is that a person engaged in producing or using computer Systems that generate graphical displays will benefit in the long run by building a library of graphic routines (tools) that can be used over and over again. A second assumption is that by following a few simple design and development guidelines. the utility of these tools can be greatly enhanced. The guidelines are intended to help the graphics programmer or user develop displays in a structured. efficient and effective manner. The following discussion presents a framework that attempts to characterize graphics software. This characterization is used as a basis for the software guidelines detailed in later sections. These guidelines are intended to aid in the selection and development of graphics software. Very seldom will an off-the-shelf' graphics software package fulfill all of the needs of the user. so the graphics designer must enhance and augment the software supplied by a vendor in order to meet the needs of specific applications. 2.1 GRAPHICS SOFTWARE Software for graphics is usually implemented as new commands or subprograms within some standard high level language such as Pascal. FORTRAN. BASIC or C. This makes available to the graphics designer all of the capabilities and features of the host language as well as the graphics functions. Data manipulation. calculation. file handling and other tasks can be performed in the host language and their results passed directly to the graphics routines. In addition. existing and future application programs written in the host language can be easily modified to utilize the graphics routines to produce a variety of graphical displays. Graphics software can be viewed as existing at three levels: primitive. operational and applications. Figure 2.1 portrays the scope and relationship of these three levels or layers. Software at the highest level (applications) is constructed from the software routines (tools) developed at the lower levels. For a given graphics device or system. the levels are separate and distinct. However. across different classes of devices the levels overlap and their distinctions become fuzzy. Figure 2.1 Graphics Software Primitive level software contains the minimum set of functions we need to create a graphics system. The basic function of primitive level software routines is to interface with the graphics display device and host operating system that is being used. Specific operating system functions that we will be interested in for graphical systems are: initialization and termination of graphics sessions. input(output, communications and file handling. Graphical display devices have a fixed and limited set of functions which they can perform. These might include filling a displayed object. producing a display point. drawing a straight line between two points and erasing all or part of a display. The primitives are highly device dependent and are usually provided by the graphics device manufacturer. Their form and structure are determined by the nature and capabilities of the graphics device. Software modules that interface directly with and control specific graphics devices are called device drivers. Operational level routines help us create and manipulate more complex objects. Many of the operational level routines are constructed from calls to primitive routines or other operational routines. For example the routine to draw a SQUARE could be written by appropriately calling the primitive routine named LINE four times. Similarly an operational routine. TARGET, could be written by calling the operational routine CIRCLE. Other operational routines could manage and transform our image representation (i.e. SCALE, ROTATE and MOVE). Once again these routines can be combined with other operational level routines and/or primitive routines to produce more complex objects and scenes. The level at which the final graphics presentation is produced is the applications level. Application routines or programs are produced from calls to other application level routines. operational and/or primitive level routines. An application routine BARCHART can be written from routines called RECTANGLE. SYMBOL (operational). LINE and MOVE (primitive). At the highest level. applications programs perform business or organizational functions that require the graphical display of data or images. Graphics functionality can be obtained in a number of ways. Some languages or dialects of languages. like the ones produced for personal computers. are supersets of standard languages and have graphics capabilities added to the base language. Generally these capabilities are not very sophisticated and provide primitive and limited operational functionality. Many of the commercial graphics packages are implemented as libraries of subroutine calls accessible from a number of host languages. These packages provide a set of routines at the primitive level and many more routines at the operational and applications level. Another means for providing graphics capabilities is through "driver languages" such as Adobe's PostScript. Display devices such as printers and monitors that employ PostScript have micro-processors that interpret PostScript commands. PostScript can be viewed as a sort of graphical language with a broad set of primitive and functional level commands. PostScript has commands for drawing (lines, circles, etc.) as well as commands for performing graphical operations such as scaling and rotation. Users can write programs in a host language that pass commands and data to PostScript for it to execute. The toolbox concept is borrowed from other skill oriented professions such as carpentry. plumbing and even the medical profession. The purpose of the toolbox is to support a specific domain of work. A toolbox for a graphics user in a particular domain would provide some general. "all-purpose" graphics objects and functions as well as a set of domain specific graphics objects and functions. A carpenter's toolbox might contain a saw for general wood cutting, but might also contain a circular saw for specific applications. In the same manner, a graphics toolbox for a golf course designer would include a collection of regular geometric figures such as circles, rectangles, triangles. etc. as well as a set of application specific objects such as tees, flags, trees. Sand traps, etc. The toolbox would include a set of common generic operational functions that would permit scaling, translation. rotation. projection and other graphical transformations and a set of specific functions (e.g. dogleg, hill. etc.) that would permit shaping and positioning greens. fairways and other application specific objects. The ability to select an object such as a fairway and shape it as a dogleg right or left is fundamental to the application of designing a golf course. The basic purpose of application specific toolboxes is to make graphics systems more intelligible to the end user and to make them easier to use than many graphics Systems currently are. The basic goal of an application specific set of graphical tools is to reduce the need for the end user to learn and operate in the domain of the graphical primitives and permit him or her to concentrate on the graphic design task and minimize his or her need to deal with programming. In other words. the graphics toolbox allows the graphics designer to work with high level objects and functions that are in the designers domain rather than forcing the designer to work at a low level in the primitive graphics domain. The graphics programmer needs a similar toolbox in order to build the application specific graphics system for the end user. The programmer's toolbox contains a different set of tools but they are intended to serve a similar purpose to the end user's toolbox. 2.2 GUIDELINES The next few sections focus on defining and constructing graphics toolboxes for specific applications. The suggestions provided are intended to stimulate the reader into thinking about graphical problems using the toolbox approach. They are not presented in a particular order since we view the construction of a graphics toolbox as an iterative and wholistic process. Representation For a given figure or set of figures there exist several ways in which the figures can be represented. Some representations are easier to manipulate than others. Some make interaction with the user more straightforward. Others conform to a standard representation scheme for a technical discipline or vendor's software system. For example, a square or any polygon can be represented by the coordinates of the points which are its vertices (actually only n-I coordinates are needed for certain figures). See Figure 2.2a. For a square. knowing the coordinates of two diagonally opposite vertices will do (Figure 2.2b). Specifying two adjacent vertices of a specific side is also sufficient (Figure 2.). Finally, as in Figure 2.2d, stating the coordinates of a vertex, the length of an adjacent side and the orientation of that side with respect to some reference fully defines a square. All of these representations are equivalent in their ability to describe a square. However, these representations are not equally generalizeable. For example. the representations in Figure 2.2a and 2.2b work equally well for any rectangle, while the other two representations are not sufficient to describe a rectangle. In addition, the representation of Figure 2. will describe any four-sided figure while the second representation is limited to rectangles. Specific methods of representation are covered in Chapter 7, but nearly all graphic devices utilize the concept of a display area that is a rectangular grid similar to a sheet of graph paper. Each point on the grid has an X and Y address called a coordinate. These addresses begin at zero or some reference point and extend in increments to the maximum permitted by the display device. Figure 2.2 Alternative Representations for Specifying a Square Many disciplines use graphical symbols. icons or objects to convey information in presentations. These symbols are used independently or combined to analyze. design, simulate or represent an application are Graphical representations are commonly used in architecture. science. engineering, business, the social sciences and the humanities. Figure 2.3 shows several example symbols from the computer scientist's technique of flowcharting and some of the symbols used by a railroad designer. Representations ought to be selected to facilitate some aspect of the application, whether it be programming the application or making the user interface clearer and more effective. Try to select a single representation scheme that can be used uniformly throughout the application. Select a representation that is capable of representing more than one type of graphical object Use a representation that is natural for the particular domain of the application. Avoid using multiple representations or changing representations within a single application. if possible. Figure 2.3 Graphical Symbols from Two Domains Modularity An important general guideline is that all graphics software should be concisely packaged. Graphics routines should be small (no more than say 50 lines of code or one page and should perform a single function. Modules should be given names that clearly reflect the function that they perform. Routines performing complex functions are built from routines that do simple things. Routines should have minimal numbers of entry and exit points. The normal software module construct of the host language (je. functions. subroutines. procedures. etc.) ought to be used as a mechanism for graphics routine generation. This makes other host language functionalities easily accessible to graphics generating programs. There is often a tradeoff between producing a small number of large routines and creating a large number of small routines that achieve the desired functionality. The latter usually produces (he more usable. portable and easier to maintain system. Generality A third guideline is to write the graphics routines to be as general as possible. Thus. there will be fewer routines in your graphics library to write and maintain and fewer changes will be required in reusing the routines in new programs. Writing a rectangle (RECTANGLE) routine is preferable to writing a SQUARE routine and a polygon (POLYGON) routine is preferable to either of them. Since SQUAREs and RECTANGLEs are figures that we regularly use. we can simply write routines for them that consist of calls to the POLYGON routine. See Algorithm 2.1 for a Visual Basic language implementation of this. Note that we have ignored some performance issues at this point. While a square routine written directly will in general be faster and consume less storage than the square routine written from the polygon routine. the latter is easier to write. Since most of our concern here. is programming speed and efficiency. we prefer to start with the easiest to implement version of a routine. If performance becomes an issue. then the SQUARE routine can be replaced with a more efficient version or even the corresponding inline code. Algorithm 2.1 POLYGON and SQUARE Routines in Visual Basic Public Sub Polygon(x() As Double, y() As Double, n As Long, color As Long) Dim i As Long PSet (x(0), y(0)), color For i = 1 To n - 1 Line -(x(i), y(i)), color Next i Line -(x(0), y(0)), color End Sub Public Sub square(x() As Double, y() As Double) Call Polygon(x, y, 4) End Sub An example of the data required for the above routines for a typical 50 unit square shown in Figure 2.4 is given below. The values that must exist in the X and Y arrays for the POLYGON and SQUARE routines to work properly are: X(1) =100 X(2) =150 X(3) =150 X(4) =100 Y(1) = 50 Y(2) = 50 Y(3) = 100 Y(4) = 100 The value of n would be 4 for the above set of X and Y coordinates. Figure 2.4 Using the SQUARE and POLYGON Routines Documentation As you have probably already noticed. we believe the routines should be thoroughly self documenting. Each routine should carry a header describing the function of the routine and the variables that it receives and returns. Comments should also appear throughout the routine. Finally. the routine itself and all variables that the routine uses should. if possible. be given names that reflect their purpose. We have found this kind of documentation extremely valuable in writing and debugging graphical software. Since you will be writing as few routines as possible to put in your toolbox and reusing them as often as possible. the documentation overhead is minimized. Independence By their nature the primitive routines are highly device dependent and the application level routines are application dependent. These dependencies cannot be avoided but must be minimized to produce a graphics system with a high degree of flexibility and portability. This is done in several ways. First, the device dependent routines should be localized and placed at the lowest software level possible. Ideally device dependence should remain at the primitive level. Operational level routines will then be unaffected if the primitive level routines they call are modified or the graphics program is moved to a different display device. This also requires that the calling sequences. representations and variable definitions be standardized For example, operational level routines such as POLYGON will remain unchanged if the display device is changed from a bit mapped CRT to a pen plotter. Only the MOVE and LINE drawing routines need to be modified or replaced. Algorithm 2.2 Sample LINE Routines 1.) void lineto (float x, float y) 1* lineto - draws a line 1 1* input: x x coordinate of the line endpoint y = y coordinate of the line endpoint output: return: *1 plot (x,y,2); 1* CALCOMP routine calls to draw a line *1 penup; 10 Computer Graphics: A Tool Baseci Approach 2.) void lineto (float x. float y) / lineto - draws a line 1* input: *1 x = x coordinate of the line endpoint y = y coordinate of the line endpoint output: return: draw (x.y); /* Plot- 10 routine call to draw a line */ At the applications level, steps can be taken to identify which portions of an application might be common to a number of other applications. These can be put into separate routines for use by all of the particular applications. For example. many applications may use a bar chart in one form or another. If the BARCHART routine were written with fixed parameters (size, bar orientation. coloring, labeling, etc.). there is a low probability that this routine would satisfy the requirements for each of the potential users. A BARCHART routine with variable parameters or a set of routines each of which produce a portion of a bar chart would have a wider range of applicability. It is also important to create these routines in a consistent manner with similar parameters and similar functions. Analysis It is always a good idea to analyze from a number of perspectives the graphical problem before proceeding to specify software for development. Often there are multiple approaches to producing a graphical display hat have dramatically different consequences for software design. Consider the case of the simple pie charts shown in Figure 2.5. Figure 2.5 Pie Charts If we were to conceptualize the general problem of producing pie charts as in 2.5 we would write our PIECHART routine as calls to the CIRCLE and LINE routines. This would not allow us to use the same software to create the pie chart of Figure 2.5b. If. however. PIECHART were designed to draw a portion of a pie and implement it as calls to ARC and LINE routines. the graphic of 2.5b could be created (by two calls to the new PIECHART routine) as well as the graphic of Figure 2.5a and many other pie chart variations. Alternatively we could have defined SLICE as a call to ARC and two calls to LINE and once again have the capability to produce both displays. In many application domains (i.e. drafting, scientific disciplines. engineering, architecture, music. etc.) there are numerous standard graphical symbols and structures that are used repeatedly. These should be part of the application specific toolbox. Efficiency The guidelines stated here have as their main objective to improve the efficiency of the graphics programmer. The time and effort required in going from problem statement to graphical display will be greatly reduced by adhering to these guidelines. This does not necessarily that mean the graphics hardware will create the graphics display efficiently. When the graphical display problem is of a one-shot. ad hoc nature. efficiency is not an issue. But. when many displays must be created especially on a slow device such as a pen plotter. efficiency becomes important. Efficiency is typically achieved by selecting or developing algorithms that minimize the consumption of computing resources. Computing resources are typically time and space related. For instance. algorithms that are incremental in nature and only require addition and subtraction or integer arithmetic are preferred over those that require floating point operations. Trigonometric functions should be used only when absolutely necessary as they are notorious for their computational inefficiency. In a graphical application system, not all of the resources are available in the same amount nor are they consumed at the same rate. It is the responsibility of the graphics programmer to manage the use of his or her resources. The graphics programmer is generally concerned with overall efficiency. Sometimes the inefficient use of an abundant resource conserves a scarce system resource. Data Structures and Data Manipulation Modeling a graphic object or an entire graphics scene requires data structures that preserve the relationships among the components of an object or a scene. An object may be composed of several subjects. While transforming the object. it may be desirable to transform the sub-objects and maintain the relationships among the sub-objects. For example, we may construct an image of a carousel with a number of animals on it. Each animal is at a fixed location with respect to the carousel and each other. As the carousel turns, the animals move, not with respect to each other or the carousel, but with respect to the environment. As another example, consider a drawing of a house in a CAD system. The house has doors, windows, walls, roofs, etc. It may be necessary to move the entire image to a different location on the display. Alternatively, we may wish to make a particular window larger. It is thus desirable to be able to reference and manipulate the house as an entity as well as having the capability to reference and manipulate each of the sub-components. Processing the graphical components of an object or image and their relationships requires software routines that can perform the necessary processing for traversing the data structures. It is therefore necessary to provide tools (routines) for performing the necessary data manipulation functions. These software tools should provide the capability to create, delete, modify, relate, expand, transform or display complex objects. Hierarchical, tabular or other kinds of structures can be used to represent the relationships among components of an object. For example, a bicycle can be conceptualized as composed of a frame, handle bars, seat, wheels, pedals and a chain as shown in Figure 2.6. Figure 2.6 Bicycle Hierarchy In this tree structure, the root is bicycle and the branches are frame, seat, etc. Each of the branches may be broken down into further branches. For example, Figure 2.6 shows the wheel branch broken into hub, bearings, spokes, rim, tire and tube sub-branches. These and any of the other branches, in turn, may be further broken down as needed. The bicycle and each if its subparts can be considered to be a node in the hierarchical structure. The relationship between nodes at each level in the hierarchy can be considered to be a parent-child relationship. At each node there would be an identification of an object or component. a pointer to a structure representing the component for purposes of displaying it and a pointer to a list of child nodes. The matrix at each node provides positioning information and data used for drawing the components on the display surface. The data structure might be represented as a link list as shown in Figure 2.7. In this structure, child pointers point to components at the next level in the hierarchy and next node pointers point to the next component on the same level. In our bicycle example, the root node (1,icycle) would point to frame as a child and frame would point to seat as a next node on the same level which means it is also a child of bicycle. If frame had a child node, then the child pointer in the frame node would point to it. If a node has no children, its child pointer would be set to a null value or would point to itself. The wheel node is also a child of the bicycle node. It would be pointed to by the next pointer of the handle bars node. The wheel's next pointer would point to the pedals node. Wheel's child pointer would point to the hub node. The nodes on the same level are called siblings. Thus. the next node pointer is also called a twin pointer. Figure 2.7 Linked List Representation In order to implement data structures such as this. it is necessary to write software modules that provide the required functionality in a graphics application. As part of a toolbox for graphics, a set of modules is required to handle such data structures as shown above. This it might contain modules such as: Allocate Create-root Add-child-node Add-sibling-node Get-node Get-next-child-node Put-child-node Allocates memory for the data structure Creates a root node for a structure with a specified ID Adds a new child node to the specified component. Adds a new sibling node to the specified component. Gets the specified node by its component ID. Get the next child node by following the child pointers. Replaces the current child node with the ID and matrix data specified. Put-sibling-node Insert-child-node Insert-sibling-node Delete-node Replaces the current sibling node with the ID and matrix data specified. Insert a new child node after the specified node with the ID and matrix data provided. Insert a sibling node after the specified node with the ID and matrix provided. Delete the specified node. These toolbox routines represent the operational level modules required. At the application level we might have a routine such as: TRAVERSE-TREE (NODE_ID POSITION, STATUS) This routine would call three lower level routines: GET-NODE (ID). GETNEXT CIIILD and GET-NEXT SIBLING. The order of traversal may be fixed such that all child nodes from the current node are retrieved before sibling nodes. This would provide a top to bottom, left to right order of tree traversal starting with the specified node ID. If the specified node ID was the root node, then the entire tree would be traversed. As a structure (tree) is traversed, it is drawn on the display surface by using the representation and positioning information in the matrices at each node. If each node's component is represented positionally relative to the root node, then we must supply information about the position of the root node on the display surface. This information is contained in the argument "Position". The representation contained in the matrices at each node may be simple line representations such as endpoints or endpoints and displacements, vertices of a polygon, center and radius of a circle, three points of an arc, ASCII text codes, bit maps of objects, etc. In addition, the object representation may require one or more transformations to perform translation, scaling, etc. in order to generate the coordinates necessary for display purposes. The different forms of representation are discussed throughout the remainder of this look. Since the world coordinate data representing the objects and components of objects is usually stored on a direct access device, such as a floppy or hard disk, it is usually necessary to have a set of software modules that perform input and output to these data files and in many cases perform conversions, edits or translations where necessary. These routines (modules) will become a part of the graphics toolbox as well. It is important to isolate all device dependent program statements into separate modules and not permit these to be scattered throughout toolbox modules. This permits changing the program statements in only a few modules when the package must be ported to new a hardware platform. Thus, all file opens, reads and writes to hardware devices will be relegated to subroutines, procedures or function calls. In addition, all access method related routines for file VO must also be isolated. The access method determines how and where the next data record will be retrieved or stored on the storage medium. The access method may be sequential, direct or indexed. There ire many techniques of computing direct or indexed access methods. The software modules for these must be localized in a set of routines that are called from higher level routines. Thus, a hierarchy of file access routines might appear as shown in Figure 2.8. Figure 2.8 File Access Routine Hierarchy The blocks labeled read_dir, write_dir, read_index and write_index are composed of modules that determine the record location to read or write. This may include a hashing algorithm or Btree access and update routines which may be written by the graphics software developer or may be called from a library of routines supplied by the vendor of the operating system. It is important to view the entire graphics system as a toolbox of software modules that can be called to support various graphics applications. This provides the versatility and flexibility required of a graphics package. 2.4 A CASE STUDY - THE LOGIC DESIGNER To illustrate many of the principles that we have advocated in this chapter we will present a graphical system design case study. The graphical system we have selected as our example is a system to aid a computer logic designer. While a professional version of such a system would require a book to describe in itself. We will merely outline the design and main features of the system and detail how a few of the system features would be implemented. A logic designer creates devices, subsystems and systems that are used in computers and other electronic systems. The designer works with logical (AND. OR. NOT etc.) and other functions to create a device that performs some function such as converting a binary representation to a decimal representation. Electrical circuits exist to perform each of these elementary logical functions (AND. OR. etc.). These elementary circuits are combined to create larger circuits that perform more complex functions. The logic designer typically works using some graphical displays to help in the design of a circuit and to communicate a finalized design. He or she uses standard graphical representations (in this case MIL STD.) for the logical functions. A few example standard circuit graphical representations are shown in Figure 2.9 below. Figure 2.9 Standard Graphical Representations for Logic Circuits Several of the more common standard circuits are shown above. There are many more types of circuits - too numerous to display here. As one can see. Some circuits are combinations of others. For example. the NAND is a NOT AND. an AND followed by a NOT. New and more complex circuit designs are made by appropriately connecting the standard circuits. D...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Pittsburgh - LTL - 13
#region Using Statementsusing System;using System.Collections.Generic;using Microsoft.Xna.Framework;using Microsoft.Xna.Framework.Audio;using Microsoft.Xna.Framework.Content;using Microsoft.Xna.Framework.Graphics;using Microsoft.Xna.Framework
Pittsburgh - EDBT - 04
The - Synopses SystemYossi Matias Leon Portman Tel Aviv University-SynopsesProvide a run-time environment for remote execution of pluggable synopses Research platform for benchmarking and comparisonExternal Synopsis HostGUIFrameworkExter
Pittsburgh - EDBT - 04
HippoJan Chomicki University at Buffalo Jerzy Marcinkowski Wroclaw University Slawomir Staworko University at Buffaloa System for ComputingConsistent Query Answers to a Class of SQL QueriesMotivation - Inconsistent dataEnforcing data consisten
Pittsburgh - MOBIDE - 06
- 5th ACM International Workshop on Data Engineering for Wireless and Mobile Access (MobiDE'06) Sponsored by ACM SIGMOD In coo
Pittsburgh - DMSN - 04
CALL FOR PARTICIPATION - DMSN 2004First International Workshop on Data Management for Sensor Networks (held in conjunction with VLDB 2004)Monday, August 30, 2004, Toronto, Canada York Room, Royal York Hotelhttp:/db.cs.pitt.edu/dmsn04WORKS
Pittsburgh - SUPER - 6121
Page 1Table 20. OSHA Criteria for Rating a Substance Serious or Other Health Hazard Major Health Hazard Category I Cancer Subset Explanation Regulated at present as carcinogens by OSHA: Chiefly work practice standards II Chronic (Cumulative)
Pittsburgh - DPF - 7
FACULTY: Daniel P. Frederick, Computer Science TERM: Spring 2008 PHONE: x2925 EMAIL: dpf7@pitt.edu OFFICE: 214 BlackingtonPeriod 10:00-11:00 11:00-12:00 12:00-1:00 1:00-2:00 2:00-2:30 4:00-5:00 5:00-6:00 6:00-7:40 7:40-8:40Monday CS0081 Black 134
Pittsburgh - CS - 0016
CS0016 Lab # 11 DO Loops (6.1-6.2) Overview This lab will feature the use of DO loops, counters, and accumulators. Replicate the following form:Form Declarations (declare immediately after Public Class Form1 ) Declare a format string to be used to
Pittsburgh - TSA - 2
# fit SV model to NYSE returns - uses SVfiltery=matrix(scan("/mydata/nyse.dat"),ncol=1)num=length(y)y=log(y^2)#initial parametersphi0= 0phi1=.95sQ=.2alpha=mean(y) sR0=1mu1=-3sR1=2 initpar=c(phi0,phi1,sQ,alpha,sR0,mu1,sR1)#- evaluate
Pittsburgh - NEW - 2
#- this is example 6.5 using ss1 -##!##- assumes ss1 has been sourced -##!##~ detailed comments are in ex65.txt ~## the only difference here is that# A is an array of num 1x1 matrices (see line 17)#- generate data -set.seed
Pittsburgh - NEW - 2
#!##- assumes ss0 has been sourced -##!##- generate data set.seed(999) num=100 N=num+1 # need 101 x's # generate x(t)=.8x(t-1)+w(t), t=1,.,100 # and x(0) from the stationary distribution: x = arima.sim(n=N, list(ar = .8, sd=1) # h
Pittsburgh - REC - 9
transaction 1: sold 6 items of S144 for $502.32 @83.72 at time 2:0:45.transaction 12: sold 3 items of S680 for $172.98 @57.66 at time 2:0:46.transaction 5: sold 1 items of S256 for $14.30 @14.30 at time 2:0:46.transaction 13: sold 2 items of S680
Pittsburgh - REC - 9
transaction 1: sold 6 items of S144 for $502.32 @83.72 at time 2:0:45.transaction 12: sold 3 items of S680 for $172.98 @57.66 at time 2:0:46.transaction 5: sold 1 items of S256 for $14.30 @14.30 at time 2:0:46.transaction 13: sold 2 items of S680
Pittsburgh - CS - 110
4. Working with Letters, Envelops, and LabelsThis topics covers creating a document. Utilization of Letter Wizard Create an envelope and an understanding of labelsa. Letter Wizard Open Click SelectWord [ Tools | Letters and Mailings] Letter W
Pittsburgh - CS - 110
2. The Next Level of Processing Words!Utilizing the New Features of Microsoft Word XP1New and Useful Features of Word XP Automation of Tasks Editing Proofing Tools Creating Tables Using Borders and Shading Creating Graphics On-line Utiliti
BU - LX - 700
GRS LX 700 Language Acquisition and Linguistic TheoryWeek 9. Second Language Acquisition: introductionScientific study of language What constitutes one's knowledge of language? How is that knowledge acquired? Looking at adult native languages
BU - CS - 112
0 1001 1002 1003 1004 1005 1006 1007 1008 1009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 100
Pittsburgh - P - 2
This program calculates correlation scores between columns in multiple alignment according to the new pair-to-pair substitution matrix.Platforms:The program is working on different Unix/Linux platforms. Specifically it was tested successfully on
BU - GK - 12
Molecules of LifeWater The human body is mostly water Lean muscle: _ water Blood: _ water Body fat: _ water Bone: _ water All living organisms require water to liveProperties of Water Water is a _ _ Each atom has a partial charge Molecu
BU - LOG - 02
Note the unusual time- B O S T O N U N I V E R S I T Y Computer Science Department C O L L O Q U I U M Wednesday, November 13, 11:00 AM
Pittsburgh - ENG - 11
Your Section Your Group NumberPAPER FORMATTING SPECIFICATIONS FOR ENGINEERING 0011/0711Dan Budny (budny@pitt.edu) and Beth Bateman Newborg (bateman@pitt.edu)FORMATTING OVERVIEWPapers #2, #3, and #4 must follow these formatting specifications ex
Pittsburgh - IS - 2150
IS 2150 / TEL 2810 Introduction to SecurityJames Joshi Assistant Professor, SISLecture 1 August 30, 2007 1ContactInstructor: James B. D. Joshi GSA: TBD Lab help: Carlos E Caicedo Bastida 2706A, IS Building Phone: 41262
Pittsburgh - TELCOM - 2813
TEL2813/IS2820 Security ManagementLegal & Ethical Issues Lecture 12 April 7, 2005 Laws and SecurityFederal and state laws affect privacy and secrecyLaws regulate the use, development and ownership of data and programsRights of i
BU - SC - 441
SC441 Introduction to Computer Networks Boston UniversityIndependent Study Mid-term ReportMetropolitan Ethernet NetworksMatt Powers (mtpowers@bu.edu) Estella Kang (kykang@bu.edu) October 21, 2004The demand for more reliable, cost-effective, a
Pittsburgh - IS - 2470
#3 Human Information Processing & HCISeparating the Forest from the TreesSimplified HIP ModelS E N S O R Y S T O R EAttention Working Memory Long Term MemoryUnconscious/Automatic ProcessesHuman information Processing Working memory & verba
Pittsburgh - LECT - 12
IS12 - Introduction to Programming Lecture 7: Introduction to CPeter Brusilovskyhttp:/www2.sis.pitt.edu/~peterb/0012-041/Why C?ssModular procedural language with arrays, structures, and references C vs. Pascal modern, portable, better textb
Pittsburgh - LECT - 10
IS12 - Introduction to Programming Lecture 10: Simple ProgramsPeter Brusilovskyhttp:/www2.sis.pitt.edu/~peterb/0012-041/Exchange Kiosk: Assignmentvoid main() { float dollars_for_mark; /* exchange rate */ int commission; /* commission in dollars
Pittsburgh - LECT - 12
IS12 - Introduction to Programming Lecture 16: For and SwitchPeter Brusilovskyhttp:/www2.sis.pitt.edu/~peterb/0012-041/Example: Word Counting#include <stdio.h> #define IN 1 /* inside a word */ #define OUT 2 /* outside a word */ main () { int c,
Pittsburgh - FAL - 4
School of Information SciencesUniversity of PittsburghINFSCI 2140 Information Storage and Retrieval Final Project Fall 2005 Google Visualization By Wayan Sugiantara & Arindam DuttaDr.Peter BrusilovskyAcknowledgementWe thank Dr.Peter Brusilovs
Pittsburgh - HW - 0132
Digital Logic Homework #7 Part 2 1) State TableNext State Present State q1q2 A 00 B 01 C 10 D 11 x=0 q1q2 A 00 A 00 D 11 C 10 x=1 q1q2 C 10 A 00 B 01 C 10 x=0 z 0 0 1 1 1 0 1 0 Output x=1 z2) State Diagram X=0 Z=0 X=1 Z=1A 00X=1 Z=1 X=0 Z=1C
Pittsburgh - ABET - 2000
<HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]"> <TITLE>EE 1771- Electric Machinery Course and Laboratory</TITLE></HEAD><BODY>
Pittsburgh - ABET - 2000
<HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; U) [Netscape]"> <TITLE>EE/CoE 1170- Special Topics: Computers</TITLE></HEAD><BODY>EE/CoE 1170
Pittsburgh - MCS - 2
Regular ExpressionsRegular Expressions Ranges of characters can be specified with a hyphen inside square brackets [ ]/[az]/ matches any lower case letter /[AZ]/ matches any UPPER case letter /[09]/ matches any single digitRegular Expre
Pittsburgh - MCS - 2
HashesHashes A hash is a collection of scalar data, like an array Hashes and arrays are indexed differently The indices in an array are positive integers (0, 1, 2, 3, 4. N) The indices of a hash are called "keys" and are themselves scalar dat
Pittsburgh - TEST - 2
0020|PUBSRV|28882|THEORIES OF PUBLIC ORGANIZATION (P)|Y|1234567890|54.00|40.50|green.gif|red.gif|0020|PUBSRV|28882|CAMPAIGN MANAGER (P)|Y|1234567890|29.95|22.50|green.gif|red.gif|0050|PUBSRV|22430|CITY LIMITS|Y|1234567890|22.50|16.90|green.gif|red.
Pittsburgh - CS - 1501
COE/CS1501 Recitation 5Dynamic Programming: Optimal Binary Search TreeZhoulan Zhang http:/www.cs.pitt.edu/~zzl zzl@cs.pitt.eduRoadmap Homework 2 Problem Definition How to tackle Hash table: why and how BST: getcost() Optimize: how to mak
Pittsburgh - CS - 0445
CS 0445 Data Structures Binary Search TreeZhoulan Zhang zzl@cs.pitt.eduBinary Search Trees (BST) A data structure for efficient searching, insertion and deletion Binary search tree propertyFor every node X All the keys in its left subtree are s
Pittsburgh - CS - 2410
CS2410 Homework 2 SolutionQuestion 1: (1) xxx3 instructions need 15bits for registers(5bits for each). xxx2m instructions need 15bits for registers, 11bits for constant. xxx1m instructions need 10bits for register, 11bits for constant I. The maximal
Pittsburgh - CS - 0447
CS0447 Project 4 Due April 19th midnightPROJECT: Make a small spreadsheet program that supports the following commands.x y = v - set cell x,y to value vx y S x1 y1 x2 y2 - set ce
Pittsburgh - ENGR - 0112
Advanced Java Programming Constructs 5 Course Map In this module you will learn the advanced Java programming constructs, the for and do loops, the switch conditional statement, and the break and continue construct terminators. Relevance Discussion -
Pittsburgh - CS - 0015
CS0015 Homework 2 (3.3-3.4) I. Write a DIM statement to declare an appropriate variable for each of the following. Use the proper prefix that indicates the data type when naming the variable for both tasks I and II. a. Store the calculated GPA of a s
Pittsburgh - IS - 2935
Assurance & Evaluation Malicious code, Risk Management Legal Issues Lecture 10Dec 9, 2004Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security 1Trust Trustworthy entity has sufficient credibleevidenc
Pittsburgh - SIS - 2130
TELCOM 2130 Queueing Theory Homework 4 Markov and Poisson ProcessesProblem 1Consider the same scenario of Problem 1, Homework 3. That is a group of two computers that are connected to the Internet and are shared by 10 workers in a office of cubicle
Pittsburgh - SIS - 2130
TELCOM 2130 Queueing Theory Homework 1 Review/Background Material Due Date: 09/02/08 Problem 1Consider phone calls in a long distance telephone network, the length of calls are exponentially distributed with a mean 4 minutes. (a) What is the percent
BU - LOG - 05
COLLOQUIUM Computer Science Department, Boston UniversitySpeaker: Yanlei Diao Computer Science Division, UC BerkeleyDate: Friday, March 18Time: 14:00Place: Room MCS 135, 111 Cummin
Pittsburgh - CHEM - 244
Revealing the dynamics of biologically important residues via a normal mode analysis by GNMLee Wei YangCenter for Computational Biology and Bioinformatics, Department of Molecular Genetics and Biochemistry, School of MedicineGaussian Network M
Pittsburgh - CHEM - 2440
Revealing the dynamics of biologically important residues via a normal mode analysis by GNMLee Wei YangCenter for Computational Biology and Bioinformatics, Department of Molecular Genetics and Biochemistry, School of MedicineGaussian Network M
Pittsburgh - CHEM - 281
ROSETTE NANOTUBESPresentation by Adam Keller Based on the work of Hicham Fenniri Purdue UniversityThere is much interest in molecular structures that can self-assemble. Their study may lead to a better understanding of nature's approach to genera
Loras - LIB - 313301
Brian VanCura April 30, 2008 Responsible Contributor In this day and age, everyone contributes some way to society. Most but not everyone contributes responsibly. For one to be a responsible contributor, one must pay attention and contain knowledge o
Pittsburgh - CS - 4
Fun with VBCS0004 Lecture 13Administration Project#2 due today next week What does by midnight mean? Mid-term Review sheet is online Sample questions for exam Review next Monday Come to class with questions Review on Sunday?Review
Pittsburgh - CS - 4
Programming (continued)Chapters 3.4, 5.1, and 5.2 h http:/www.cs.pitt.edu/~bmills/cs4/Administration MailingList Programming Assignment 1 Will be posted today/tomorrow We will discuss on Wednesday First part due Monday QuizTodayBrief
Pittsburgh - CS - 4
Writing FilesCS0004 Lecture 18 Chapter 8.1Admin FinalSchedule Wednesday, April 25th During class time Wehave class on Monday, April 23rd This class will be a review session ProjectDue Today New Project Posted Due next wednesdayR
Pittsburgh - CS - 4
More GraphicsCS0004 Lecture 22 Chapter 9.3Admin ClassCanceled This Wednesday #5 April 11th Project Due Wednesday, April 18th Example.Group Box ExampleText property of the group boxThree attached controls: Button1 Button2 Button3Ex
Pittsburgh - CS - 4
How would you like your data?CS0004 Lecture 17 Chapter 8.1Admin FinalSchedule Wednesday, April 25th During class time Wehave class on Monday, April 23rd This class will be a review sessionMore Admin Current NextProject Project
Pittsburgh - CS - 4
ProgrammingChapters 2, 3.1, 3.2, and 3.3 Lecture 3Little Review (sample quiz) Namethe 4 main components of a computerCPU (central processing unit) Memory Hard Disk IO DevicesAdministration Registration Course is now closed MailingList
Pittsburgh - CS - 3
50.2323-323401034.32553332553254.3234.23450.2343.2342.026653.2353.2360.6590.1255.32100100.1009302.23
Pittsburgh - CS - 1501
Some notes/help regarding I/O using ZZ data:There is a quirk in the NTL I/O that you will need to fix in order to successfully use RSA with files. Normal C+ input from a file either succeeds or fails - it fails whenthere is no more data in the f
Pittsburgh - CS - 0447
Getting Started with PCSpim1Getting Started with PCSpimIf you are going to use PCspim on Microsoft Windows, this is the first section to read. If you are going to use xspim on UNIX, go back to the previous section and start there. After you read
Pittsburgh - SUPER - 7
"WHAT SHOULD PHYSICIANS KNOW ABOUT HEALTH ECONOMICS?"Victor R. Fuchs Henry J. Kaiser Jr. Professor Emeritus Stanford UniversityUniversita Cattolica del Sacro Cuore Rome, Italy 8 October 2002".the age of chivalry is gone. That of sophisters, econo
BU - PROJECTS - 2
Laboratory Rubric Title Page Points: Introduction Points:The title page should include: Title of the lab Name plus lab partners Date The introduction should include: The purpose of the experiment Brief summary of procedure and conclusions Stat
Pittsburgh - MATH - 1020
MATH 0120 Business Calculus Spring Term 2009 (2094) INSTRUCTOR Elayne Arrington, PhD Office: 608 Thackeray Hall Office Hours: MWF 2:00 3:30 (or by appointment ) Telephone: 412-624-8337 or 8375 (Math Office) fax: 412-624-8397 e-mail: earr@pitt.edu ht