Method and apparatus for painting on a computer
First Claim
Patent Images
1. A method of painting in a computer controlled video display system, comprising the steps of:
- (a) determining a current shape of a brush stroke, wherein the brush stroke is a representation of an image to be displayed on the display system;
(b) determining a current direction of the brush stroke;
(c) determining a current position on a first image;
(d) setting a current size of the brush stroke based on a current velocity of the movement of a user-actuated input device;
(e) automatically setting a current color equal to a color at the current position on the first image; and
(f) placing a copy of a brush image into a second image, wherein the brush image has a same shape as the brush stroke, comprising the steps of;
(i) setting a color of the brush image equal to the current color;
(ii) setting a position of the brush image equal to the current position;
(iii) setting a direction of the brush image equal to the current direction of the brush stroke; and
(iv) setting a size of the brush image equal to the current size of the brush stroke.(g) determining a next position of a brush stroke on the first image;
(h) setting an instantaneous velocity based on a distance between the current position and the next position;
(i) setting the current velocity equal to a sum of a weighted value of the current velocity and a weighted value of the instantaneous velocity;
(j) setting the current position equal to the next position;
(k) if a user wishes to continue to paint, then repeating steps (d) through (j).
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for painting in a computer controlled video display system is described. A current shape of a brush stroke is determined. A current direction of the brush stroke is determined. A current position is determined. A current color is set equal to a color at the current position. The step of drawing the brush image on the display comprises the steps of setting a color of the brush image equal to the current color, setting a position of the brush image equal to the current position, and setting a direction of the brush image equal to the current direction of the brush stroke.
-
Citations
4 Claims
-
1. A method of painting in a computer controlled video display system, comprising the steps of:
-
(a) determining a current shape of a brush stroke, wherein the brush stroke is a representation of an image to be displayed on the display system; (b) determining a current direction of the brush stroke; (c) determining a current position on a first image; (d) setting a current size of the brush stroke based on a current velocity of the movement of a user-actuated input device; (e) automatically setting a current color equal to a color at the current position on the first image; and (f) placing a copy of a brush image into a second image, wherein the brush image has a same shape as the brush stroke, comprising the steps of; (i) setting a color of the brush image equal to the current color; (ii) setting a position of the brush image equal to the current position; (iii) setting a direction of the brush image equal to the current direction of the brush stroke; and (iv) setting a size of the brush image equal to the current size of the brush stroke. (g) determining a next position of a brush stroke on the first image; (h) setting an instantaneous velocity based on a distance between the current position and the next position; (i) setting the current velocity equal to a sum of a weighted value of the current velocity and a weighted value of the instantaneous velocity; (j) setting the current position equal to the next position; (k) if a user wishes to continue to paint, then repeating steps (d) through (j).
-
-
2. A method of painting in a computer controlled video display system, comprising the steps of:
-
(a) determining a current position on a first image of a brush stroke, wherein the brush stroke is a representation of an image to be displayed on the display system; (b) determining a current shape of the brush stroke; (c) determining a current size of the brush stroke; (d) determining a current direction of the brush stroke; (e) initializing a current X direction value to one and initializing a current Y direction value to one; (f) automatically setting a current color equal to a color of a pixel at the current position in the first image; (g) determining a next position on a first image of a brush stroke; (h) determining a distance (1) between a first X value of the current position and a second X value of the next position and (2) between a first Y value of the current position and a second Y value of the next position; (i) if the sum of (1) a product of the current X direction value and the distance between the first and second X values and (2) a product of the current Y direction value and the distance between the first and second Y values is less than zero, then setting the current X direction value equal to the current X direction value multiplied by -1 and setting the current Y direction value equal to the current Y direction value multiplied by -1; (j) setting the current X direction value equal to a sum of a weighted value of the current X direction value and the distance between the first and second X values; (k) setting the current Y direction value equal to a sum of a weighted value of the current Y direction value and the distance between the first and second Y values; (l) setting the current brush stroke direction equal to the arctangent of the current Y direction value divided by the current X direction value; (m) placing a copy of a brush image into a second image, wherein the brush image has a same shape as the brush stroke, comprising the steps of; (i) setting a color of the brush image equal to the current color; (ii) setting a position of the brush image equal to the current position of the brush stroke; (iii) setting a direction of the brush image equal to the current direction of the brush stroke; and (iv) setting a size of the brush image equal to the current size of the brush stroke. (n) setting the current position equal to the next position. (o) if a user wishes to continue to paint, then repeating steps (f) through (n).
-
-
3. A method of painting in a computer controlled video display system, comprising the steps of:
-
(a) determining a current position on a first image of a brush stroke, wherein the brush stroke is a representation of an image to be displayed on the display system; (b) determining a current shape of the brush stroke; (c) determining a luminance value of a pixel residing at the current position in a second image; (d) setting a current direction equal to a product of a maximum possible current direction value and the luminance value divided by a maximum possible luminance value; (e) determining a current size of the brush stroke; (f) automatically setting a current color equal to a color of the pixel at the current position in the first image; and (g) placing a copy of a brush image into a second image, wherein the brush image has a same shape as the brush stroke, comprising the steps of; (i) setting a color of the brush image equal to the current color; (ii) setting a position of the brush image equal to the current position of the brush stroke; (iii) setting a direction of the brush image equal to the current direction of the brush stroke; and (iv) setting a size of the brush image equal to the current size of the brush stroke.
-
-
4. A method of painting in a computer controlled video display system, comprising the steps of:
-
(a) storing in a second image a blurred copy of a first image; (b) computing the gradient of the second image by performing the following steps; (i) automatically setting a first value equal to a color of a pixel one pixel down and one pixel to the left of position of a sampled pixel in the second image, a second value equal to a color of a pixel one pixel down and one pixel to the right of the position of the sampled pixel in the second image, a third value equal to a color of a pixel one pixel up and one pixel to the left of the position of the sampled pixel in the second image, and a fourth value equal to the color of a pixel one pixel up and one pixel to the right of the position of the sampled pixel in the second image; (ii) setting a fifth value equal to a difference between the sum of the second and fourth values and the sum of the first and third values; (iii) setting a sixth value equal to a difference between the sum of the third and fourth values and the sum of the first and second values; (iv) setting a seventh value equal to the product of -1 and the arctangent of the fifth value divided by the sixth value; (v) storing the seventh value in a third image in a location associated with the pixel position; (vi) repeating the above steps (i) through (v) for each pixel of the second image, wherein upon each repetition the sampled pixel is another pixel of the second image; (c) determining a current shape of the brush stroke, wherein the brush stroke is a representation of an image to be displayed on the display system; (d) determining a current size of the brush stroke; (e) determining a current position on a fourth image; (f) determining a current direction of the brush stroke based upon the value stored in the current position in the third image; (g) setting a current color equal to a color of the pixel at the current position in the fourth image; and (h) placing a copy of a brush image into a fifth image, wherein the brush image has a same shape as the brush stroke, comprising the steps of; (i) setting a color of the brush image equal to the current color; (ii) setting a position of the brush image equal to the current position of the brush stroke; (iii) setting a direction of the brush image equal to the current direction of the brush stroke; and (iv) setting a size of the brush image equal to the current size of the brush stroke.
-
Specification