US 3675230 A
Apparatus is described for decoding information specifying a display for display means, such as a cathode-ray tube or an incremental plotter. The information is received in a form which specifies a number of curves making up the display in a small number of "bits". Each curve is specified by the origin of the curve, one of a number of sectors of the display area in which the curve falls each sector bounded by straight lines radiating from the origin point of the curve, the direction of a series of elemental lines each connected the proceeding and making up the curve, and the number of such lines in the curve. The apparatus decodes this information, using logic circuits, to provide a signal suitable for the display means.
Description (OCR text may contain errors)
United States Patent Pltteway 45 J l 4, 1972 1 APPARATUS FOR DECODING 3,329,948 7/1967 Halsted ..340/324 GRAPHIC-DISPLAY INFORMATION 3,459,926 8/1969 Heilweil et al.. .....340/324 X 3,514,616 /1970 Kolb .340/324 A X  Inventor: Mlchael Lloyd Vlctor Pltteway, Knole H111, 3 33 09 10/1970 Bouchard 340/324 A England 3,537,098 10 1970 Nielsen et a1. ..340 324 A  Asslgnee' sz i jg gz s gfg gg corpora Primary Examiner-David L. Trafton Att0rney-Cushman, Darby & Cushman  Filed: July 28, 1969  Appl. No.: 845,394  ABSTRACT Apparatus is described for decoding information specifying a dis 1a for dis la means, such as a cathode-ra tube or an in- Forelgn Apphcauon Prlomy Dam cre inezltal plot te The information is received a form which July 29, 1968 Great Britain ..36,172/68 Specifies a number of curves making p the p y in a Small number of bits. Each curve is specified by the origin of the  US. Cl. ..340/324 A, 315/18, 340/1725 curve, one ofa number of Sectors f he display area in \yhich  Int. Cl; ..G06f 3/14 the curve fans each Sector bounded by Straight lines rad'atmg 58 Field of Search ..340/324.1 mm the migi" P curve the direct 0f 3 Series elemental lines each connected the proceeding and making up  References Cited the curve, and the number of such lines in the curve. The apparatus decodes this information, using logic circuits, to pro- UNTTED STATES PATENTS vide a signal suitable for the display means.
3,281,831 10/1966 Yanishevsky ..340/324 X 7 Claims, 6 Drawing Figures CLOCK 44 45 ig :1; Jf SHlF'T REGISTER HUFFER 1/ our/ urs 0/4 (aw/4'2 Ti? 15 Y CO-ORDINATE PMENTEDJUL 4 I972 3, 675.230
SHEET 10F 3 LOGIC DIGITAL TO CATHODE /BUFFER HARDWARE ANALOGUE-RAY TUBE FIG. 7.
P'ATENTEDJULMQYZ I 3.675.230
snmzors WAIT FOR A BEAM ON LOAD -26 X Q'Y 27. LOAD 26 BEAM ON YES BEAM OFF -39 READ C 40 SHEET 30F 3 PRTE'N TEDJUL 4 1972 7 mm H 4 a Q Q Q a R R a macs n was VM MM/v Q E Esme 2 ll mu 1 IE Q Q hm N z mm Q Q @2 NR m mEG W%,( .QW. r. mubqu a 250 w :2: 3 \b v NW 558m 2 mh u\ mm w F m A was V E2598 x g t w 1 v mfi u\ s ::1 kwwmmn V E 2a%-3 QM $58K Kim 5% ww H vw Sod APPARATUS FOR DECODING GRAPHIC-DISPLAY INFORMATION The present invention relates to apparatus adapted to be coupled to a display device to decode information specifying what is to be displayed. The apparatus is particularly, but not exclusively, useful in displaying graphical data or curves, and can be used to generate alphanumeric data.
In providing a technique for coding information for graphical displays, one important objective is to use as few bits as possible since then the graphic data files can be reduced in size, telephone line transmission times can be reduced, and smaller stores can be used for cyclically refreshed displays.
A line drawing can be coded for display by a raster scan of the type used in television transmissions. Each permitted point on the display is either light or dark and requires one binary bit of infonnation, e.g., for dark and l for light, so that over a million bits are required for a display screen permitting 1,024 values each for cartesian coordinate X and Y.
On such a display, a typical line drawing might consist of 100 straight or curved lines averaging 100 steps each, i.e., each about a tenth of the way across the screen. Each of these 10,000 points can be described by 20 binary bits, 10 for X and 10 for Y, so that the drawings can be described in 200,000 bits this way.
A line drawing displayed in this way will require nearly all 0 bits with only an occasional 1. Each 0 sequence can be represented by a count, so that this particular line drawing can be described by 10,000 integers. Most of these integers will be less than 1023, exceptions being the very first, and possibly horizontal breaks where there may be some unbroken dark lines. These exceptions can be handled by a suitable convention, e.g., 1023 can be reserved to indicate a continued 0 sequence of 1022, so that for example 3926 is coded as i023 1023 1023 860, and 1023 is coded as 1022 l. The picture can then be described in these terms in just over 100,000 bits.
Another coding technique is that used when a computer drives an incremental plotter. This technique often uses 5 bits per step. A 1 Mom bit position is used to drive the pen one step in the positive X direction, a l in another position drives the pen in the negative X direction, and Is in third and fourth positions drive the pen in positive Y and negative Y directions, respectively; two appropriate bits set to 1 indicate a diagonal move. The fifth bit set to 1 indicates that the move requires the pen to be held on to the paper, so that 0 allows the pen to be positioned to start a new line. If the drawing containing 100 lines averaging 100 steps each involves l0 gaps also averaging l00 steps each, 55,000 bits are sufiicient to describe the whole picture, including 5,000 bits for pen positioning.
If straight lines only are required, another technique can be used in which a drawing can be very efficiently coded by giving the X and Y coordinates of the starting point and end point of each line. Each coordinate required bits, so 4,000 bits are sufficient to code a drawing with 100 straight lines. This technique known as vector generation can be achieved in practice using either a digital hardware implementation of a straight line generating algorithm, or analogue techniques.
With analogue techniques, each straight line is generated through a linear variation of the voltages which are then applied to the deflecting system of an oscilloscope.
lf curved lines are required, however, the vector generator is much less efficient. Typically, 40 straight lines are required for a reasonable fit to a circle. It is relatively easy to add complete circles to the repertoire of a vector generator, but this is somewhat restrictive, and an arc generator for a more general class of curves is more useful. Typically 70 bits are required to describe a given curved segment e.g., two 10 bit numbers for the starting point, two for the end point, a starting gradient, a finishing gradient and some curvature parameter. Conic section arcs, for example, require seven numbers for their determination; a complete ellipse or hyperbole has five degrees of freedom, and two more are required to specify starting and end points. Thus 7,000 bits are required to describe a drawing with 100 simple curved segments.
This technique for coding curved segments has a number of disadvantages. If more complicated mathematical curves are required, these must be described in terms of conic arcs or other shapes appropriate to a particular type of display. This means an additional load on a central computer supplying the display information, and possibly complicated programming to provide the information.
If a buffer in which the display information is stored, is formed from a delay line, drum, magnetic tape loop or some other recirculating device, the successive 70 bit patterns describing each curve to be refreshed will appear on a regular clocked basis. The curve generating hardware requires more time to generate a long are than a short are. If a short are is called for, the curve generator must wait until the next 70 bit pattern has become available from the buffer. If a long arc is called for, it may be necessary to .waste space in the buffer to allow this curve to be completed before the next is initiated. In accommodating the timing requirements of a recirculating buffer, the wasted capacity could easily exceed the additional bit requirements of the compressed incremental form.
A further disadvantage is that the curve generating system is less efiicient for curves requiring short arcs or fine detail, for example, for some lettering. 70 bits are required even for a short curve involving just a few incremental steps, 10 say, compared with 40 or 50in ordinary incremental form (assuming that no pen positioning is required), and 22 in a compressed incremental form.
The present invention springs from the realization that graphical display information can usually be encoded with considerably fewer bits than have been used before, and that the information can be decoded using simple apparatus devised for the purpose.
According to the present invention, therefore, there is provided apparatus for decoding information specifying a curve for display by first and second items of information, the first item specifying in which of a plurality of sectors of a display area the curve is to be displayed and the second item specifying a series of elemental straight lines making up the curve by the variable directions of the lines within the specified sector, the apparatus including sector-selection means capable of providing a series of output signals specifying elemental lines in any of the directions in any of the sectors, but which, on receipt of the first item of information, provides output signals specifying a series of elemental lines in the sector specified by the first item, the direction of the lines, being as specified by the second item.
In the preceding paragraph curve includes straight lines, in addition to true curves. The number of sectors is conveniently eight or 16, but other numbers can be used.
A third item of information may also be used in specifying the curve by specifying the co-ordinates of the origin of the curve, that is the point of intersection of the sectors. The apparatus may then include first and second co-ordinate stores adapted to be coupled to display means for providing displays by moving writing means over a display area, the first and second stores, in operation, controlling the position of the writing means on the display area, read means for entering the third item into the stores, and means for changing the contents of the stores in accordance with the output signals of the sector-selection means.
If, as will normally be the case, desired displays are likely to be made up of a number of curves in different sectors, it is preferable to provide a third store in which a further item of information the desired number of moves for one curve can be stored. This number can then be counted down to provide an indication that one curve has been displayed and that subsequent information relates to a further curve. Read means, coupled to the first and second stores will then usually be required to clear these stores and enter the co-ordinates of one end of the subsequent curve. The read means also allows the co-ordinates of the start of a display to be entered. lfa new curve is to start where the preceding curve finished, the read means may include means responsive to the incoming information to allow the contents of the co-ordinate stores to remain unaltered.
The code used preferably comprises a first bit to initiate reproduction of the display, first and second groups of bits (that is the third item of information) specifying the position of one end of the first curve to be displayed, a third group of bits (that is the further item) specifying the number of moves in the first curve, a fourth group of bits (that is the first item) specifying the sector in which the curve is to be drawn, and a fifth group of bits (that is the second item) specifying what the moves are to be. An additional bit may be provided to indicate whether or not the subsequent curve is to start at the end of the first curve. The second and subsequent curves are coded in the same way as the first, except that where a subsequent curve starts at the end of a preceding curve the first bit and first two groups of bits are omitted.
Using the above code the number of bits required for a typical drawing is reduced to about one-third compared with the technique which uses individual incremental moves. In addition, the arc generator mentioned above requires more hardware, for example a complete adder and large registers, to obtain sufficient resolution between different thin ellipses.
The writing means may be the electron beam of a cathoderay tube, the display area then being the screen of the tube. Another example of the writing means is the pen of an incremental plotter, where the display area is the paper over which the pen moves.
If a cathode-ray tube is used, the display may be altered using a light pen provided the tube is not a long persistance tube, and the display is refreshed periodically. The information for the display is then best held in a cyclic store, such as a delay line, closed loop magnetic or paper tape, or an integrated-circuit shift register, rather than a storage tube. The position of the light pen in relation to the display can then be obtained by determining when the display illuminates the tip of the pen.
An embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings in which:
FIG. 1 is a block diagram of a display system using decoding apparatus according to the present invention,
FIG. 2 is a diagram showing how a curve to be displayed is formed move by move,
FIG. 3 shows octants in which curves can be formed,
FIG. 4 shows how a letter S could be generated using apparatus according to the invention,
FIG. 5 is a flow chart for decoding display information, and
FIG. 6 is a schematic diagram of apparatus according to the invention.
In FIG. 1 an overall system for providing a display is shown. Information for the display is first encoded, using the system described below, and then deposited in a file 10. The information for a display may already be obtainable for plotting on an incremental plotter by means of an available programme, and if so, a further programme can be used to provide the encoded information. When a display is required, the encoded information for all the curves in the display is sent, for example, by telephone line to a recycling buffer-store 11, which may, as has been mentioned, be a delay line.
Logic hardware 12, which will be described in more detail below, decodes the information and presents its digital output to a digital-to-analogue converter 13 coupled to a cathode-ray tube 14, on which the required display appears.
If a display area is divided into a number of elements it may be sufficient to reproduce a curve 16 of FIG. 2 by the irregular line 17 made up of elemental lines joining some of the elements. The line 17 is produced by starting at a point 18 which is specified as one end of the curve 16 and progressing by increments along elemental lines which are either horizontal or at 45 between elements, such as the elements 19, 20 and 21 of the display area. Since only two elemental lines are used these can be coded by two binary characters 0 and l.
The system of FIG. 2 for reproducing curves is satisfactory only so long as the gradient of the curve is between 0 and 45. This problem is overcome by specifying in which of a number of octants a curve occurs. These octants, numbered 0 to 7 are shown in FIG. 3. The elemental lines for each curve in a display are preceded by three bits specifying a selected octant, and when the display moves out of that octant when, for example, a gradient changes from less than 45 to more than 45, a new octant is specified. Hence it is also necessary to specify how many elemental lines there are in a given octant.
Where a display has to be more accurate than can be obtained using the above procedure, the angular position of a curve can be specified in one or more sectors, for example, 16 sectors. Less sectors can also be used if a display is made up entirely of horizontal and vertical lines, or can be sufficiently accurately represented by such lines.
An example of the various groups of bits in a complete code for one curve is a follows:
an initial bit, known as the beam on" bit, to signify that curve information follows,
10 bits specifying the X coordinate of the beginning of the curve,
10 bits specifying the Y coordinate of the beginning of the curve,
eight bits specifying the number of elemental lines in the octant in which the curve occurs,
three bits specifying the octant,
a number of bits .equal to the number of elemental lines,
specifying the lines, and
one bit signifying whether the next curve starts at the end of the curve specified.
The coded information for the next curve then follows.
In describing the invention further the following notation is used:
X and Y represent the coordinates of the start of the curve,
N represents the number of elemental lines,
w, x and y represent the three bits specifying the selected octant respectively,
m represents the bit specifying the direction of each elemental line, and
0 represents the last bit specifying whether or not the next curve starts where the last finished.
By way of example the code for the line 17 of FIG. 2 without the X, Y and 0 bits is as follows:
000000100110010010010101101111 The first three bits, w, x and y, are all zero indicating movement in the octant marked 0 in FIG. 3. The next eight bits are coded 0001001 1, so N 19 and there are 19 individual elemental line bits, m.
Another example is the letter S of FIG. 4 which starts with a l for beam on, then 10 bits for X and 10 bits for Y to locate the lower, left hand end of the letter as a starting point. The coding continues:
N w X y lines (m) 00001100 0 0 1 110101001000 1 00001001 0 0 0 000100111 1 00001000 1 0 0 11010100 1 00001000 1 1 0 00100111 1 00010000 0 1 0 1101001001001011 1 00000101 1 1 0 11010 1 00000100 1 0 0 1011 1 00000110 0 0 0 110100 1 00001010 0 0 1 0001001101 The bits have been set out for convenience in tabular form, but they are not spaced in the buffer store. The left hand column shows the continuation bit 0, and the coding must include at least one terminating zero before the next beam on bit.
The logic hardware 12, of FIG. 1, which is an embodiment of the present invention, and decodes information encoded in the described way, will now be described.
The requirements for the logic hardware 12 can be obtained from the flow chart of FIG. 5, and any apparatus which functions according to the chart can be used for the hardware 12. In describing the flow chart reference numerals refer to operations.
Firstly, there is a wait, 25, until a beam on bit is received, and the X and Y bits are loaded, 26. Next the w, x, y and N bits are loaded, 27, and then the beam of the cathode-ray display tube is switched on, 28. The first m bit is read, 29, and this bit and the w bit are tested, 30, and if m l or w O the left branch is taken, and if m l or w l the right branch is taken, that is, either or both branches may be taken. The bits x and y are tested, 31 and 32 giving four possibilities:
if x 0, the X coordinate is increased by one, 33,
if x= l, the X coordinate is decreased by one, 34,
if y 0, the Y coordinate is increased by one, 35, and
if y l, the Y coordinate is decreased by one, 36.
Next, N is reduced by one, 37, and the result tested, 38, is to discover if N is zero. If not, the next m bit is read 29, but if N is zero then the beam is switched ofi, 39, and the continuation bit C is read, 40, and tested, 4l.- If equal to l, the bits w, x, y and N are loaded, 27, again, and if not a wait, 25, until a further beam on bit occurs.
The layout of that part of the flow chart having the operations 30 to 36, is possible only through the numbering of the octants of FIG. 3 in the order shown, although of course other, less convenient, flow charts could be devised if the octants of FIG. 3 were numbered in other ways. In FIG. 3 a 1 in the least significant position y indicates a negative Y direction, that is octants l, 3, 5 or 7. A l in the middle position x indicates a negative X direction, that is octants 2, 3, 6 or 7. A l in the most significant position w indicates that Y movements are in the quadrants 4, 5, 6 or 7.
In FIG. 6 encoded display information from the buffer store 11 is clocked into an ll-stage shift register 45 as clock pulses are received from a clock pulse source 44. The output of the shift register 45 is connected by way of groups of AND gates, 46 to 49, to a Y register 50, an X register 51, an octant register 52, and an N register 53, respectively.
The AND gates of each group are coupled to the register 45 to allow the contents of its stages to be read in parallel into the appropriate one of the registers 50 to 53. Thus there are gates in the groups 46 and 47, three in the group 48 and eight in the group 49. In each group the gates are coupled to the more significant stages of the register 45.
The registers 50 and 51 are so coupled to the digital to analogue converter 13 so that the numbers contained by these registers are applied one at a time as digital input signals to the converter.
The least significant stage of the shift register 45 is connected through an AND gate 54 to a store 55.
In order to simplify FIG. 6, some of the outputs of the registers and the stores shown have been designated with the reference numeral of the store or register with a bar over the numeral. This signifies that the output so designated is inverted with respect to the contents of the store or register. For example, the output 55 of the store 55 is zero when the store holds the bit I, and vice versa.
The register 53 is set to contain the number 22 in binary digits by the store 55 when this store is in its reset state. All the stages of the register 53, which acts as a sequencer, are coupled in parallel to an AND gate 57 to detect when number N has been counted down to zero. The output of the AND gate 57 is coupled to store 58, which has one output 5 8 connected to gates 46 to 49, and another to a store 59. A further output from the store 58 is coupled by way of a two-bit delay circuit 60 to AND gates 61 and 62 which determine whether the X and Y coordinates at the end of a curve are changed or not.
The inputs of AND gates 70 to 75 are connected to the octant register 52 and the shift register 45. Together with invertors 76 and 77 these AND gates change the contents of the X and Y registers 50 and 52 to which the outputs of the gates 72 to 75 are connected.
In operation, when the display of one curve has been finished, the apparatus of FIG. 6 waits until a beam on" bit, a "1, is clocked into the register 45. When this bit reaches the right hand end of the register 45, the store 55 is set making the register 53 ready to be clocked down by the next clock pulse. The following 10 stages of the register 45 now hold the X coordinate. The next clock pulse counts the register 53 down to 21, and a decode AND gate 64 opens the AND gates in the group 46, loading the register 51 (the store 58 is reset at this time enabling the groups of gates 46 to 49).
The Y coordinate is now clocked into the register 45 and when the count in the register 53 reaches 11 a decoder-AND gate 65 is enabled allowing the Y coordinate to be read into the register 50. Similarly a decode gate 66 is enabled and the octant register 52 is loaded when the count in the register 53 reaches eight, that is, three clock pulses later when the three octant bits are in the register 45.
When the register 53 reaches zero, the state of the store 58 changes setting the store 59, and enabling the group of gates 49. The eight bits giving the number of increments N now in the register 45 is transferred to the register 53, and the cathode-ray tube beam is switched on.
The store 58 requires two pulses to reset, so it remains set until the register 53 again reaches zero.
The first increment bit now reaches the gates 70 and 71, which apply their outputs through the inverters 76 and 77 to the gates 72 to 75. Since AND gate 78 is now open the gates 72 to change the contents of the registers 50 and 52 according to the x and y bits and the outputs of the inverters 76 and 77, as follows:
Gate 72 open, decrease Y,
Gate 73 open, increase Y,
Gate 74 open, increase X, and
Gate 75 open, decrease X.
The operation of the gates 70 to 75 and the inverters 76 and 77 can be followed by inspecting the following table:
OUTPUT OF GATES Increase Decrease Increase X Decrease X Y Y w .x y m 74 75 73 72 0 0 0 l 0 0 0 l l 1 0 0 l 0 l 0 0 l l l 1 O l 0 0 l 0 l 0 l I l O l l 0 l O l l 1 l l l 0 0 0 1 l 0 O l l l O l 0 l l O l l l l l l 0 O l l l O l l l l l 1 0 l l l l l l 1 For example, if the octant is that numbered zero in FIG. 3, the bits w, x and y will be zero, and if the increment bit is also 0, the gate 70 has 1 on both inputs, and the gate 71 has a l and a 0. The output of the inverter 76 is then 0, and that of the inverter 77 is l At the time of a clock pulse only the gate 74 has a l on all its inputs and the content of the X register 51 is increased.
When all the elemental lines in a curve have been completed the register 53 again reaches zero, and the store 58 changes state closing the gate 78. After a two-bit delay one of the gates 61 or 62 opens, these gates being coupled to the inverted output and the output respectively of that stage of the register 45 now containing the continuation bit c. If e is a l the register 53 is set to ten and the circuit is ready to receive the three octant bits specifying a new octant, but if c is an 0", the register 53 is set to 22 and is ready to receive new X and Y co-ordinates. The sequence of operations then repeats from the appropriate point displaying the next curve.
It will be appreciated that the block diagram of FIG. 6 is to a great extent dependent on the code in which information is received. Thus the invention can, of course, be put into practice using apparatus having other block diagrams and which receives information in the same or different code. For example the register 52 and the gates 70 to 75 will be replaced if a code using a different number of sectors is employed. In another example a further bit" may be added to the code indicating that standard characters or curves are to be displayed. The block diagram of the apparatus then includes means responsive to the further bit to activate means for generating standard characters or curves.
1. Apparatus for decoding information signals specifying a curve for display and having first and second item information signals, the first item signal specifying in which of a plurality of sectors each bounded by a straight line radiating from the starting point of the curve of a display area the curve is to be displayed and the second item signal specifying the direction within the specified sector of each of a series of elemental straight lines which connected together approximate the curve the apparatus including decoding means responsive to said second item signal for providing a series of output signals specifying elemental lines in the directions specified by said second item signal and sector selection means responsive to said first item signal for providing an output signal indicating the sector specified by the said first item signal and display means for receiving the output signals from said decoding means and sector selection means and producing a visual reproduction of the curve approximation.
2. Apparatus according to claim 1 wherein the said sectorselection means has a plurality of different electrical states, one associated with each sector and individual thereto, and when in one of its states provides output signals, on receipt of the first item of information, which are limited to specifying elemental lines in the sector associated with that state, and including control means coupled to the sector-selection means to set the sector-selection means to that one of its states as sociated with the sector specified by the said first item of information.
3. Apparatus according to claim 2 for decoding information specifying a curve for display by first and second items of information, the first item specifying one of eight sectors by first, second and third information bits", and the second item specifying one of two directions for each elemental line by a single information bit, wherein the said sector-selection means includes first and second logic means, the said first logic means providing a signal for the said second logic means if the said single bit is one or the said first bit is zero", and the second logic means providing a signal indicating that the direction of the said elemental line, specified by the single bit, has a component in one of two opposite directions as determined by the said second bit, and third and fourth logic means, the third logic means providing a signal for fourth logic means if the said single bit is one or the said first bit is one, the fourth logic means providing a signal indicating that the direction of the said elemental line has a component in one of two further opposite directions, orthogonal to the said other directions, as determined by the said third bit.
4. Apparatus according to claim 2 for decoding information specifying a curve for display by first, second and third items of information, the third item specifying the co-ordinates of the origin of the curve which is also the point of intersection of the sectors, the apparatus including first and second co-ordinate stores adapted to be coupled to display means for providing displays by moving writing means over a display area, the first and second stores, in operation, controlling the position of the writing means on the display area, read means for entering the third item into the stores, and means for changing the contents of the stores in accordance with the output signals of the sector-selection means.
5. Apparatus according to claim 4 for decoding information specifying a display made up of curves in a plurality of sectors of the display area by groups of the items of information and a further item in each group specifying the number of elemental lines in each curve, the apparatus including a third store adapted to receive the further item of information, and means for reducing the content of the third store by one every time information for an elemental line is provided by the sectorselection means, the said read means entering the co-ordinates of the origin of the subsequent curve in the display into the coordinate stores when the content of the third store reaches zero.
6. Apparatus according to claim 5 wherein the read means is responsive to another item of infonnation to leave the contents of the co-ordinate stores unchanged if the co-ordinates of the last point in a curve displayed are the same as the co-ordinates of the first point in a subsequent curve.
7. Apparatus for displaying curves from coded information including apparatus according to claim 4, two digital-toanalogue converters, each individually coupled to one of the said co-ordinate stores, and display means selected from the group comprising a cathode-ray tube for writing means in the form of an electron beam, and an incremental plotter having writing means in the form of a pen, the position of the writing means being controlled in orthogonal directions by the output signals of the said digital-to-analogue converters.