A method for stroking paths
AssigneeCanon Kabushuki Kaisha
InventorsEugeny Vostrikov, Ian Robert Boreham, Mindy Xie, Peter William Mitchell Ilbery
Life of this patent
Estimating the term…
Abstract
A method of stroking a curved path with a fill of pre-determined thickness, said path having line segments defined by a plurality of points, said method comprising the steps of: forming a plurality of projection lines normal to the curved path at the plurality of points, each of the projection lines having a length based on the pre-determined fill thickness; determining an intersection between a set of the plurality of projection lines, said intersection indicating an occurrence of a void in stroking the curved path; and in response to detecting said intersection of the set of projection lines, constructing at least one polygon filling in the void in the stroked path.
Claims13
A method of stroking a curved path with a fill of pre-determined thickness, said path having line segments defined by a plurality of points, said method comprising the steps of:
- forming a plurality of projection lines normal to the curved path at the plurality of points, each of the projection lines having a length based on the pre-determined fill thickness;
- determining an intersection between a set of the plurality of projection lines, said intersection indicating an occurrence of a void in stroking the curved path;
- and
- in response to detecting said intersection of the set of projection lines, constructing at least one polygon filling in the void in the stroked path.
A method of rendering a stroked curved path having a fill thickness, the method comprising:
- forming a plurality of projection lines projecting from each side of the curved path, each of the projection lines having a length based on the fill thickness;
- determining intersection points for a plurality of intersecting consecutive projection lines located on a concave side of the curve;
- forming at least one extension polygon based on the intersection points and end points of the plurality of consecutive projection lines;
- forming a main polygon based on end points of the plurality of projection lines, and the intersection points, excluding at least one of the end points of a non-end cap projection line of the consecutive projection lines;
- and
- rendering the curved path using the at least one extension polygon and the main polygon.
A method of stroking a path comprising two straight adjacent segments, said path having a fill thickness and each of the segments having a start point and an end point, said method comprising the steps of:
- forming a normal projection line to the straight segments at each start and end point of the segments, each of the normal projection lines having a length based on the fill thickness;
- detecting a presence of an intersection point of a first of the normal projection lines passing through the start point of a first of the segments and a second of the normal projection lines passing through the start point of a second of the segments;
- in response to said detecting step, constructing a polygon comprising an area bounded by the intersection point and at least two of the normal vectors, said area located on the same side of the vector path as the intersection point in an event that the intersection point is detected;
- and
- stroking the path using the constructed polygon.
An apparatus for stroking a curved path with a fill of pre-determined thickness, said path having line segments defined by a plurality of points, said apparatus comprising:
- a processor;
- and
- a memory storing a software executable program for directing the processor to perform a method comprising the steps of:
- forming a plurality of projection lines normal to the curved path at the plurality of points, each of the projection lines having a length based on the pre-determined fill thickness;
- determining an intersection between a set of the plurality of projection lines, said intersection indicating an occurrence of a void in stroking the curved path;
- and
- in response to detecting said intersection of the set of projection lines, constructing at least one polygon filling in the void in the stroked path.
An apparatus for rendering a stroked curved path having a fill thickness, said apparatus comprising
- a processor;
- and
- a memory storing a software executable program for directing the processor to perform a method comprising the steps of:
- forming a plurality of projection lines projecting from each side of the curved path, each of the projection lines having a length based on the fill thickness;
- determining intersection points for a plurality of intersecting consecutive projection lines located on a concave side of the curve;
- forming at least one extension polygon based on the intersection points and end points of the plurality of consecutive projection lines;
- forming a main polygon based on end points of the plurality of projection lines, and the intersection points, excluding at least one of the end points of a non-end cap projection line of the consecutive projection lines;
- and
- rendering the curved path using the at least one extension polygon and the main polygon.
An apparatus for stroking a path comprising two straight adjacent segments, said path having a fill thickness and each of the segments having a start point and an end point, said apparatus comprising:
- a processor;
- and
- a memory storing a software executable program for directing the processor to perform a method comprising the steps of:
- forming a normal projection line to the straight segments at each start and end point of the segments, each of the normal projection lines having a length based on the fill thickness;
- detecting a presence of an intersection point of a first of the normal projection lines passing through the start point of a first of the segments and a second of the normal projection lines passing through the start point of a second of the segments;
- in response to said detecting step, constructing a polygon comprising an area bounded by the intersection point and at least two of the normal vectors, said area located on the same side of the vector path as the intersection point in an event that the intersection point is detected;
- and
- stroking the path using the constructed polygon.
A computer readable non-transitory storage medium storing a software executable program for directing a processor to perform a method for stroking a curved path with a fill of pre-determined thickness, said path having line segments defined by a plurality of points, said program comprising:
- software executable code for forming a plurality of projection lines normal to the curved path at the plurality of points, each of the projection lines having a length based on the pre-determined fill thickness;
- software executable code for determining an intersection between a set of the plurality of projection lines, said intersection indicating an occurrence of a void in stroking the curved path;
- and
- software executable code for, in response to detecting said intersection of the set of projection lines, constructing at least one polygon filling in the void in the stroked path.
A computer readable non-transitory storage medium storing a software executable program for directing a processor to perform a method for rendering a stroked curved path having a fill thickness, said program comprising:
- software executable code for forming a plurality of projection lines projecting from each side of the curved path, each of the projection lines having a length based on the fill thickness;
- software executable code for determining intersection points for a plurality of intersecting consecutive projection lines located on a concave side of the curve;
- software executable code for forming at least one extension polygon based on the intersection points and end points of the plurality of consecutive projection lines;
- software executable code for forming a main polygon based on end points of the plurality of projection lines, and the intersection points, excluding at least one of the end points of a non-end cap projection line of the consecutive projection lines;
- and
- software executable code for rendering the curved path using the at least one extension polygon and the main polygon.
A computer readable non-transitory storage medium storing a software executable program for directing a processor to perform a method for stroking a path comprising two straight adjacent segments, said path having a fill thickness and each of the segments having a start point and an end point, said program comprising:
- software executable code for forming a normal projection line to the straight segments at each start and end point of the segments, each of the normal projection lines having a length based on the fill thickness;
- software executable code for detecting a presence of an intersection point of a first of the normal projection lines passing through the start point of a first of the segments and a second of the normal projection lines passing through the start point of a second of the segments;
- software executable code for, in response to said detecting step, constructing a polygon comprising an area bounded by the intersection point and at least two of the normal vectors, said area located on the same side of the vector path as the intersection point in an event that the intersection point is detected;
- and
- software executable code for stroking the path using the constructed polygon
Dependencies are inferred from the claim text.