[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

GB2224188A - Method and apparatus for processing digital image data - Google Patents

Method and apparatus for processing digital image data Download PDF

Info

Publication number
GB2224188A
GB2224188A GB8920824A GB8920824A GB2224188A GB 2224188 A GB2224188 A GB 2224188A GB 8920824 A GB8920824 A GB 8920824A GB 8920824 A GB8920824 A GB 8920824A GB 2224188 A GB2224188 A GB 2224188A
Authority
GB
United Kingdom
Prior art keywords
coordinate system
lines
data
boundary
hatching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB8920824A
Other versions
GB2224188B (en
GB8920824D0 (en
Inventor
Hiroyuki Funahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Publication of GB8920824D0 publication Critical patent/GB8920824D0/en
Publication of GB2224188A publication Critical patent/GB2224188A/en
Application granted granted Critical
Publication of GB2224188B publication Critical patent/GB2224188B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

j A 2 2 '2_' 4 '18 8 METHOD AND APPARATUS FOR PROCESSING DIGITAL IMAGE
DATA The present invention relates in general to a method and an apparatus for processing digital image data representing parallel inclined hatching lines within a desired boundary.
In recording or displaying a desired profile or figure, it is sometimes required to hatch the interior of the profile, i.e., hatch mutually spaced-apart parallel inclined lines within an area bounded by the outline or boundary of the profile. Assuming a method of hatching a sector which is defined by an arc and two radii of a circle. Generally, the circular arc is approximated by a plurality of successive chords of the circle, namely, a plurality of connected straight segments. When the thus defined sector is hatched with parallel lines which are inclined at a given angle with respect to the x axis of a 2-dimensional rectangular coordinate system, hatching data for hatching these parallel inclined lines is prepared by first working out linear equations representative of the straight segments corresponding to the chords of the sector and the two straight segments corresponding to the radii of the sector, and linear equations representative of the parallel inclined -lines to be hatched. Then, there are calculated intersections between each inclined line and each straight segment of the sector (approximated sector), by solving the appropriate linear equations. In other words, the coordinate values of the intersections of the outline of the profile and the hatching lines are calculated according to the linear equations which represent the straight segments of the sector and the parallel inclined lines to be hatched within the sector. The hatching data for connecting the intersections for each hatching line is prepared based on the calculated coordinate values.
However, the above manner of preparing the hatching data is extremely complicated and time-consuming, because of the operations to solve the appropriate combinations of the linear equations, one for each straight segment of the sector, and the other for each inclined line to be hatched, in order to calculate all intersections between all the straight segments and all the parallel inclined lines. Consequently, the conventional arrangement for processing data for preparing the hatching data suffers from comparatively low efficiency.
The present invention was developed in view of the drawback encountered in the prior art. It is therefore a first aim of the present invention to provide an apparatus for processing image data representing parallel inclined lines within a desired profile, which permits easy and efficient data processing for calculating the intersections between the outline of the profile and the inclined lines to be hatched, for reduced overall data processing time for
1 1 preparing the hatching data. A second aim of this invention is to provide an apparatus which is suitable for practising the above method of the invention. 5 According to a first aspect of the present invention, there is provided a method of processing digital image data representing parallel inclined lines within a boundary, comprising the steps of: establishing a 2-dimensional coordinate system having two axes one of which is parallel to said parallel inclined lines; defining in said 2-dimensional coordinate system straight lines which are parallel to said one axis of the coordinate system and which coordinate system and which correspond to said inclined lines, and calculating coordinate values in said 2-dimensional coordinate system of each intersection between each of said straight lines and said boundary; and generating hatching data by connecting the calculated intersections for each straight line, so as to hatch a corresponding one of said parallel inclined lines.
In the method of the present invention as described above, the parallel inclined lines to be hatched are first -defined in a 2-dimensional coordinate system, such that one of the two axes of the coordinate system is parallel to the inclined lines. Then, a plurality of parallel straight lines which correspond to the parallel inclined lines parallel to the above- indicated one axis of the coordinate system are defined in the coordinate system, so that the coordinate values in this coordinate system of each intersection between 5 the defined straight lines and the boundary are calculated. The hatching data for connecting the intersections for each straight line with respect to the boundary is prepared based on the calculated coordinate values of the intersections. Since this method utilizes the straight lines which correspond to the mutually spaced-apart hatching lines and which are parallel to one of the axes of the coordinate system (e.g., the x axis), the intersections between the hatching lines and the segments of the boundary can be easily found by determining whether the coordinate value of each straight line (corresponding to each hatching line) along the other axis (e.g., the y axis) is smaller than the corresponding coordinate value (y- axis coordinate) of one of the start and end points of each segment of the boundary and is larger than the coordinate value (y-axis coordinate) of the other of the start and end-points of that segment.
Accordingly, the coordinate values of the individual intersections between boundary and the parallel inclined hatching lines can be easily and efficiently calculated, for preparing the hatching data.
Usually, the boundary is defined by first boundary data prepared so as to represent the boundary outline in a w i i i first coordinate system, and the first boundary data based on the first coordinate system is converted into second boundary data which represents the outline in the above-indicated 2dimensional coordinate system used as a second coordinate system. In this case, the calculated coordinate values of the intersections in the second coordinate system are converted back to coordinate values as expressed in the first coordinate system, and the hatching data is prepared based on the coordinate values in the first coordinate system.
In one optional arrangement of the above form of the invention, the first coordinate system is a rectangular coordinate system having mutually perpendicular x and y axis while said second coordinate system is a rectangular coordinate system having mutually perpendicular xI and y' axis, said straight lines are represented by the equation: y' = md + a, where I'm" is an integer, I'd" is the spacing of said inclined lines, and "all is a constant which satisfies d>a: 0, said boundary consisting of a plurality of straight segments each of which has a start point and an end point, and wherein said step of calculating coordinate values of said intersections in said second coordinate system comprises the repeated steps of changing the value of I'm" and thereby sequentially designating said plurality of straight lines,.selecting at least two of said straight segments having either a start or end point in the y' coordinate smaller than the value of (md + a) of one of the designated and the y' i coordinate of the other of the start or end points larger than said value of (md + a), and calculating the intersections between said designated straight line and each of said least two straight segments.
The coordinate values of the intersections in the second coordinate system are calculated by changing (incrementing or decrementing) a value I'm" and thereby sequentially designating the plurality of straight lines, selecting at least two of the straight segments whose one of yl coordinates of the start and end points is smaller than a value (md + a) of each one of the designated straight lines, and whose the other y' coordinate is larger than the value (md + a), and calculating the intersections between each designated straight line and each of the aboveindicated at least two straight segments.
In another optional arrangement of the same form of the invention, the first boundary data is converted into the second boundary data by processing the first boundary data so as to translate a predetermined point of boundary or profile to an origin of the second coordinate system. The predetermined point may be the center of the profile. In this case, the operation to calculate the coordinate values of the intersections in the second coordinate system -comprises first calculations associated with those of the straight lines which lie in a first (I) and a second (II) quadrant of the second coordinate system, and second 1 calculations associated with the other straight lines which lie in a third (III) and a fourth (IV) quadrant of the second coordinate system.
The above arrangement may be adapted such that the first coordinate system is a rectangular coordinate system having mutually perpendicular x and y axes, while said second coordinate system is a rectangular coordinate system having mutually perpendicular xI and yl axes, said straight lines lying in said first and second (I and II) quadrants being represented by an equation yl= md + a, while said straight lines lying in said third and fourth (III and IV) quadrants being represented by an equation yl = -md + a, where I'm" is an integer, I'd" is a spacing of said inclined lines, and "all is a constant which satisfies d a 0, a value of I'm" being incremented starting with 11011 in said first calculations, while said value I'm" being incremented starting with I'll' in said second calculations.
According to a second aspect of the present invention there is provided an apparatus for processing digital image data representing parallel inclined-lines within a desired boundary, comprising:
means for establishing a 2-dimensional coordinate system having two axes one of whichIs parallel to said -parallel inclined lines; means for defining in said 2-dimensional coordinate system straight lines which are pa3allel to said one axis of the coordinate system and which correspond to said inclined lines, and calculating coordinate values in said 2dimensional coordinate system of each of intersections between each of said straight lines and said boundary; and means for generating hatching data for connecting the calculated intersections for said each straight line, so as to hatch a corresponding one of said parallel inclined lines.
The prepared hatching data may be applied to a suitable output device such as a printing mechanism, which is operated according to the hatching data, to produce the parallel inclined lines within the profile. The output device may be a display device such as a cathode ray tube (CRT).
The above and optional objects, features and advantages of the present invention will be better understood by reading the following description of an exemplary embodiment of the invention, when considered in connection with the accompanying drawings, in which:
Fig. 1 is a schematic block diagram illustrating a laser printer which is adapted to print hatching lines according to one embodiment of the present invention; Fig. 2 is a flow chart showing a data processing operation executed by a printer controller of the laser printer of Fig.1; 25 Fig. 3 is a view depicting a generally sectorial profile represented by original profile data which is a 1 prepared based on a first coordinate system and received from an external host computer; Fig. 4 is a view showing the parallel inclined lines to be hatched within the sectorial profile of Fig. 3; and Fig. 5 is a view illustrating the conversion of the original profile data based on the first coordinate system, into profile data based on a second coordinate system for easy preparation of hatching data for hatching the lines within the profile.
Referring first to Fig. 1, reference numeral 1 generally indicates a laser printer which has a printing mechanism 2 and a printer controller 3, as major elements.
The printing mechanism 2 is a well known one which includes a laser emitting element, a polygon mirror and a photosensitive drum. The printing mechanism 2 is operated - under the control of the printer controller 3, for effecting a laser printing of images on a recording medium, in a well known manner.
The printer controller 3 is adapted to receive from an external host computer HC, first or original profile or boundary data representative of an outline of a desired profile to be hatched, and hatching line data indicative of mutually spaced-apart parallel inclined lines to be hatched within the profile. In this specific example, the profile is 25 an approximated sectorial shape which is bounded by an arc and two radii of a circle. The profile will be described by reference to Fig. 3.
The printer controller 3 applies hatching data to the printing mechanism 2, for hatching the profile defined by the first profile data received from the host computer HC. Thus, the laser printer 1 is capable of plotting desired graphical representations, figures or profiles, and hatching these profiles if desired.
The controller 3 is an arithmetic logic unit which s a central processing unit (CPU) 11 for effecting various data processing operations, a read-only mewory (ROM) 12 which stores various control programs such as a hatching control routine of Fig. 2, and a random-access memory (RAM) 13 for temporarily storing data during data processing operations. The controller 3 further incorporates an input interface 14 through which the CPU 11 receives the first profile data and hatching line data, an output interface 15 through which the CPU 11 applies the prepared hatching data (which will be described) and other control data or signals to the printing mechanism 2, and a bus line 16 for interconnecting the elements indicated above. The RAM 13 has an output buffer 13a for storing the hatching data which is prepared by the CPU 11 and fed to the printing mechanism 2 through the output interface 15.
The operation of the printer controller 3 will be described.
incorporate is i 11 - When the CPU 11 receives the first profile data and the hatching line data from the host computer HC, the CPU 11 operates according to the hatching control routine of Fig. 2 stored in the ROM 12,. while utilizing the temporary data storage function of the RAM 13, so as to prepare the hatching data for hatching the parallel inclined lines represented by the hatching line data, within the sectorial profile defined by the first or original profile data. The prepared hatching data is stored in the output buffer 13a of the RAM 13, for subsequent use for controlling the printing mechanism 2.
The hatching control routine execued by the CPU 11 of the printer controller 3 will be described in greater detail by reference to the flow chart of Fig. 2.
The control flow first goes to step S100 in which the CPU 11 receives from the host computer HC the first or original profile data and the hatching data. The first profile data represents the sectorial profile as illustrated in Fig. 3, which is defined by a plurality of straight segments kl, k2,.... kn which correspond to chords of a circle and which approximate corresponding arcs of the circle, and two straight segments corresponding to a radius "r" of the circle whose center PO (xO, yO) is positioned in -a first 2-dimensional rectangular coordinate system having mutually perpendicular X and Y axes. As indicated in Fig. 4, the sectorial profile is a generally polygonal shape.
The first profile data consists of: multiple sets of coordinate data representative of x and y coordinates of start and end points Pl, P2,... Pn, Pn+l of the straight segments; start point angle data representative of an angle a between the X axis of the coordinate system and the radial segment of the profile on which the start point P1 of the first segment z I lies; center angle data representative of an angle between the two radial segments of the profile, as measured through the interior of the sectorial profile; and radius data representative of the radius "r" of the profile (base circle).
Referring to Fig. 4, the hatching line data include hatching angle data representative of an angle 6 of inclination of the parallel lines to be hatched within the sectorial profile, and spacing data representative of a spacing "d" (Fig. 4) of the equally spaced-apart inclined hatching lines.
The control flow then goes to step S110 in which the first profile data based on the first coordinate system M Y) of Fig. 3 is converted into second profile data based on a second coordinate system W, Y') having mutually perpendicular XI and Y' axes, as indicated in Fig. 5. Described more specifically, the coordinate data of the start and end points Pn and the center PO according to the first coordinate system of Fig. 3 is converted into corresponding coordinate data according to the second coordinate system of Fig. 5, such that the center PO (xO, 1 1 yO) is translated to the origin (0, 0) of the second coordinate system W, V) and such that the sectorial profile of Fig. 3 defined by the first profile data as received from the host computer HC is rotated about the origin (0, 0) in the clockwise direction by an angle equal to the inclination angle e of the hatching lines. Therefore, the second profile data prepared in step S110 by the CPU 11 includes the coordinate data of the start and end points Pn (xl, y') of each segment of the sectorial profile, in the second coordinate system of Fig. 5. The coordinate values (xl, y') in the second coordinate systein may be calculated according to the following formula (l):
[X 1 Y1 11) = [X Y 11 = cos 6 sine is X0(1 - COSE yOsin e -sin 6 cos e xOsine + VO (1 0 0 1 ... (1) - ces e) 11 The significance of the formula (1) is described in "Graphical Data Processing by Computer Display", pages 79-80, Fujio Yamaguchi, Nikkan Kogyo Shinbun Sha (Japanese industrial newspaper publisher). No detailed description of the formula (1) will be provided herein.
In step S110, therefore, the coordinates (xl, y') of the start and end points Pn in the second coordinate system W, Y1) of Fig. 5 are prepared as the second -a received from the profile data, from the first profile dat host computer HC, which is prepared according to the first coordinate system of Fig. 3. The second profile data is prepared such that the center PO of the sectorial profile is located at the origin (0, 0) of the second coordinate system, which is rotated about the origin in the counterclockwise direction by the angle 6 with re spect to the first coordinate system (with respect to the profile defined by the first profile data). As a result, the parallel inclined lines defined by the hatching line data from the host computer HC are parallel to the X' axis of the second coordinate system, as indicated in Fig. 5.
Step S110 is followed by step S120 wherein a plurality of straight lines corresponding to the parallel inclined hatching lines (parallel to the X' axis) are defined by linear equations y' = md + a, and y' = -md + a, where "m" is an integer variable, "d" is the spacing of the inclined hatching lines, and "a" is a constant which satisfies d >a i 0. The equations y I = md + a represent the straight lines which lie in the first M and second (II) quadrants of the second coordinate system of Fig. 5, while the equations y' = -md + a represent the straight lines which lie,in the third (III) and fourth (IV) quadrants.
The control flow then goes to step S130 wherein the variable "m" is set to "0", and to step S140 in which the value (md + a) is calculated according to the following formula (2):
L = md + a It is noted that the value "L" is equal to the y' coordinate of each straight line along the Y' axis of the i 1 z.
0 second coordinate system, namely, the distance between the X' axis and each straight line (corresponding to the appropriate hatching line) in the Y' axis direction. In the first control cycle wherein the variable "m" is "0", the value "L" is equal to "a". Where "a" is zero, the value "L" (y') is zero, that is, the first hatching line coinci.des with the X' axis.
Step S140 is followed by step S150 to calculate the coordinate values (x 1, y 1) of intersections Pk between the relevant straight line (represented by y' = md + a) and the segment or segments of the profile which lie in the first and second quadrants of the second coordinate system (X#? Y1). Described more specifically, the CPU 11 calculates the coordinates (xlt, Y1t) and (xlt+l, Y1t+l) of the start and end points of each segment of the sectorial profile which satisfies an inequality y't 5L r't+l, or an inequality ylt+l:iL-:5y't, where "t" is an arbitrary integer number from IT" through "n". Where "t" is equal to "n+111, the CPU 11 calculates the coordinates Wn+l, yln+l) and WO, y'O) of the start and end points of each segment of the sectorial profile which satisfies an inequlity y'n+l:EL y'O, or an inequality y10; L;5 y'n+1. If the relevant straight line y' = md + a passes between the calculated two coordinates of the start and end points of a certain segment of the profile, that is, if the relevant straight line intersects the segment in question, the coordinate xl of the intersection Pk which corresponds to the coordinate 16 - y' (= md + a) is obtained. Thus, the coordinate values W, y') of the intersection between the relevant straight line and the segment of the profile are calculated. This calculation is accomplished for each of the segments whose coordinates of the start and end points satisfy the inequality indicated above. It is noted that each straight line defined by the equation y' = md + a intersects at least two segments of the profile.
Then, the control flow goes to step S160 in which the x' and y' coordinates Pk(xlk, y1k) of the intersections Pk in the second coordinate system (XI, Y I) are converted into x and y coordinates Pk(xk, yk) in the first coordinate system (X, Y), which correspond to the first profile data.
This conversion may be effected by rotating the sectorial profile about the origin (0, 0) of the second coordinate system, in the counterclockwise direction by the inclination angle e, and by translating the center PO(xO, yO) from the origin (0, 0) of the second coordinate system W, Y'). More specifically, the coordinates Pk(xk, yk) of the intersections Pk may be calculated according to the following formula (3):
[xk yk 11 = [xlk Y'k 11 = Cos 6 -sin 6 0 -sin e Cos e 0 XO(l - COS6) YO(l - cose) 1 + yOsin e + xOsin e C 1 1 1 Step S160 is followed by step S170 in which the CPU 11 prepares data for connecting the intersections Pk between the relevant straight line (y' = md + a) and the two or more segments of the sectorial profile, namely, prepares hatching data for hatching the corresponding one of the parallel inclined lines. Then, the control flow goes to step S180 wherein the prepared hatching data is stored in the output buffer 13a of the RAM 13, together with first profile data.
Subsequently, the control flow goes to step S190 in which the variable "m" is incremented, to calculate the coordinates of the intersections between the next straight line and the outline oil the profile.
Step S190 is followed by step S200 in which the is CPU 11 determines whether the coordinates of the intersections Pk in the first and second quadrants of the second coordinate system of Fig. 5 have been calculated, or not. In other words, step S200 is executed to check if the variable "m" has reached a value which designates the last straight line (last segment of the profile) which lies in the first and second quadrants of the second coordinate system, or not. If a negative decision (NO) is obtained in step S200, namely, if the currently selected variable 'W, does not correspond to the last straight line associated with the first and second quadrants of the second coordinate system of Fig. 5, the control flow goes back to step S140 and subsequent steps S150- S200, in order to 4 18 calculate the coordinates PkWk, y'k) of the intersections between the outline of the profile and the last straight line in the first and second quadrants of the second coordinate system, and eventually obtain the coordinates PMxk, yk) of the intersections between the outline of the profile and the last hatching line.
If an affirmative decision (YES) is obtained in step S200, namely, if the currently selected variable I'm" corresponds to the last straight line associated with the first and second quadrants, then step S200 is followed by step S210 in which the variable "m" is reset to "1".
The following steps S220-S280 are executed calculating the coordinates PkWk, ylk) of the intersections which lie in the third and fourth quadrants of the second coordinate system, and correspond to steps S140-S200 which have been described in connection with the first and second quadrants. The only difference is the use of the linear equalCion y' = -md + a for designating the straight lines, and the use of the following formula (4) for calculating the distance "L" (yl coordinate) between the X' axis and the sequentially designated straight line which passes through the third and fourth quadrants, parallel to the X' axis.
L = -md + a Based on the obtained value "L", the coordinates PkWk, ylk) of the intersections between each designated straight line (yl = -md + a) and the outline of the profile 4 are calculated in step S230. 1n the following step S240, the coordinates Pk(xl. Y1k) are converted into the coordinates Pk(xk, yk) in the first coordinate system of Fig. 3. Step S240 is followed by step S250 in which hatching data for connecting the calculated coordinates is prepared. The prepared hatching data and the first profile data are stored in the output buffer 13a of the RAM 13, in step S260 similar to step S180. Then, the variable "m" is incremented to designate the next straight line, in step tep S280 is implemented to determine whether the S270. St variable "m" has reached a value last straight line or hatching third and fourth quadrants of the If a negative decision which corresponds to the line associated with the second coordinate system.
L_ - (NO) is obtained in step S280, the control flow goes back to step S220 to eventually obtain the coordinates Pk(xk, yk) associated with the next hatchinj line. If an affirmative decision (YES) is obtained in step S280, the hatching control routine off: Fig. 2 is terminated.
As described above, the hatching data for hatching the equally spacedapart parallel inclined lines within the sectorial profile are stored in the output buffer 13a of the RAM 13, together with the profile data representative of the outline of the profile to be hatched. The CPU 11 applies the data from the output buffer 13a to the printing mechanism 2, whereby the profile defined by the first or original profile data from the host compulter HC_ is - 20 plotted, and the interior of the plotted profile is hatched according to the hatching data which is prepared as described above.
In summary of the present embodiment which has been described, the sectorial profile defined in the first coordinate system of Fig. 3 by the first or original profile data from the host computer HC is translated so that the center PO of the profile is aligned with the origin (0, 0) of the second coordinate system of Fig. 5, and is rotated about the origin in the clockwise direction by an angle equal to the predetermined inclination angle e of the parallel lines to be hatched. Thus, the second profile data is obtained (Step S110). In the second coordinate system (X'. Y1), therefore, the parallel -ched are parallel to its X' axis.
inclined lines to be halL For calculating the coordinates of the intersecticns the profile, between the hatching lines and the outline of L -raight lines corresponding to the hatching a plurality of st lines parallel to the X' axis are first defined in the second coordinate system W, Y1), by the linear equations y' = md + a and y' = -md + a (Step S120). Then, the coordinates PkWk, ylk) of the intersections are calculated (Steps S150, S230). The calculated coordinates PMx'k, Y'k) are converted into the coordinates Pk(xk, YM in the first coordinate system (X, Y) (Steps S160, S240).
Then, the hatching data for connecting the intersections of the straight lines (corresponding to the hatching lines) k c with respect to theprofile is prepared based on the calculated coordinates Pk(xk, yk) of the intersections Pk in the first coordinate system (Steps S170, S250). The hatching data is temporarily stored in the outiput buffer 13a and is used to control the printing mechanism 2 so as to hatch the sectorial profile.
it description will be understood from the foregoing that the coordinates of the intersections.s of the profile and the hatching lines between the segment are calculated as the coordinates of the intersections of the profile, and the straight lines which correspond to the hatching lines and which are parallel to the X' axis of the second coordinate system W, Y1). For each straight line corresponding to each hatching line, the coordinate value of that straight line in the Y' axis direction is checked. More specifically, a determination is made as to whether the y' coordinate value of each straight line is held within a range between the y' coordinate value (y't) or (y't+l) of the start point of any segment of the profile, and the coordinate value (Y1t+l) or (y't) of the end point of that segment. If the determination is affirmative, this means that the relevant straight line intersects the segment, and the coordinate values of the intersection in -the second coordinate system can be easily obtained, because the straight line y' = md + a or y' = -md + a is the very y' coordinate, and the corresponding xl coordinate may be readily calculated. Thus, the required overall data R I.
processing time for working out the hatching data is considerably reduced.
The profile to be hatched according to the principle of the present invention is not limited to a sectorial shape, but may take other forms such as sectorial shape, but may take other forms such as triangular, rectangular and circular shapes. Further, the hatching data prepared according to the invention may be used for hatching the interior of a profile displayed on a display device.
1 1 1

Claims (15)

1. A method of processing digital image data representing parallel inclined lines within a boundary, comprising the steps of:
establishing a 2-dimensional coordinate system having two axes one of which is parallel to said parallel inclined lines; defining in said 2-dimensional coordinate system straight lines which are parallel to said one axis of the coordinate system and which correspond to said inclined lines, and calculating coordinate values in said 2dimensional coordinate system of each intersection between each of said straight lines and said boundary; and generating hatching data by connecting the calculated intersections for each straight line, so as to hatch a corresponding one of said parallel inclined lines.
2. A method according to claim 1, wherein said boundary is defined by first boundary data representing said outline in a first coordinate system, and said step of establishing said 2-dimensional coordinate system comprises the step of converting said first boundary data into second boundary data representative of said outline in said 2- dimensional coordinate system as a second coordinate system, said method further comprising the step of converting said calculated coordinate values of said intersections in said 2- dimensional coordinate system into coordinate values in said first coordinate system, said step of generating said hatching data comprising preparing said hatching data based on said coordinate values in said first coordinate system.
3. A method according to claim 2, wherein said first coordinate system is a rectangular coordinate system having mutually perpendicular x and y axes while said second coordinate system is a rectangular coordinate system having mutually perpendicular xI and y' axes, said straight lines are represented by the equation: y' = md + a, where I'm" is an integer, I'd" is the spacing of said inclined lines, and "all is a constant which satisfies d>a:O, said boundary consisting of a plurality of straight segments each of which has a start point and an end point, and wherein said step of calculating coordinate values of said intersections in said second coordinate system comprises the repeated steps of changing the value of I'm" and thereby sequentially designating said plurality of straight lines, selecting at least two of said straight segments having either a start or end point with a y' coordinate smaller than the value of (md + a) of one of the designated lines and the y' coordinate of the other of the start or end points larger than said value of (md + a), and calculating the intersections between.said designated straight line and each of said least two.straight segments.
c 1 j 1
4. A method according to claim 2 or 3, wherein said step of converting said first boundary data into said second boundary data comprises the step of processing said first boundary data, so as to translate a predetermined point of said boundary to an origin of said second coordinate system.
5. A method according to claim 4, wherein said predetermined points is the centre of said boundary.
6. A method according to claim 5, wherein said step of calculating coordinate values of said intersections in said second coordinate system comprises first calculations associated with those of said straight lines which lie in the first (I) or a second (II) quadrants of said second coordinate system, and second calculations associated with the other straight lines which lie in the third (III) or a fourth (IV) quadrants of said second coordinate system.
7. A method according to claim 6, wherein said first coordinate system is a rectangular coordinate system having mutually perpendicular x and y axes, while said second coordinate system is a rectangular coordinate system having mutually perpendicular xI and y' axes, said straight lines lying in said first and second (I and II) quadrants being represented by an equation yl= md + a, while said straight lines lying in said third and fourth (III and IV) quadrants being represented by an equation y' = -md + a, where I'm" is an integer, I'd" is a spacing of said inclined lines, and "all is a constant which satisfies d,>a>,O, a value of I'm" being 1 incremented starting with 11011 in said first calculations, while said value I'm" being incremented starting with 11111 in said second calculations.
S. A method according to any one of the preceding claims wherein said image data is a raster- or vectorrepresentation of an image.
9. An apparatus for processing digital image data representing parallel inclined lines within a desired boundary, comprising:
means for establishing a 2-dimensional coordinate system having two axes one of which is parallel to said parallel inclined lines; means for defining in said 2-dimensional coordinate system straight lines which are parallel to said one axis of the coordinate system and which correspond to said inclined lines, and calculating coordinate values in said 2dimensional coordinate system of each of intersections between each of said straight lines and said boundary; and means for generating hatching data for connecting the calculated intersections for said each straight line, so as to hatch a corresponding one of said parallel inclined lines.
10. An apparatus according to claim 9, further comprising an output device which is operated according to.said hatching data, to produce said parallel inclined lines within said boundary.
11. An apparatus according to claim 10, wherein said 0 output device comprises a printing mechanism for printing said parallel inclined lines on a recording medium.
12. An apparatus according to claim 9, 10 or 11 wherein the image data is a raster- or vector- representation 5 of an image.
13. An apparatus constructed and arranged to operate substantially as hereinbefore described with reference to and as illustrated in the accompanying drawings.
14. A method substantially as hereinbefore described with reference to and as illustrated in the accompanying drawings.
15. An apparatus for carrying and the method of any use of claims 1 to 8 or 14.
Published 1990 atThePatentOMce, State House, 66,71 High Holborn, London WClR4TP. Further copies maybe obtained from The Patent OfficeSales Branch, St Mary Cray, Orpington, Kent BR5 3RD. Printed by Multiplex techniques Rd, St Mary Cray, Kent. Con 1187 1
GB8920824A 1988-09-17 1989-09-14 Method and apparatus for processing digital image data Expired - Fee Related GB2224188B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23306488A JPH0281186A (en) 1988-09-17 1988-09-17 Hatching plotting method

Publications (3)

Publication Number Publication Date
GB8920824D0 GB8920824D0 (en) 1989-11-01
GB2224188A true GB2224188A (en) 1990-04-25
GB2224188B GB2224188B (en) 1992-10-14

Family

ID=16949236

Family Applications (1)

Application Number Title Priority Date Filing Date
GB8920824A Expired - Fee Related GB2224188B (en) 1988-09-17 1989-09-14 Method and apparatus for processing digital image data

Country Status (4)

Country Link
JP (1) JPH0281186A (en)
DE (1) DE3930631A1 (en)
FR (1) FR2636751B1 (en)
GB (1) GB2224188B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103213404A (en) * 2012-01-17 2013-07-24 株式会社理光 Information processing apparatus, information processing method, and system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6142067A (en) * 1999-04-06 2000-11-07 Roth; Eldon Apparatus for treating ammoniated meats
CN113392913B (en) * 2021-06-21 2023-09-29 常州大学 Planar graph matching degree evaluation method, device and system based on boundary feature point set
CN114061482B (en) * 2021-10-19 2024-10-11 嘉善宇达电子有限公司 Quick accurate detecting system of sound membrane size

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0240246A2 (en) * 1986-04-03 1987-10-07 Advanced Micro Devices, Inc. Apparatus and method for filling complex polygons

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4124871A (en) * 1977-08-31 1978-11-07 International Business Machines Corporation Image data resolution change apparatus and process utilizing boundary compression coding of objects

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0240246A2 (en) * 1986-04-03 1987-10-07 Advanced Micro Devices, Inc. Apparatus and method for filling complex polygons

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103213404A (en) * 2012-01-17 2013-07-24 株式会社理光 Information processing apparatus, information processing method, and system

Also Published As

Publication number Publication date
JPH0281186A (en) 1990-03-22
FR2636751B1 (en) 1995-05-05
FR2636751A1 (en) 1990-03-23
GB2224188B (en) 1992-10-14
GB8920824D0 (en) 1989-11-01
DE3930631A1 (en) 1990-03-22

Similar Documents

Publication Publication Date Title
US5028848A (en) Tile vector to raster conversion method
EP0356103B1 (en) Scan-conversion process and processor
EP0559318B1 (en) Graphics co-processor
US4331955A (en) Method and apparatus for smoothing outlines
US5111194A (en) Artificial halftone processing apparatus
EP0633550B1 (en) Image processing method and apparatus thereof
US6064388A (en) Cartesian to polar coordinate transformation
CN1191352A (en) Method and apparatus for adaptive nonlinear projective rendering
US5452372A (en) Image processing apparatus
EP0410719A2 (en) Colour correction system and method
CA1199095A (en) Ppi to raster display scan converter
GB2224188A (en) Method and apparatus for processing digital image data
GB2194117A (en) Image processing apparatus
EP0095536B1 (en) The representation of character images in a compact form for computer storage
EP0349182B1 (en) Method and apparatus for approximating polygonal line to curve
US5923314A (en) Image processing system
JP3384470B2 (en) Numerical value conversion device and method, and coordinate value integer conversion device and method
JPH05232926A (en) Character code generating device
US5548701A (en) Character processing method and apparatus
JPS63208898A (en) Character processor
JP3030998B2 (en) Character generator
JPS62264344A (en) Address controller
JPH07182527A (en) Printer
JPS63211625A (en) Method and device for exposing circular arc pattern
JP3611898B2 (en) Image processing device

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 19930914