U.S. patent number 3,809,865 [Application Number 05/221,237] was granted by the patent office on 1974-05-07 for computer terminal plotting apparatus and method.
This patent grant is currently assigned to Academic Associates, Inc.. Invention is credited to Frank N. Dimeo.
United States Patent |
3,809,865 |
Dimeo |
May 7, 1974 |
COMPUTER TERMINAL PLOTTING APPARATUS AND METHOD
Abstract
In a conventional computer terminal device for printing out data
from a digital computer, a type vehicle having straight line
characters of varying slopes and intercepts which is easily adapted
to replace or fit over the conventional alphanumeric ball, cylinder
or type-track vehicle, for printing a straight line approximation
of graphical information. The information from which the graph is
derived, already available in the computer, is operated upon by a
stored program to cause the type vehicle to print, for each data
point, a straight line segment conveying optimum information with
respect to the position and waveform derivatives to provide a
continuous plot of output data.
Inventors: |
Dimeo; Frank N. (Philadelphia,
PA) |
Assignee: |
Academic Associates, Inc.
(Audubon, PA)
|
Family
ID: |
26762554 |
Appl.
No.: |
05/221,237 |
Filed: |
January 27, 1972 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
79907 |
Oct 12, 1970 |
|
|
|
|
Current U.S.
Class: |
358/1.18;
101/399; 358/1.3; 400/174; 400/900 |
Current CPC
Class: |
B41J
2/50 (20130101); Y10S 400/90 (20130101) |
Current International
Class: |
B41J
2/50 (20060101); G06f 015/20 () |
Field of
Search: |
;444/1 ;340/172.5
;178/30,34-35 ;235/151,151.22 ;101/398-399,401 |
References Cited
[Referenced By]
U.S. Patent Documents
Other References
D E. Fisk, "Control For Digital Plotter," IBM Technical Disclosure
Bulletin, Vol. 13, No. 2, July 1970, pp. 458-459..
|
Primary Examiner: Morrison; Malcolm A.
Assistant Examiner: Smith; Jerry
Attorney, Agent or Firm: Paul & Paul
Parent Case Text
CROSS REFERENCE TO RELATED APPLICATION
This is a Continuation In Part application of applicant's
application Ser. No. 79,907, filed Oct. 12, 1970, having the same
title and now abandoned.
Claims
1. Computer apparatus for printing out data in graphical form,
comprising:
a type vehicle having a plurality of raised characters of a
straight line segment form, each such character being positioned on
the printing surface of said vehicle within a separate character
field, such character fields being of uniform size and contiguous
to adjacent fields, each straight line character having a distinct
combination of position and slope and having each end thereof at a
boundary of its character field, whereby said characters may be
printed out under control of a computer so as to provide
2. The apparatus as described in claim 1 wherein said type vehicle
is
3. The apparatus as described in claim 1 wherein said type vehicle
has a cylindrical form, with said raised characters rising from
said cylindrical
4. The apparatus as described in claim 1 wherein said type vehicle
is a spherical ball, with said raised characters rising from said
spherical
5. The apparatus as described in claim 1 wherein said type vehicle
contains a plurality of raised characters other than said straight
line characters.
6. The apparatus as described in claim 1 further comprising a
digital computer and computer terminal equipment having said type
vehicle mounted thereon, wherein said digital computer contains
data in tabular form consisting of a plurality of data points, and
a stored subroutine for selecting characters on said type vehicle
which represent position and slope information corresponding to
respective data points, and for controlling said terminal apparatus
to print out such selected characters,
7. The apparatus as described in claim 1, further comprising:
a. computer terminal equipment controllable by a digital computer,
and containing said type vehicle;
b. digital computer means, operably connected to said computer
terminal equipment;
c. digital storage means for storing a plurality of data
points;
d. said computer means being programmed to select character fields
on the data printout corresponding to the coordinate positions of
said respective data points;
e. said computer being programmed to select, from said plurality of
straight line characters, a straight line character corresponding
to the coordinate position and slope of said graph for each
respective data point;
f. said computer means being programmed to generate control signals
representing said selected character fields and said selected
straight line characters; and,
g. said control signals, when operably connected to said computer
terminal equipment, causing the printing of said selected
characters in said selected character fields to produce said
straight line segment graph representing said data points.
Description
BACKGROUND OF THE INVENTION
A. Field of the Invention
This invention lies in the field of computer peripheral equipment
and, more particularly, computer output terminals for presenting
graphical information.
B. Description of the Prior Art
In many present day applications involving digital computers, there
is an urgent need for graphical presentation of data which has been
compiled in tabular form by the computer. In some scientific
applications, the information is converted from digital to analog
signals, the analog signals driving continuous wave plotters which
provide continuous plots of graphical information. However, whether
the user employs a separate digital to analog converter and a
separate plotter, or such equipment is combined in one output
terminal, this approach is extremely expensive and not justified
for the routine computer user.
An alternate approach to printout of computer data in graphical
form is to use a conventional alphanumeric output terminal such as
a teletype machine, Selectric typewriter, or high speed line
printer, using any one of the characters available as a data point,
and positioning these data points by the use of the spacing
mechanisms of the output printer. Such technique, while commonly
used, has severe limitations, particularly where more than one
curve is to be represented on a given plot. None of the
alphanumeric characters normally available is adequate to represent
a curve of changing slope. Further, each character field is spaced
horizontally on any given line, and is spaced vertically from line
to line, with the result that the data points which represent only
position information, are considerably spread out and present a
very poor resolution graph. This result is particularly frustrating
in many applications inasmuch as the computer, in the course of
compiling the tabular information which is to be presented in
graphical form, has compiled considerably more information with
respect to both position and derivative than the output printer is
able to accommodate. There thus is essentially no middle ground in
the present art between the extremely poor resolution standard
printer, designed only for alphanumeric printouts, and the very
expensive analog plotting terminals.
SUMMARY OF THE INVENTION
It is an object of this invention to provide an easily installed
hardware modification of an existing character printout terminal in
order to adapt such terminal for good resolution printing of
graphical information.
It is a further object of this invention to provide simple
mechanical means for computer controlled printout of straight line
segments incorporating derivative, position and intercept data to
produce a straight line approximation curve of data generated by a
digital computer.
It is a further object of this invention to provide a method for
printing a straight line approximation graph of information held
within a digital computer.
It is a further object of this invention to provide simple and
reliable apparatus and a method for using such apparatus which
overcome the disadvantages of the prior art and fulfill a long felt
need for an inexpensive means of direct printout of digital
information in high resolution graphical form.
Accordingly, the invention provides a character vehicle adaptable
to a conventional printout device, such vehicle having a plurality
of raised characters of a straight line segment form, each
character having distinct position and slope information, the
characters occupying character fields such that there is no spacing
horizontally or vertically between adjacent character fields on the
printout, and a method of converting tabular information in digital
form into corresponding signals to control the sequence of typing
of such straight line segments so as to produce a continuous graph
of such tabulated digital data. In operation, the computer user
replaces a conventional alphanumeric character vehicle with the
straight line segment vehicle for printout of the curve, or fits
over or otherwise attaches the straight line segment vehicle to the
alphanumeric vehicle, and the computer is operated by a sub-routine
program which constitutes the software for investigating the
digital information and controlling the curve printout. The
computer controls the actuation of the type vehicle so as to cause
it to print successive straight line segments which constitute the
curve.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1a is a diagrammatic representation of a cylinder adaptable
for use on teletype machines, and having straight line
characters;
FIG. 1b is a diagrammatic representation of a ball type character
vehicle adaptable for use on typewriter outputs, and having
straight line segment characters;
FIG. 2 is a diagrammatic representation of a graphical character
field showing an arrangement of 64 different straight line and dot
characters;
FIG. 3 is a diagrammatic representation of a conventional printout
produced by a conventional alphanumerical printout device, with a
high resolution curve provided by this invention superimposed
thereon.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring now to FIG. 1a, a diagrammatic illustration is shown of a
cylinder for use on teletype machines, the cylinder being of
suitable geometric proportions to be readily adapted to existing
machines. The surface of the cylinder supports raised characters 40
of a straight line segment form as illustrated in the drawing. The
cylinder is constructed with an inner diameter permitting it to be
placed firmly over the alphanumeric cylinder of a conventional
teletype. Alternately, the user may replace the alphanumeric
cylinder with one of the same diameter. For purposes of
illustration, the cylinder is broken up into character fields by
dashed lines, each character field containing a straight line
segment having a given position and slope within its character
field. Such raised straight line segments replace the normal
alphanumeric characters which are utilized in conventional printout
devices.
Referring now to FIG. 1b, a ball type character vehicle is shown,
again illustrated with character fields designated by dashed lines,
each character field having the straight line segment character
therein. It is to be noted that other hardware adaptations
embodying this invention may be utilized, even though not
illustrated here. For instance, one type of line printer utilizes a
belt-like type track which is continuously driven past the printer
hammers. Such type track, which normally contains raised
alphanumeric characters, may be replaced with a corresponding type
track having raised straight line segment characters. In general,
this invention may be practiced with any printing device having a
character vehicle, wherein the alphanumeric character vehicle may
be replaced with a straight line segment character vehicle of the
same geometrical form, or adapted by sliding the straight line
segment vehicle over the alphanumeric vehicle.
Referring now to FIG. 2, 64 possible characters are illustrated
within one character field. The actual number of characters which
can be utilized in the practice of this invention will depend upon
the equipment being used, and a choice of 64 characters is made
simply to illustrate the principle involved. As seen in FIG. 2, 61
straight line characters are shown, each straight line character
representing different position and/or slope information. The
choice of the straight line segment to be utilized is made upon an
examination by the computer of the digital information representing
the point to be represented and adjacent points, from which digital
information the appropriate straight line character can be chosen
which optimally represents position and slope data.
Since the ideal output format is a continuous line graph, the
character field is chosen so that there is no horizontal or
vertical spacing, and the entire character field is utilized by the
straight line segment characters. Thus, in referring to FIG. 2, the
rectangle within which the line segments are enclosed illustrates
the entire character field, comparable to one of the character
fields shown by the dashed lines in FIGS. 1a and 1b. FIG. 2
illustrates the use of 64 characters, consisting of 61 straight
line segments each of a unique position and slope, plus three "dot"
characters. The dots may be employed if the curve to be represented
enters and leaves via the same side of the field. In that instance,
the dots may be used to indicate the extent of the excursion of the
curve into the character field. It is to be emphasized that many
different modes of operation may be utilized in accordance with the
constraints applied by the equipment being used. Not only the
number of characters may be varied, but the form of the characters
may be varied. For instance, some of the straight line segments may
be replaced by arcuate segments to provide a better approximation
of the graph within a given character field. In addition, dotted
line or dashed line segments, or the like, may be used in place of
straight line segments, a feature which may be incorporated where
it is desired to print out a number of curves on the same graph and
to provide for differentiation of the curves.
Referring now to FIG. 3, the difference between the prior art
practice with conventional line printers and the practice of this
invention is illustrated. The dashed lines illustrate conventional
alphanumeric character fields 51, such fields having horizontal
spaces between adjacent characters, and having vertical spaces
between adjacent lines. FIG. 3 illustrates a curve printout using
conventional character fields and the character o. By contrast,
this invention utilizes a larger character field 52, as shown by
the solid lines, such character fields extending such that there is
no spacing between adjacent character fields of the printout in
either the horizontal or vertical directions. Corresponding to the
graph comprised of the character o placed in the conventional
alphanumeric fields, a graph 53 derived from the apparatus and
method of this invention is illustrated showing straight line
segments, each segment filling one full character field 52. As is
readily seen, the straight line segment graph is considerably
neater and more understandable, in addition to providing more
accurate information.
In operation, the computer operates on input data in accordance
with a program written to obtain information in tabular form. For
example, the computer may be programmed to calculate the trajectory
of a missile in terms of initial thrust conditions, gravitational
forces, etc. The computer calculates position information at
predetermined time intervals, e.g., every second, storing in memory
such position information as a function of time corresponding to
each 1 second time interval throughout the desired time range. For
purposes of simplicity in this example, it is assumed that the
position information is in terms of distance from a given point, so
that only one dimension as a function of time need be considered.
If a normal printout of such information is made, it is in tabular
form, a different numerical distance being printed out for each
corresponding one second time interval. Alternately, the computer
user may program a printout using a conventional line printer or
terminal output device. In such a printout, each alphanumeric
character field on a given line corresponds to a given time
interval. However, presuming that range is plotted as a function of
time, the line spacing of the printout device determines the
resolution with which the range can be plotted. For a given time
interval, corresponding to a given column of alphanumeric character
fields, an alphanumeric character must be placed in the center of
one given line, thus considerably compromising the resolution of
the curve. By contrast, in the practice of this invention, the
computer can select the optimum character which most closely
reflects both the position and slope of the curve within the given
field. For example, corresponding to a given time interval for
which the computer has already calculated position data, the
computer may be programmed to compare this position with the
position for the next prior time interval and the next subsequent
time interval, and calculate therefrom an approximation of the
slope of the curve through such time interval. In this way, the
computer derives both position and slope information, which forms
the basis for selecting the best of the 64 illustrated character
segments to be chosen within any given character field. After thus
computing the desired character segment for a given time interval,
the computer is programmed to proceed to the next time interval,
and make similar calculations, again selecting the optimum
character field and optimum character segment for representation of
the tabular data. In thus proceeding through the tabular data, the
computer generates digital information from which the curve may be
plotted. It is to be noted that, as is the practice in the computer
art, the curve may be plotted out as the program progresses, or,
more efficiently, the plotting instructions may be stored in memory
or on auxiliary memory such as magnetic tape, for later printout
through the printout device.
Different constraints may be imposed in writing the program by
which the computer operates on the tabular data in order to
determine the chosen characters for printout of the curve. For
example, if a continuous curve is desired, the intercept of each
character may be made the starting intercept of each subsequent
character. To illustrate, curve A in FIG. 2 terminates at intercept
B. The computer is programmed such that the next chosen character
is one of the nine line segments eminating from intercept C, such
that the subsequent and the prior segments would be continuous at a
common point.
Although the practice of this invention has been illustrated by
discussion of the plotting of a curve which proceeds unilaterally
on a time sequence basis, it is noted that the method may be used
for plots such as helical patterns, root locus, etc., where the
curve may have a plurality of points corresponding to any given
horizontal or vertical coordinate. For example, in using an output
terminal which cannot back space and/or back line feed, a circular
plot could not be constructed single character by single character
by proceeding unilaterally in a given direction across the graph.
In such cases, the program is modified to first calculate all
printout characters, and then to cause the printout terminal to
print one or more characters on each line, progressing from line to
line until the total curve is plotted. In the same manner, a
plurality of curves may be plotted in one printing. Of course, if
the terminal may be back spaced and back lined, such operations may
be incorporated into the print-out program.
The practice of this invention is illustrated in the following
examples.
EXAMPLE 1
A standard typewriter instrument is used as the output printing
device, for printing data on command from a digital computer. The
standard alphanumerical ball is replaced with the line segment ball
as shown in FIG. 1b. The desired printout is that of an x-y plot of
tabular information contained within the memory of the digital
computer. A subroutine is stored within the computer memory for
analyzing the tabular data and generating control signals sent to
the typewriter, to properly space the typewriter and cause the
chosen line segment to be printed, corresponding to each data
point.
The typewriter, with the line segment ball adaptation, is capable
of printing any one of 61 line segments, or three dot characters.
Each line segment or dot character printout is made within a
character field having a horizontal, or side to side width, equal
to the horizontal character spacing of the typewriter, and a
vertical, or line to line width, defined by the line spacing of the
typewriter, the character fields being contiguous such that there
is no overlapping between adjacent character fields. The computer
retrieves the first data point from the tabulated data in memory,
and, from the x-y location of such data point, generates electrical
signals which are communicated to and drive the typewriter
horizontally along the first line to the position of that character
field wherein such first data point is contained, when plotted with
a pre-determined scale on the typewriter printout paper. An optimum
slope representing the slope of the graph at such first data point
is determined by calculating the differential slope between such
first data point and the next, or second data point, and comparing
such calculated slope with the 61 available straight line segments.
The straight line segment closest to the calculated slope is
selected, and a corresponding electrical signal is communicated to
the typewriter to cause it to print such selected segment within
the chosen character field. The typewriter is then spaced to the
next line, and the above process is repeated.
EXAMPLE 2
The same procedure is followed as was followed in Example 1, up to
and including termination of printout of the first line segment. In
operating on the second data point, the character field is chosen
in the same manner, i.e., the x-y information is used to shift the
typewriter horizontally to the character field containing such x-y
position. In determining the chosen line segment, or dot, for the
second character, the trailing intercept of the prior line segment
is used as a constraint. Thus, the trailing intercept of the prior
line segment limits, to a limited number of the total 61 available
line segments, that line segment which can be chosen. The slope is
calculated as the x-y slope between such intercept point and the
next subsequent, or third, data point, and the respective line
segment is then chosen which has its leading intercept coinciding
with the trailing intercept of the prior line segment, and has the
closest slope to the calculated slope. The typewriter is then
spaced to the next line, and the same procedure is repeated, until
all of the data is printed out.
EXAMPLE 3
The same procedure as followed in Example 1 is utilized,
incorporating the steps of calculating the slope between the given
data point and the prior data point, and averaging this slope with
the calculated slope between the given data point and the next
succeeding data point, to determine the slope associated with the
given data point.
From the above examples, it is apparent that many different
subroutines may be utilized for determining the appropriate line
segment corresponding to a given data point. Any manner of
programming the computer to calculate, from the tabular data, an
optimum slope corresponding to a given data point, is within the
spirit and scope of this invention.
As used in this specification and the claims appended hereto, the
term character field defines the position on the type vehicle, as
well as on the printout, within which the straight line segments
are positioned. The character fields are contiguous, meaning that
they have common boundaries with adjacent fields, without spacing
or overlap. The straight line segments are seen to fill the
character fields, in that they extend from one boundary to another,
the ends of each segment being at or on a boundary.
There is presented below, in Table I, a listing of a computer
program for operating on stored data, selecting optimum straight
line character segments, and causing sequential printout of such
segments so as to provide a straight line segment curve of the
data. The program calls for the information which is to be
presented as a curve, from either external storage (cards, tape,
etc.) or from the computer's own memory. The computer selects the
proper straight line segments which best fit the information in
storage for each data increment. In order to make best use of the
physical size of the output format, scaling of the information is
first considered. It is seen that the listing calls for a printout
of normal alphanumeric characters, it being understood that when
the straight line segment vehicle of this invention is used in
place of a conventional alphanumeric vehicle, the output is in the
desired straight line segment form.
It is understood that the program illustrated in this listing is
illustrative only, and for the purpose of a presenting a complete
disclosure of this invention. It is noted that other programs, or
routines, incorporating logical variations of the one shown here,
may be composed by those skilled in the art, and be within the
scope of this invention. ##SPC1## ##SPC2## ##SPC3## ##SPC4##
##SPC5##
* * * * *