IP Library › Granted Patent US 8,994,698
Granted Patent B2
US 8,994,698 · App. 13/485,535 · Granted Mar 31, 2015

Methods and apparatus for simulation of an erodible tip in a natural media drawing and/or painting simulation

Inventors: Stephen J. DiVerdi (Oakland, CA); Aravind Krishnaswamy (San Jose, CA)
Assignee: Adobe Systems Incorporated
G06F3/0488
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,994,698
App. No.
13/485,535
Granted
Mar 31, 2015
Kind
B2
Abstract

A method, system, and computer-readable storage medium are disclosed for simulation of an erodible tip. A brush tool representing an erodible media is modeled as a height map. Information is collected about a user manipulation of a stylus representing a stroke made on a virtual canvas with the brush tool. A mark to be made on the virtual canvas is determined dependent on the brush tool model and the collected information. The determined mark is rendered. A change in the height map of the brush tool due to the stroke is determined dependent on the brush tool model and the collected information. One or more subsequent marks are rendered in response to manipulation of the brush tool dependent on the determined change in the height map.

Claims (47)

1. A method, comprising:

performing, by a computer:

modeling a brush tool representing an erodible media as a height map and the brush tool model including a stiffness parameter;

collecting information about a user manipulation of a stylus representing a stroke made on a virtual canvas with the brush tool;

determining a mark to be made on the virtual canvas dependent on the brush tool model, the collected information, and the stiffness parameter;

rendering the determined mark;

determining a change in the height map of the brush tool due to the stroke dependent on the brush tool model, the collected information, and the stiffness parameter; and

rendering one or more subsequent marks in response to manipulation of the brush tool dependent on the determined change in the height map.

2. The method of claim 1 , wherein determining the mark to be made on the virtual canvas comprises determining a two-dimensional stamp to be projected on the virtual canvas.

3. The method of claim 1 , wherein stiffness parameter value of the stiffness parameter varies a behavior of the erodible media based at least in part on an amount of pressure that interacts with an influence of a texture of the virtual canvas.

4. The method of claim 1 , wherein the collected information about the user manipulation of the stylus comprises pressure data, and wherein determining the change in the height map is further dependent on the pressure data and a stiffness parameter value of the stiffness parameter for the erodible media.

5. The method of claim 1 , wherein determining the mark to be made on the virtual canvas comprises determining an intensity of each pixel of the mark dependent on the depth at which the respective pixel is below a deposition threshold.

6. The method of claim 1 , wherein the brush tool representing the erodible media is further modeled as a triangle mesh, and wherein determining the change in the height map of the brush tool due to the stroke comprises:

determining a volume of a tip of the brush tool that has been eroded by the stroke; and

distributing the eroded volume between vertices of the triangle mesh.

7. The method of claim 1 , wherein the brush tool representing the erodible media is further modeled as a triangle mesh, and wherein determining the change in the height map of the brush tool due to the stroke comprises determining a change in the triangle mesh of the brush tool due to the stroke dependent on the brush tool model and the collected information.

8. A system, comprising:

at least one processor; and

a memory coupled to the at least one processor and configured to store program instructions that are executable by the at least one processor to:

model an input tool representing an erodible media as a height map and the input tool including a hardness parameter;

collect information about a user manipulation of a stylus during a stroke made on a virtual canvas with the input tool;

determine a mark to be made on the virtual canvas dependent on the input tool model, the collected information, and the hardness parameter;

render the determined mark;

determine a change in the height map of the input tool due to the stroke dependent on the input tool model, the collected information, and the hardness parameter; and

render one or more subsequent marks on the virtual canvas in response to manipulation of the input tool dependent on the determined change in the height map.

9. The system of claim 8 , wherein, in determining the mark to be made on the virtual canvas, the program instructions are executable by the at least one processor to determine a two-dimensional stamp to be projected on the virtual canvas.

10. The system of claim 8 , wherein a hardness parameter value of the hardness parameter varies a behavior of the erodible media based at least in part on an amount of pressure that interacts with an influence of a texture of the virtual canvas.

11. The system of claim 8 , wherein the collected information about the user manipulation of the stylus comprises pressure data, and wherein determining the change in the height map is further dependent on the pressure data.

12. The system of claim 8 , wherein, in determining the mark to be made on the virtual canvas, the program instructions are executable by the at least one processor to determine an intensity of each pixel of the mark dependent on the depth at which the respective pixel is below a deposition threshold.

13. The system of claim 8 , wherein the input tool representing the erodible media is further modeled as a triangle mesh, and wherein, in determining the change in the height map of the input tool due to the stroke, the program instructions are executable by the at least one processor to:

determine a volume of a tip of the input tool that has been eroded by the stroke; and

distribute the eroded volume between vertices of the triangle mesh.

14. The system of claim 8 , wherein the input tool representing the erodible media is further modeled as a triangle mesh, and wherein, in determining the change in the height map of the input tool due to the stroke, the program instructions are executable by the at least one processor to determine a change in the triangle mesh of the input tool due to the stroke dependent on the input tool model and the collected information.

15. A non-transitory, computer-readable storage medium storing program instructions that when executed on one or more computers cause the one or more computers to perform:

modeling an input tool representing an erodible media as a height map and the input tool including a hardness parameter;

collecting information about a user manipulation of a stylus representing a stroke made on a virtual canvas with the input tool;

determining a mark to be made on the virtual canvas dependent on the input tool model, the collected information, and the hardness parameter;

rendering the determined mark;

determining a change in the height map of the input tool due to the stroke dependent on the input tool model, the collected information, and the hardness parameter; and

rendering one or more subsequent marks in response to manipulation of the input tool dependent on the determined change in the height map.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein determining the mark to be made on the virtual canvas comprises determining a two-dimensional stamp to be projected on the virtual canvas.

17. The non-transitory, computer-readable storage medium of claim 15 , wherein a hardness parameter value of the hardness parameter varies a behavior of the erodible media based at least on an amount of pressure that interacts with an influence of a texture of the virtual canvas.

18. The non-transitory, computer-readable storage medium of claim 15 , wherein the collected information about the user manipulation of the stylus comprises pressure data, and wherein determining the change in the height map is further dependent on the pressure data.

19. The non-transitory, computer-readable storage medium of claim 15 , wherein determining the mark to be made on the virtual canvas comprises determining an intensity of each pixel of the mark dependent on the depth at which the respective pixel is below a deposition threshold.

20. The non-transitory, computer-readable storage medium of claim 15 , wherein the input tool representing the erodible media is further modeled as a triangle mesh, and wherein determining the change in the height map of the input tool due to the stroke comprises:

determining a volume of a tip of the input tool that has been eroded by the stroke; and

distributing the eroded volume between vertices of the triangle mesh.

Assignments (2)
CHANGE OF NAME Recorded Apr 8, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048867/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2012
From: DIVERDI, STEPHEN J.; KRISHNASWAMY, ARAVIND
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 028327/0325 →
Continuity (2)
Provisional Application 61606204 · Mar 2, 2012
Related Publication 20130229389A1 · Sep 5, 2013