System and method for drawing and painting with warped bitmap brushes
First Claim
1. A method of drawing a brush stroke with a bitmap brush, the bitmap brush comprising a bitmap image having pixels, the brush stroke rendered relative to a guideline, the guideline specifying an arbitrary path for the brush stroke, the method implemented by a computing device and comprising:
- determining a first polygon on the guideline;
determining a first segment in the bitmap brush corresponding to the first polygon on the guideline, the first segment in the bitmap brush comprising a first portion of the bitmap image;
applying a first transformation to the first portion of the bitmap image mapped in the first segment in the bitmap brush to generate a corresponding bitmap image in the first polygon on the guideline to create a first segment of the brush stroke; and
displaying the first segment of the brush stroke on a display device.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method is described for rendering a warped brush stroke using a bitmap brush image, the brush stroke being along a arbitrarily curved guideline. The described system and method generate a piecewise linear approximation to the guideline followed by generating polygons with the aid of the linear segments such that the generated polygons are convex and contiguous linear segments result in contiguous polygons. A mapping is identified between segments of the bitmap brush and the polygons such that the corners or the boundaries of the segments of a segment map to the corners or boundaries of a corresponding polygon. The segment of the bitmap brush is mapped into the corresponding polygon using transformations that do not require visiting a pixel in the rendered warped brush stroke more than once. Examples of such transformations include bilinear transformations and texture mapping in combination with tiling.
52 Citations
39 Claims
-
1. A method of drawing a brush stroke with a bitmap brush, the bitmap brush comprising a bitmap image having pixels, the brush stroke rendered relative to a guideline, the guideline specifying an arbitrary path for the brush stroke, the method implemented by a computing device and comprising:
determining a first polygon on the guideline;
determining a first segment in the bitmap brush corresponding to the first polygon on the guideline, the first segment in the bitmap brush comprising a first portion of the bitmap image;
applying a first transformation to the first portion of the bitmap image mapped in the first segment in the bitmap brush to generate a corresponding bitmap image in the first polygon on the guideline to create a first segment of the brush stroke; and
displaying the first segment of the brush stroke on a display device.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A computer-readable storage medium having a tangible component and having computer-executable instructions embodied thereon for causing a computing device to perform a method for drawing a brush stroke with a bitmap brush, the bitmap brush comprising a bitmap image having pixels, the brush stroke rendered relative to a guideline, the guideline specifying an arbitrary path for the brush stroke, the method comprising:
determining a first polygon on the guideline;
determining a first segment in the bitmap brush corresponding to the first polygon on the guideline, the first segment in the bitmap brush comprising a first portion of the bitmap image;
applying a first transformation to the first portion of the bitmap image mapped in the first segment in the bitmap brush to generate a corresponding bitmap image in the first polygon on the guideline to create a first segment of the brush stroke; and
displaying the first segment of the brush stroke on a display device.- View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
38. A computerized system for rendering a warped brush stroke using a bitmap brush and a guideline, the bitmap brush comprising a bitmap image having pixels, the guideline specifying an arbitrary path for the brush stroke, the computerized system comprising one or more computer-readable storage media having one or more tangible components and having encoded thereon a plurality of modules, the plurality of modules comprising:
a linearization module for generating a plurality of line segments approximating a curved line representing the guideline;
a sharp corner correcting module for detecting a corner defined by an angle between two adjacent line segments that is smaller than a corner threshold and adding line segments at angles greater than or equal to the corner threshold;
a polygon generating module for generating a plurality of polygons corresponding to the plurality of line segments;
a polygon corner identifying module for identifying corners of each polygon generated by the polygon generating module;
a mapping module for identifying a plurality of segments of the bitmap brush corresponding to the plurality of polygons generated by the polygon generating module, each segment of the bitmap brush having corners corresponding to the corners of a respective polygon; and
a rendering module for rendering the plurality of segments of the bitmap brush in the corresponding plurality of polygons to create the brush stroke and for displaying the brush stroke on a display device.- View Dependent Claims (39)
Specification