← Back to Patent Explorer
US5396586A Expired / Lapsed US ⏱️ 0.0 years remaining

Apparatus and method for filling regions bounded by conic curves

Assignee: Texas Instruments Inc
•
Filing: 1990-09-12
•
Granted: 1995-03-07
•
Expires: 2010-09-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and method for filling regions bounded by piecewise-conic curves and more particularly to such an apparatus and method which is directed to curves defined by a conic equation. This simplifies the process of generating filled contours in applications, such as printing, which are based on font outlines while at the same time reducing computer time and generating more accurate results for each curve generation.

Inventors

  • 👤 Jerry R. Van Aken

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 02:29
CPC Classifications
G; G06; G06T; G06T11/00; G06T11/40; Y; Y10; Y10S; Y10S345/00; Y10S345/947

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 350 words
A method of defining pixels in an X-Y raster coordinate system within a closed region bounded by piecewise conic curves defined by corresponding conic equations of the form f(x,y)=0, said method comprising the steps of: tracking a boundary of the closed region in a counter-clockwise direction by following the piecewise conic curves including determining an octant of the corresponding piecewise conic curve from df(x c ,y c )/dx and df(x c ,y c )/dy at a current pixel (x c ,y c ), determining a next pixel as one of a pair of adjacent pixels of a set of eight adjacent pixels corresponding to the determined octant and the value of f(x,y) at an incrementally displaced location corresponding to the determined octant, setting said next pixel as the current pixel and repeating said substeps of determining an octant of the corresponding piecewise conic curve, determining the next pixel, determining if said next pixel is within another piecewise conic curve and setting said next pixel as the current pixel until the tracking of the boundary is complete; determining edge pixels within said X-Y raster coordinate system at an edge of the closed region from said corresponding conic equation of each piecewise conic curve, said step of determining edge pixels includes forming an edge-flag linked list of respective lines and columns of edge pixels; on a scan line by scan line, left to right basis determining any pixels between a pair of edge pixels, said determined pixels defining the pixels within the closed region, said step of determining any pixels between a pair of edge pixels includes sorting said edge-flag linked list by scan line from top to bottom, further sorting said scan line sorted edge-flag linked list within each scan line from left to right, and forming a filled pixel map in the X-Y raster coordinate system from said further sorted edge-flag linked list with any pixels between a pair of edge pixels on a scan line having a first state and other pixels having a second state, said pixels in said first state defining the pixels within the closed region.
Claim 2
Independent Claim 350 words
A method of defining pixels in an X-Y raster coordinate system within a closed region bounded by piecewise conic curves defined by corresponding conic equations of the form f(x,y)=0, said method comprising the steps of: tracking a boundary of the closed region in a counter-clockwise direction by following the piecewise conic curves including determining an octant of the corresponding piecewise conic curve from df(x c ,y c )/dx and df(x c ,y c )/dy at a current pixel (x c ,y c ), determining a next pixel as one of a pair of adjacent pixels of a set of eight adjacent pixels corresponding to the determined octant and the value of f(x,y) at an incrementally displaced location corresponding to the determined octant, setting said next pixel as the current pixel and repeating said substeps of determining an octant of the corresponding piecewise conic curve, determining the next pixel, determining if said next pixel is within another piecewise conic curve and setting said next pixel as the current pixel until the tracking of the boundary is complete; determining edge pixels within said X-Y raster coordinate system at an edge of the closed region from said corresponding conic equation of each piecewise conic curve, said step of determining edge pixels includes forming an edge-flag linked list of respective lines and columns of edge pixels; on a scan line by scan line, left to right basis determining any pixels between a pair of edge pixels, said determined pixels defining the pixels within the closed region, said step of determining any pixels between a pair of edge pixels includes sorting said edge-flag linked list by scan line from top to bottom, further sorting said scan line sorted edge-flag linked list within each scan line from left to right, and forming a filled pixel map in the X-Y raster coordinate system from said further sorted edge-flag linked list with any pixels between a pair of edge pixels on a scan line having a first state and other pixels having a second state, said pixels in said first state defining the pixels within the closed region.
Claim 3
Dependent Claim 511 words
The method as claimed in claim 1, wherein: said substep of determining an octant of the corresponding piecewise conic curve from df(x c ,y c )/dx and df(x c ,y c )/dy at a current pixel (x c ,y c ) includes determining a first octant if df(x c ,y c )/dx<-df(x c ,y c )/dy, determining a second octant if df(x c ,y c )/dy<0, determining a third octant if df(x c ,y c )/dx>df(x c ,y c )/dy, determining a fourth octant if df(x c ,y c )/dx>0, determining a fifth octant if -df(x c ,y c )/dx<df(x c ,y c )/dy, determining a sixth octant if df(x c ,y c )/dy>0, determining a seventh octant if -df(x c ,y c )/dx>-df(x c ,y c )/dy, and determining an eighth octant if df(x c ,y c )/dx<0. said substep of determining the next pixel includes determining the next pixel as a pixel to the right of the current pixel if f(x c +1/2,y c +1/2)<0, otherwise determining the next pixel as a pixel to the right and above the current pixel if said first octant is determined for said piecewise conic curve, determining the next pixel as a pixel to the right and above the current pixel if f(x c +1/2,y c +1/2)<0, otherwise determining the next pixel as a pixel above the current pixel if said second octant is determined for said piecewise conic curve, determining the next pixel as a pixel above the current pixel if f(x c -1/2,y c +1/2)<0, otherwise determining the next pixel as a pixel to the left and above the current pixel if said third octant is determined for said piecewise conic curve, determining the next pixel as a pixel to the left and above the current pixel if f(x c -1/2,y c +κ)<0, otherwise determining the next pixel as a pixel to the left of the current pixel if said fourth octant is determined for said piecewise conic curve, determining the next pixel as a pixel to the left of the current pixel if f(x c -1/2,y c -1/2)<0, otherwise determining the next pixel as a pixel to the left and below the current pixel if said fifth octant is determined for said piecewise conic curve, determining the next pixel as a pixel to the left and below the current pixel if f(x c -1/2,y c -1/2)<0, otherwise determining the next pixel as a pixel below the current pixel if said sixth octant is determined for said piecewise conic curve, determining the next pixel as a pixel below the current pixel if f(x c +1/2,y c -1/2)<0, otherwise determining the next pixel as a pixel to the right and below the current pixel if said seventh octant is determined for said piecewise conic curve, determining the next pixel as a pixel to the right and below the current pixel if f(x c +1/2,y c -1/2)<0, otherwise determining the next pixel as a pixel to the right of the current pixel if said eighth octant is determined for said piecewise conic curve.
Claim 4
Dependent Claim 353 words
The method as claimed in claim 2, wherein: said step of determining edge pixels includes determining the current pixel as an edge pixel if f(x c +1/2,y c +1/2)≧0 and said first octant is determined for said piecewise conic curve, determining an edge pixel to the right and above the current pixel if f(x c +1/2,y c +1/2)<0 and said second octant is determined for said piecewise conic curve, determining the current pixel as an edge pixel if f(x c +1/2,y c +1/2)≧0 and said second octant is determined for said piecewise conic curve, determining the current pixel as an edge pixel if f(x c -1/2,y c +1/2)<0 and said third octant is determined for said piecewise conic curve, determining an edge pixel to the left of the current pixel if f(x c -1/2,y c +1/2)≧0 and said third octant is determined for said piecewise conic curve, determining the current pixel as an edge pixel if f(x c -1/2,y c +1/2)<0 and said fourth octant is determined for said piecewise conic curve, determining an edge pixel as a pixel below the current pixel if f(x c -1/2,y c 1/2)≧0 and said fifth octant is determined for said piecewise conic curve, determining an edge pixel as a pixel to the left and below the current pixel if f(x c -1/2,y c -1/2)<0 and said sixth octant is determined for said piecewise conic curve, determining an edge pixel as a pixel below the current pixel if f(x c -1/2,y c -1/2)≧0 and said sixth octant is determined for said piecewise conic curve, determining an edge pixel as a pixel below the current pixel if f(x c +1/2,y c -1/2)<0 and said seventh octant is determined for said piecewise conic curve, determining an edge pixel as a pixel to the right and below the current pixel if f(x c +1/2,y c -1/2)≧0 and said seventh octant is determined for said piecewise conic curve, and determining an edge pixel as a pixel to the right and below the current pixel if f(x c +1/2,y c -1/2)<0 and said eighth octant is determined for said piecewise conic curve.
Claim 5
Independent Claim 374 words
A method of forming type fonts for a plurality of characters in an X-Y raster coordinate system, said method comprising the steps of: forming a closed region bounded by piecewise conic curves defined by corresponding conic equations of the form f(x,y) 0 for each character of the type font; for each character of the type font tracking a boundary of the closed region in a counter-clockwise direction by following the piecewise conic curves including determining an octant of the corresponding piecewise conic curve from df(x c ,y c )/dx and df(x c ,y c )/dy at a current pixel (x c ,y c ), determining a next pixel as one of a pair of adjacent pixels of a set of eight adjacent pixels corresponding to the determined octant and the value of f(x,y) at an incrementally displaced location corresponding to the determined octant, setting said next pixel as the current pixel and repeating said substeps of determining an octant of the corresponding piecewise conic curve, determining the next pixel, determining if said next pixel is within another piecewise conic curve and setting said next pixel as the current pixel until the tracking of boundary is complete, determining edge pixels within said X-Y raster coordinate system at an edge of the closed region from said corresponding conic equation of each piecewise conic curve, said step of determining edge pixels includes forming an edge-flag linked list of respective lines and columns of edge pixels; and said step of forming a filled pixel map includes sorting said edge-flag linked list by scan line from top to bottom, further sorting said scan line sorted edge-flag linked list within each scan line from left to right, and forming a filled pixel map in the X-Y raster coordinate system from said further sorted edge-flag linked list with any pixels between a pair of edge pixels on a scan line having a first state and other pixels having a second state, said pixels in said first state defining the pixels within the closed region; on a scan line by scan line, left to right basis determining any pixels between a pair of edge pixels, forming a filled pixel map of said pixels determined to be between a pair of edge pixels.
Claim 6
Independent Claim 374 words
A method of forming type fonts for a plurality of characters in an X-Y raster coordinate system, said method comprising the steps of: forming a closed region bounded by piecewise conic curves defined by corresponding conic equations of the form f(x,y) 0 for each character of the type font; for each character of the type font tracking a boundary of the closed region in a counter-clockwise direction by following the piecewise conic curves including determining an octant of the corresponding piecewise conic curve from df(x c ,y c )/dx and df(x c ,y c )/dy at a current pixel (x c ,y c ), determining a next pixel as one of a pair of adjacent pixels of a set of eight adjacent pixels corresponding to the determined octant and the value of f(x,y) at an incrementally displaced location corresponding to the determined octant, setting said next pixel as the current pixel and repeating said substeps of determining an octant of the corresponding piecewise conic curve, determining the next pixel, determining if said next pixel is within another piecewise conic curve and setting said next pixel as the current pixel until the tracking of boundary is complete, determining edge pixels within said X-Y raster coordinate system at an edge of the closed region from said corresponding conic equation of each piecewise conic curve, said step of determining edge pixels includes forming an edge-flag linked list of respective lines and columns of edge pixels; and said step of forming a filled pixel map includes sorting said edge-flag linked list by scan line from top to bottom, further sorting said scan line sorted edge-flag linked list within each scan line from left to right, and forming a filled pixel map in the X-Y raster coordinate system from said further sorted edge-flag linked list with any pixels between a pair of edge pixels on a scan line having a first state and other pixels having a second state, said pixels in said first state defining the pixels within the closed region; on a scan line by scan line, left to right basis determining any pixels between a pair of edge pixels, forming a filled pixel map of said pixels determined to be between a pair of edge pixels.
Claim 7
Dependent Claim 22 words
The method as claimed in claim 4, further comprising the step of: forming a visual display corresponding to said filled pixel map.
Claim 8
Dependent Claim 70 words
The method as claimed in claim 5, wherein: said step of forming a visual display corresponding to said filled pixel map includes storing said filled pixel map of each character of the type font in a font cache, copying said filled pixel map of selected characters of the type font from the font cache into a display pixel map, and forming a visual display corresponding to said display pixel map.
Claim 9
Dependent Claim 356 words
A processor system for generating font characters in an X-Y raster coordinate system from a closed region bounded by a set of piecewise conic curves defined by corresponding conic equations of the form f(x,y)=0 for each character of the type font, said processor system comprising: accepting circuitry for accepting a set of piecewise conic curves defined by corresponding conic equations of the form f(x,y)=0 for a character to be generated; tracking circuitry connected to said accepting circuitry for tracking a boundary of the closed region of said character to be generated in a counter-clockwise direction by following the piecewise conic curves, said tracking circuitry including circuitry for determining an octant fDf the corresponding piecewise conic curve from df(x c ,y c )/dx and df(x c ,y c )/dy at a current pixel (x c ,y c ), circuitry for determining a next pixel as one of a pair of adjacent pixels of a set of eight adjacent pixels corresponding to the determined octant and the value of f(x,y) at an incrementally displaced location corresponding to the determined octant, circuitry for setting said next pixel as the current pixel and repeating said substeps of determining an octant of the corresponding piecewise conic curve, determining the next pixel, determining if said next pixel is within another piecewise conic curve and setting said next pixel as the current pixel until the tracking of boundary is complete; edge development circuitry connected to said tracking circuitry for determining edge pixels within said X-Y raster coordinate system at an edge of the closed region from said corresponding conic equation of each piecewise conic curve; a edge buffer circuit connected to said edge development circuitry for storing said determined edge pixels, said edge buffer circuit consisting of an edge linked list memory storing an edge-flag linked list of respective lines and columns of edge pixels; a pixel map memory for storing a map of pixels in the X-Y raster coordinate system; and filling circuitry connected to said buffer circuit and said pixel map memory for filling pixels within said pixel map memory between a pair of edge pixels on a same scan line.
Claim 10
Dependent Claim 356 words
A processor system for generating font characters in an X-Y raster coordinate system from a closed region bounded by a set of piecewise conic curves defined by corresponding conic equations of the form f(x,y)=0 for each character of the type font, said processor system comprising: accepting circuitry for accepting a set of piecewise conic curves defined by corresponding conic equations of the form f(x,y)=0 for a character to be generated; tracking circuitry connected to said accepting circuitry for tracking a boundary of the closed region of said character to be generated in a counter-clockwise direction by following the piecewise conic curves, said tracking circuitry including circuitry for determining an octant fDf the corresponding piecewise conic curve from df(x c ,y c )/dx and df(x c ,y c )/dy at a current pixel (x c ,y c ), circuitry for determining a next pixel as one of a pair of adjacent pixels of a set of eight adjacent pixels corresponding to the determined octant and the value of f(x,y) at an incrementally displaced location corresponding to the determined octant, circuitry for setting said next pixel as the current pixel and repeating said substeps of determining an octant of the corresponding piecewise conic curve, determining the next pixel, determining if said next pixel is within another piecewise conic curve and setting said next pixel as the current pixel until the tracking of boundary is complete; edge development circuitry connected to said tracking circuitry for determining edge pixels within said X-Y raster coordinate system at an edge of the closed region from said corresponding conic equation of each piecewise conic curve; a edge buffer circuit connected to said edge development circuitry for storing said determined edge pixels, said edge buffer circuit consisting of an edge linked list memory storing an edge-flag linked list of respective lines and columns of edge pixels; a pixel map memory for storing a map of pixels in the X-Y raster coordinate system; and filling circuitry connected to said buffer circuit and said pixel map memory for filling pixels within said pixel map memory between a pair of edge pixels on a same scan line.
Claim 11
Dependent Claim 32 words
The processor system claimed in claim 7, further comprising: a display connected to said pixel map memory of forming a visual display corresponding to said pixels stored in said pixel map memory.

References Cited (Backward Citations)

US4648045A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-03-06 1998-09-05 1999-03-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-03-06 2002-09-05 2003-03-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-03-06 2006-09-05 2007-03-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag