The curve-generating device serves in particular to produce signals relating to a circular line from simple algorithms. The device comprises means for computing a parameter .DELTA.L defined by ##EQU1## where U is an elementary vector, .theta. is the angle at the center of a polygon of side U+.DELTA.L circumscribed about the circle R, and processing logic circuits for determining the polar direction P.sub.n of the plotted line according to the relation: ##EQU2## where
The system forms displays as an array of picture elements each of which can have more than two possible intensities (e.g. a grey scale). The circle generator derives the intensities for elements in and near an arc of a circle to be drawn. The intensity for an element is determined by the closest distance d from the element to an ideal circle characterizing the arc in such a way as to give a smoothed appearance. The distance d is obtained from a distance accumulator (39) and applied, adjusted for the width of the arc, to a sample table (42) holding the intensities. A step sequencer (40) causes the circle generator to execute scans along lines of picture elements across the arc. At each step d is changed by a distance increment or decrement obtained from one or both of two increment accumulators (36) and (37). These in turn are changed at each step by a constant amount obtained from a register (38) and equal to the step size divided by the radius of the ideal circle. Arcs are bounded by radial lines and may be abutted.
A machine-implemented circle-generation method calculates a sequence of coordinates (x.sub.n, y.sub.n) of points approximating a circle or circular arc according to the iterative formula: ##EQU1## or an approximation thereto. This formula is suitable for high-speed computation and approximates a true circle extremely closely. When rounded off to integer coordinates, the starting and ending points of a full circle coincide.
The vector generator comprises X and Y digital-to-analog converters providing X and Y deflection voltages to a cathode ray tube display. X and Y digital accumulators provide respective inputs to the X and Y digital-to-analog converters. The word lengths of the accumulators are wider than those of the digital-to-analog converters and the digital-to-analog converters derive their inputs from the most significant digits of the accumulators. X rate and Y rate signals proportional to the sine and cosine of the vector angle are applied as inputs to the respective accumulators which accumulate the rate signals with the present contents of the accumulators so as to generate linearly changing X and Y deflection signals. The vector angle is adjusted by changing the ratio of the sine to cosine inputs to the accumulators and the vector speed is controlled by increasing and decreasing the sine and cosine signals but maintaining the ratio therebetween the same. Preferably, the accumulator is implemented by an adder and latch combination providing the least significant portion of the accumulator with an up/down counter providing the most significant portion thereof.
A curve generator for a display system with an arc generator has for generating an arc (10) of a circle (14) from data defining the locations of two end points P.sub.1 and P.sub.3 and an intermediate point P.sub.2 on the arc. The arc generator has an initializer (40) for calculating the angle subtended between a first vector (21), from a first of the end points, P.sub.1 to the intermediate point P.sub.2, and a second vector (32), from the second of the end points P.sub.3 to the intermediate point P.sub.2, and an arc plotter (44) for defining a succession of further vectors n1 from the first end point P.sub.1 and for calculating, for each further vector, its point of intersection P.sub.n with a counterpart vector 3n, from the second end point P.sub.3, with which it subtends the same angle, whereby a succession of further points P.sub.n are plotted on the circular arc.
A circle and circular arc generator has a digital differential analyzer (DDA) for receiving coordinates on and a radius of a circle having its center at a specific point and for generating x and y coordinates on a circle having its center at the origin. THe DDA has a carry detecting section for correcting the x or y coordinates for plotting an ellipse. The x coordinates and the radius of the circle are supplied from the DDA to a subtracter which adds and subtracts the input data to obtain x coordinates of rightmost and leftmost points of the target circle. The x and y coordinates from the DDA are incremented by incrementers and decremented by decrementers so as to obtain four points on the target circle which are symmetrical about the specific point. The generator also has a microprocessor for receiving start and end angles of the target circle and calculating status bit data which represent whether or not dots of the respective quadrants are plotted and position bit data which represent the relationships between coordinates of a current point and those of the start point and between coordinates of the current point and those of the end point. The x and y coordinates of the four points are plotted on the target circle in accordance with control data as combinations of the status bit data and the position bit data.