|
Description  |
|
|
APPENDIX
An appendix consisting of 51 pages is included in this application.
BACKGROUND OF THE INVENTION
The present invention relates to graphic arts in general and more
particularly to an improved process for automatically generating
camera-ready graphical artwork with the aid of a computer.
Graphical artwork, more specifically, graphical plots are commonly used as
a visual aid to display a substantial amount of information regarding the
coordinate relationships of certain variable physical quantities. In
addition to the plotting of the basic coordinate data, typically for
selected values of a variable factor or condition, such graphical plots
generally include a variety of reference lines or curves as well as
shading patterns for ready observation and interpretation of the data.
Large quantities of these highly informative graphical plots, often found
in scientific works and technical reports and manuals, are usually printed
using conventional methods of photolithography that require production of
a high-quality reproduction copy of the graphical plots in intricate
detail, ready for photographing by a process camera.
Commonly known as being camera-ready, such high-quality reproduction copies
of the graphical plots have been difficult and time-consuming to produce
as well as to edit and correct if necessary. Hand-drawing and editing of
the plots by skilled draftsmen, although satisfactory from a quality
standpoint, continues to be painstaking and costly. Machine-drawn plots
can be produced in substantially less time and have generally been
adequate in quality and detail. However, such machine-drawn artwork still
requires manual "cut-outs" and "paste-ons" to meet camera-ready
requirements.
SUMMARY OF THE INVENTION
Accordingly, it is a main purpose and general object of the present
invention to provide an improved process implemented by a computer for
generating graphical artwork of a finished quality ready for
photolighographic reproduction.
It is a more particular object of the present invention to provide a
computer-aided process for producing original camera-ready graphical plots
in full detail without requiring any manual drafting labor.
It is a further object of the present invention to provide an automated
process for creating revised camera-ready graphical plots that permits
custom editing and correcting of existing plots quickly and precisely
without manually redrawing revisions and affixing those revisions to the
existing plots.
It is a still further object of the present invention to provide a
computer-aided process for graphical artwork generation that is cost
effective, reliable in performance, and easily adapted to existing
automated graphic art equipment.
Briefly, these and other aspects of the present invention are accomplished
by a computer-aided process for automatically generating a camera-ready
hardcopy of a graphical plot upon command instructions inputted via a
conventional storage tube graphics display terminal having an addressable
cross hair cursor and a keyboard. In accordance with an interactive
graphics code or program, tabular data coordinates stored in computer file
form are retrieved and plotted on appropriately titled and scaled axes
with the plotted coordinates being interconnected along curves formed of a
smooth or linear nature by interpolation. The graphical plot viewed on the
display terminal is further enhanced by inclusion of labels, shaded areas,
and reference symbols and characters prior to printing out the hardcopy on
an associated hardcopy unit coupled to the display terminal.
For a better understanding of these and other aspects of the present
invention, reference may be made to the following detailed description
taken in conjunction with the accompanying drawings in which like
reference numerals designate like parts throughout the figures thereof.
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is a general block diagram showing the hardware used to implement
the process for automatically generating camera-ready graphical plots in
accordance with the present invention;
FIG. 2 is a general flow diagram of the computer-aided process of the
present invention, showing the broad stages of data processing steps and
their standard sequence; and
FIGS. 3A-3P, inclusive, represent a more detailed flow diagram of the
computer-aided process in accordance with the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring now to FIG. 1, the process for automated graphics generation
according to the present invention is primarily aided and implemented by a
general purpose digital computer system 10 serving as the host and
programmed to operate in accordance with an interactive graphics code,
described in greater detail hereinafter.
It should be noted that the interactive graphics code, used by the host
computer system 10 to interpret and perform the interactive requests of
the user is also described in the Appendix, which is the source code
listing of the interactive graphics code written in FORTRAN IV. This
source code listing of the instructions, routines, and other contents of
the interactive graphics code in appropriate sequence may be implemented,
for example, on a CDC Cyber Model 175 computer using a FORTRAN computer
CDC Version 438, a linker/loader CDC Version 1.5538 for Network Operating
System (NOS) 1.4, and a library module TEKTRONIX Plot 10.
Stored with sets of tabular data coordinates in computer file form, digital
computer system 10 is coupled to a conventional storage tube graphics
display terminal 12 which accepts data from and sends data to the computer
system. Display terminal 12 is equipped with a screen 14 on which output
from computer system 10 is displayed to a user, the screen being the face
of a storage tube device (not shown), typically a cathode ray tube (CRT),
which maintains a display once written, for an indefinite period of time
until an erasure is made. Display terminal 12 is further provided with a
control panel 16 on which a keyboard 18 is located for allowing the user
to enter alphanumeric (A/N) data onto the screen 14 and onto the computer
system 10. A cursor control 22 also located on the control panel 16 is
employed by the user to address a graphic cross-hair cursor 20 movable
across screen 14 to specify positional input of data. The display terminal
12 with the aforedescribed features is a commercially available unit, one
suitable such unit being the Tektronix Model 4015 with its associated
graphics software. A conventional hardcopy unit 24 compatible with display
terminal 12 is coupled thereto for producing, in accordance with the
present invention, a camera-ready, hardcopy 26 of a graphical plot
produced on the screen 14.
Referring now to FIG. 2, Block 31 represents a general start up procedure
in which the user establishes communication with the host computer system
10 and commands use of old data files and eventually begins execution of
the interactive graphics code. Block 31 is a query as to creating a new
data file or using the old one. If the user's response is new data, then a
query for axis labels and other minimum graphical data is indicated. In
Block 31, the old data is automatically inputted into storage along with
labels and other information. Block 33 is the top of the interactive loop
in which the user physically moves the coordinates on screen 14 via
cross-hair cursor 20 and keys a single character on keyboard 18. This
single character and the coordinates comprise a user command. Block 33
additionally performs other data checks such as, if this is a new plot (no
data to plot), a create line command is automatically executed. Block 34
checks for a valid command. An invalid command sends control back to block
33. Blocks 35 thru 38 interpret the command, use the coordinate data, if
required, and act appropriately on the plot.
Three groups of commands are available: label, coordinate and plot. Block
36 only concerns labeling. Block 37 concerns only line forming, coordinate
points and shading. Block 38 concerns the general plot attributes, such as
size, grid and line types. Block 39 thru 46, inclusive, follow a command
to plot the data. Block 39 uses the minimum and maximum data ranges and
the grid requirements, and picks an appropriate scale on each axis,
finally plotting the axis and labels. Block 40, besides plotting other
labels, saves the four coordinate points around the label for later use.
Blocks 41 thru 44, inclusive, are concerned with lines on the plot.
Options are available for smooth curve, linear, or just symbols. In
addition, lines can be one of 9 dash line types with options for solid
thick or thin lines, as well as closed or open curves. Block 45 plots the
grid as specified and uses the label coordinate point data generated in
block 40 such that no grid line extends thru a label. Block 46 completes
the plot by determining shading regions and plotting them with a uniform
grid of dots again avoiding shading of labels. The end result of block 46
is that the user has on the screen 14 the latest edited plot. At this
point control is transferred to block 33 for more editing or termination
of the plot.
Referring now to FIG. 3A, in Block 50 the user turns on the display
terminal 12, connects to the host computer system 10 and begins execution
of the interactive graphics code. Block 51 prompts the user as to product
and date of version of the graphics code. In addition, a query is issued
for a communication transmission rate with the host computer system 10. In
block 52, the user picks an appropriate code number 1-4, indicating the
desired rate of character transmission or baud rate. For example, codes
1-4 typically designate baud rates of 1200, 2400, 4800 and 9600 characters
per second, respectively. Block 53 checks the baud rate code and passes to
block 54 if valid; otherwise, the process moves back to block 52. Block 54
makes a read attempt to determine if the user has connected through the
host computer system 10 another file containing an old plot data set.
Block 55 checks this read and if an end of file was found, then a new plot
is implied and the user is prompted for minimum data (plot axis labels for
storage) in block 57. Block 58 queries the user for decimal places for
each data group. These data are those generated during the plot creation
and used to generate a data file of the created plot for storage in the
files of the host computer system 10. Blocks 59 and 60 check and query the
user for these data. Referring back to the other branch of block 55, in
block 56 old plot data is read from file storage and readied for use.
Block 61 sets the communications transmission rate and the character size
on the screen 14 of display terminal 12 to small. Block 62 begins the
interactive plotting in subroutine TIGPPR. Block 63 sets the grid and
range of data to either user input values or default. The default data
range is the minimum and maximum values of the X and Y data, respectively.
Block 64 initializes a set of points to the serial coordinate data forming
a linked list. The linked list is used to efficiently add or delete a
coordinate data point to a line or shaded area. Block 65 sets the graphics
software associated with the display terminal 12 for use of stroke
generated characters rather than a composite (one of four fixed size
horizontal characters). This is required in order to generate labels at
any size and rotation. Block 66 operates on the linked list, determines
the number of lines and where each line begins in the linked list data
storage.
Referring now to FIG. 3B, block 67 checks the number or coordinate points
and, if it is zero (a new plot), the user is prompted and sent to the
command mode. If data exists, then a check is made in block 69 to see if
this data has been plotted once. If not, block 70 prints the main plot
label and GRID/DATA range values. A window on screen 14 (physical plot
size) is now set in block 17. Block 72 checks the validity of data ranges.
If they are not valid, block 73 computes minimum and maximum values,
respectively. Block 74 determines data scaling parameters from minimum and
maximum X and Y values. The scales being preset to multiples of 1, 2 or 5.
Block 75 computes the scaling of real units to the screen units, typically
4096.times.4096, on the display terminal 12. Block 76 checks for first
time plot and gives the user a chance to change size, grid and other
parameters. Blocks 77, 78 and 79 are reference to respective subroutines
for drawing curves and labels, shown in greater detail in FIGS. 3L, 3M and
3O, respectively. Blocks 80 thru 83 determine if default axis labels are
drawn, and draw all other labels using the subroutine PTITE, shown in
greater detail in FIG. 3M.
Referring now to FIG. 3C, block 84 checks for existence of shading. If
shading exists, then subroutine SHADIT, shown in FIG. 3P, is called in
block 85. Similarly, both X and Y Grid requirements are checked and
subroutines PGRIDX and PGRIDY shown in FIG. 3N are called as needed. Block
90 turns off the stroke characters since they are not needed in the
command mode.
Referring now to FIG. 3D, in block 91, the user physically positions the
movable cross-hair cursor 20 to a position on screen 14 after which a
single character on keyboard 18 is depressed. The character depressed is
used to determine the coordinate command and the position of the
cross-hair cursor 20 on screen 14 used to compute a coordinate position X
and Y. Block 92 checks for a valid command by performing a table look-up
using the ASCII code for the character keyed. The ASCII is the American
Standard Code for Information Interchange, a standard code consisting of
7-bit elements for information interchange among data processing
communications systems. Block 92 flags the character as invalid, i.e.
illegal, and re-prompts user in block 91. A valid coordinate command from
the user continues the process as desired, and such valid commands are as
follows:
______________________________________
VALID COORDINATE COMMAND SUMMARY
COMMAND DESCRIPTION
______________________________________
A add point after reference point
B add point before reference point
C identify closest data point (to cross hairs)
D delete data point
E exit
F format (change line type)
G input grid data
H halt graphics tablet mode
K kill line with closest data point to cross hairs
L ENTER label mode and locate closest label to
cross hairs
M MOVE identified data point to new position
N input a new data point beginning a new line
P re-plot the current data using same window scale
Q quit label mode
R repeat the current data (but resize it to fill
screen)
S show real values X and Y at current
screen position
T Enter graphic tablet mode
V input direct coordinate values for X and Y
W Window data P replot to new minimum
and maximum values
______________________________________
The above coordinate commands, prefixed each respectively by the number
"9", are shown in FIGS. 3E, 3F, 3G, 3H, 3J and 3K and are described in
greater detail hereinafter with appropriate reference to those figures.
Referring now to FIG. 3E, block 94 checks to see if this is the first point
of a new plot; if it is, then control is transferred to the appropriate
coordinate command for inputting a new line. The command "A" (99A)
basically adds a point in storage after a reference point, the reference
point being set by the command "C" (9C), shown in FIG. 3F. Block 95 checks
to see if the user had set a reference point, a transfer to block 93
indicating a point not set and an invalid command. Block 96 checks to see
if the point is within the plot frame on the screen 14 of display terminal
12. Block 90 plots a character indicating the line type at a coordinate
position selected by the user. Block 98, using the linked list storage,
adds the new point into the list after the reference point, and changes
the reference point to the new point just added. Coordinate command "B"
(9B), also shown in FIG. 3E, follows the same logic as the "A" command
except as to placement of the new point relative to the reference point.
Via block 103, the "B" command puts the point before the reference point
in storage. The linked list is used the same way except the coordinate
values are swapped so that the link list remains the same as in the A
command mode.
Referring now to FIG. 3F, the "C" command (9C) establishes a reference
point by finding the closes coordinate point per block 104. Blocks 105 and
106 check the point and plot a line character symbol if the point is
within the plot frame. Block 107 moves the linked list forward pointer to
the next set of coordinate points and stores the positions and line number
of the reference point. The "D" coordinate command (9D), also shown in
FIG. 3F, deletes a coordinate point and performs the same operations in
blocks 108, 190 and 110 as the respective blocks 104, 105 and 106 for "C"
command. The "D" command differs, however, from the "C" command in that in
Block 111 the point is deleted from the linked list. This is accomplished
by moving the forward coordinate set, as pointed to by the forward
pointer, to the deleted point position. The unused data storage space is
then added to another linked list which is a list of unused storage. Block
112 turns off the reference pointer flag since the point was just deleted.
The "E" or exit coordinate command (9E) is executed per block 113 which
terminates the plot, returns to the main program, and converts the linked
data to serial data and outputs the data with all corrections, labels and
arrows to the file of host computer 10.
Referring now to FIG. 3G, the "F" or format command (9F) can change the
line characteristics in terms of linear, smooth, symbols only, no symbols,
closed curve, or shade. The user positions the cross-hair cursor 20 either
to the left or right of the vertical axis of the plot. Block 121 checks
for this relative position of cursor 20. If the position is to the left,
block 122 is used and the line type and curve type are changed for all
lines of the entire plot. If the cursor position is to the right of the
vertical axis, block 123 is used and the format change only applies to the
indicated line. The lines and associated symbols are listed in a column at
the left top of the terminal display screen 14. In block 115, the vertical
coordinate position is used to determine the closest line and symbol. The
line number is derived from this operation. Blocks 116, 117, 118 and 119
check that value and keep it within the range of one to the maximum number
of lines plotted. Block 120 prompts the user for the new line type value
and new curve type value. Blocks 121, 122 and 123, as previously
discussed, determine how to apply new line type and curve type.
The "G" command (9G), also shown in FIG. 3G is executed via block 124 and
is used to change the grid format. The user selects the number of major
and minor tick marks and the frequency of grid lines on both axes. Via
block 125 the "H" Command (9H) is effected. The "H" command is used to
terminate the tablet command mode, the tablet mode being analogous to the
screen mode in the context of the command and coordinate entry. The "K" or
kill command (9K) is executed via block 126 and 127 and is similar to the
"D" or delete command except that the "K" command deletes the entire line.
Referring now to FIG. 3H, the "L" command (9L) enters the label mode via
block 128. The label mode keys a new set of single key commands which only
affect labeling of the plot. The initial "L" command enters the label mode
and uses the coordinate position to compute the closest label. The
following is a summary of label mode commands:
______________________________________
LABEL MODE COMMAND SUMMARY
COMMAND DESCRIPTION
______________________________________
L Identify closest label and plot point showing
its reference point
M Move identified label to indicated cursor
position
S Change label size
D Delete label
Q Quit label mode return to coordinate mode
N Add new label at current cursor position
A Add arrow to plot
P Print current identified label
C Copy identified label to new cursor position
V Move label to new vertical position
H Move label to new horizontal position
______________________________________
These label mode commands, like the coordinate mode commands, are prefixed
by the number "11" for designation in the drawing figures and are
described hereinbelow.
In accordance with the "M" label mode command (11M), the user moves an
identified lable to a described position using cursor 20. The user is then
prompted for two more coordinate points. These points are used to compute
the slope of the label in block 131. The label is then printed at the
indicated position along the new slope. Block 132 represents the "S" label
mode command (11S) used to change the size of a label. Block 132 also
checks to insure that a label has been identified using the initial "L"
command. Block 133 executes the "D" label mode command (11D), deleting the
previously identified label. The "N" label mode command (11N) executed via
block 134 inputs a new label and its attributes, i.e., justification and
storage. Block 134 also prompts the user for 2 additional points required
for slope computation. In block 135, the "A" label mode command (11A) is
implemented. The user positions the cursor 20 at the arrow tail
(non-pointed end) and keys "A". Two additional points are requested giving
a broken arrow with the final point as the arrow head.
Referring now to FIG. 3I, block 136 affects a "P" or print label command
(11P). In accordance with block 136, the current located label is
re-printed. This provides a means for the user to identify which label is
located when the initial "L" command is sued in clustered labels. Block
137 implements the "C" label mode command (11C), generating a copy of the
identified label and promptly the user for two additional points to define
the slope of the new copied label. The "V" label mode command (11V)
implemented via block 138 is a quick label move to the indicated position,
with the orientation vertical, reading from the bottom to the top on right
side. Similarly, block 139 executes the "H" habel mode command (11H),
performing an analogous label move, with the label set horizontal. Both
the "V" and "H" label mode commands in blocks 138 and 139 are fast
versions of the previously described "M" label mode command (11M). Block
140 represents the "Q" label mode command (11Q) that exits the label mode
and returns the user to the coordinate command mode.
Referring now to FIG. 3J, the remainder of the coordinate commands are
shown. In block 141, the "M" coordinate command (9M) is executed, moving
the previously identified coordinate point to a position as indicated by
cursor 20. Block 141 also checks to insure that a previous point has been
identified as the reference point via the "C" coordinate command and block
104. Block 142 prompts the user for a new line value as well as line and
curve type in accordance with the "N" coordinate command (9N). The
coordinate point at the cursor 20 is identified as the first point of the
new curve. In addition the reference point is automatically set to the new
point.
The "P" plot coordinate command (9P) is executed in a series of steps
represented by blocks 143-146. The first step of the "P" coordinate
command, taken in block 143, is to determine the vertical position of the
cross-hair cursor 20. If the position is to the right of the vertical
axis, then control is transferred to block 65 to FIG. 3A, causing the
graphics code to replot the data. If the cursor 20 is to the left of the
vertical axis then further checks are performed. In block 144, a check is
made to see if the line values and symbols have been already listed, i.e.,
in column format, left of vertical axis. Block 147 lists these line values
and symbols if they have not been listed and in block 145 the line value
of the closest line, listed in block 146, to the cursor 20 is determined.
This closest line is toggled to plot in the next "P" command, and gives
the user the capability to edit, plot and correct several lines
overlapping on each other by plotting each one separately. The "P" command
based on position of cursor 20 left of the vertical axis, can be thought
of as a pick to live to plot command. In block 148 the "R" or
restore/reset coordinate command (9R) is initiated. As with the "P"
command and block 143, the vertical coordinate position of cursor 20 is
used to determine the effect of the command. To the left of the vertical
axis, the "R" command restores all lines to plot visibility. To the right,
the "R" command resizes the plot to fit the minimum and maximum values
contained within the coordinate data. In block 150, the "S" or "show"
coordinate command is executed, the coordinate values being used to
compute the actual real units at the cross-hair location of cursor 20 and
these values being displayed on the screen 14. In block 151, the control
is transferred, in accordance with the "T" coordinate command (9T), to the
graphics tablet using a "mouse" to position and key coordinate commands.
In FIG. 3K, block 152 initiates the "V" coordinate command (9V). The "V"
command is similar to the "A" or add point command except that the user
directly inputs the exact values. Block 152 checks for a reference point
and block 154 prompts the user for one set of coordinate values. Block 155
prompts the user to store before or after the reference point. Block 157
resets the new point to the reference point and transfers to the next
command. Block 158 initiates the "W" or window coordinate command. In this
command, the user is prompted for two sets of coordinate points from which
a rectangular window is formed and the plot size enlarged to fill screen
14 with data in that window. Block 158 gets the first set of coordinate
points and block 160 checks for closeness of the two sets of coordinate
points. Block 161 uses the two sets and redraws the plot enlarged on that
window. Block 162 is transferred to when the user has not moved the cursor
20 for the second set of coordinate points, implying that direct input of
window coordinate points is being requested. Block 162 performs this
request. Block 163 computes minimum and maximum values and transfers to
replot the data with the newly specified minimum and maximum.
Referring now to FIG. 3L, the DRAWIT subroutine is shown. In block 164 the
shading storage, a bit map representation of the entire screen 14 is set
to zero i.e., no shade. Block 165 determines the line type, curve or
linear, and block 166 plots the symbols, if required. Block 167 determines
the line mode, solid or dashed. Block 168 begins to plot the curve,
determining if symbols at each coordinate point are required, and block
169 instructs the plotting of the symbols. Via block 170, if the curve
type is linear, then a straight line is drawn between data points. Data
interpolation using the Hiroshi Akima technique is executed via block 172,
using all the points on the given line and generating short line segments.
Block 173 determines the type of line, i.e., dashed, solid or shaded.
Block 174 plots the line as dashed using one of several different
pre-programmed dash sequences. Block 175 imposes the shading on the plot
using the following algorithm: in block 164, a bit map representation of
the plot is initialized (about 20,000 points per plot); as the curve in
which shading was requested is drawn, the points in the columns beneath
the curve are examined; if a point (single bit) is not already shaded (bit
is zero), then it is set to shade (bit set to 1); conversely if the bit is
set to shade (bit equals 1), then it is reset to no shade (bit equals 0).
This algorithm permits any shape defined by a curve, open or closed to be
shaded. Further related discussion is found hereinafter regarding the
subroutine SHADE. Block 176 determines if the wide solid line is required
and block 177 plots the wide curve by performing a "hem stitch" motion as
the curve is drawn. Block 178 simply draws the regular line, single width.
Block 179 checks to see if any more lines are to be drawn, and if not
returns control to block 77 in FIG. 3B.
Referring now to FIG. 3M, the PTITLE subroutine (plot titles) is shown.
Block 180 gets the size of the title as inputted or changed by the user.
Block 181 uses the two slope points also inputted by the user to compute
the title angle. Block 183 eliminates all leading blanks from the label.
Block 183 begins scanning the title for three consecutive blanks used as a
signal to terminate this line and begin a new line. Block 184 does the
termination. Likewise, if the scan does not find three consecutive blanks,
then the entire title is assumed on one line. Block 186 checks user input
to see if title is centered or left shifted. Block 189 plots the title and
increment to the next line. Block 190 checks the length of the line and
stores the maximum line length. Block 192 checks for more title lines in
the same title and transfers when finished to block 193. Block 193 stores
the maximum line length and computes four coordinates around the title and
stores these for later use. FIG. 3N shows the flow for the grid drawing
subroutine PGRIDY/PGRIDX. Block 194 determines which grid lines are to be
drawn. Block 195 moves into position to begin the grid line on either
axis. Block 196 computes all possible intersections of this line with all
title boundaries as determined in the PTITLE routine of FIG. 3M. False
crossings are eliminated and the sequence of real crossings is stored in
the order of crossing. Block 197 initializes the position and counter
while block 198 determines if the end of the current grid line is reached.
Block 203 checks for more grid lines if the current end is reached. Block
199 computes the next intersection of the grid line with the next title
boundary it crosses and block 200 checks to see if drawing from the
current position to intersection is crossing a title block. If it is, then
block 201 skips drawing and moves to the computed intersection. Block 202
is used to draw a line to the intersection when a line is not passing thru
title. This process is repeated looping back thru to block 198 until the
end of the current grid line is reached.
Referring now to FIG. 3O, the SHADE subroutine is described. Block 204
checks for the first point of a line segment and block 205 stores it. In
succeeding passes thru SHADE control is transferred to block 206. Block
206 takes two points and examines all columns of points between the X-axis
and the line spanning the interval of the points. Within each column
beneath this interval each possible shade point is checked. If the point
is already shaded, it is unshaded and similarly, a point unshaded is
shaded. This process is repeated until the line is traversed to its end.
Also in FIG. 3O, the AXIS subroutine is shown. Block 211 uses the minimum
and maximum values determined from the coordinate data and generates
sealing in a multiple of 1, 2 or 5 units. Tick marks and numbers required
on axis are computed and plotted.
Referring now to FIG. 3P, subroutine SHADEIT is shown. SHADEIT actually
plots the points assembled with the SHADE subroutine shown in FIG. 3O. The
exception is that points within a title block are omitted from shading.
Block 212 sets the column row position and begins checking all 20,000
possible points. Block 213 checks point for shade. If point is shaded
block 214 checks to see if shaded point is within label. If not, block 215
plots the point and block 216 increments the row counter. Block 217 checks
for more rows and block 218 resets to Row 1 and moves to the next column.
Block 219 then checks for more columns, and if none are found, return to
block 85.
Therefore, it is apparent that the present invention provides an improved
process implemented by a computer for generating graphical artwork of a
finished quality ready for photolithographic reproduction. More
particularly, the present invention provides a computer-aided process for
producing original camera-ready plots in full detail without requiring any
manual drafting. Furthermore, the disclosed invention provides an
automated process for creating revised camera-ready graphical plots that
permits custom editing and correcting of existing plots quickly and
precisely without manually redrawing revisions and affixing them to
existing plots. In addition, the disclosed computer-aided process for
graphical artwork generation is cost effective, reliable in performance,
easily adapted to existing automated graphic art equipment.
Obviously, other embodiments and modifications of the present invention
will readily come to those of ordinary skill in the art having the benefit
of the teachings presented in the foregoing description and drawings. It
is therefore to be understood that various changes in the details,
materials, steps, and arrangement of parts, which have been described and
illustrated to explain the nature of the invention, may be made by those
skilled in the art within the principle and scope of the invention as
expressed in the appended claims.
##SPC1##
##SPC2##
##SPC3##
##SPC4##
##SPC5##
##SPC6##
* * * * *
|
|
|
|
|
Description  |
|