Sketching reality
AssigneeMicrosoft Corporation
InventorsYing-Qing Xu, Sing Bing Kang, Heung-Yeung Shum, Xuejin Chen
Life of this patent
Estimating the term…
Abstract
Systems and methods for sketching reality are described. In one aspect, a set of vector primitives is identified from a 2-D sketch. In one implementation, the 2-D sketch is hand-drawn by a user. A 2.5D geometry model is automatically generated from the vector primitives. The 2.5D geometry model is automatically rendered and presented to a user. In one implementation, the user provides 2-D sketch-based user inputs to modify one or more of lighting position, lighting direction, lighting intensity, texture, color, and geometry of the presentation.
Claims13
A method at least partially implemented by a computing device, the method comprising:
- using a computing device to identify a set of vector primitives from a 2-D sketch wherein the vector primitives comprise one or more of a set of line segments and a set of curves;
- generating a graph structure that indicates spatial relations between respective ones of the identified vector primitives;
- using the graph structure to classify lines as left, right, or vertical and identify line segment vanishing lines;
- identifying a set of line segment endpoint junctions;
- classifying each line segment endpoint junction based on a angle of line segment intersection and a number of intersecting lines at each line segment endpoint junction;
- automatically generating a 2.5D geometry model from the vector primitives on the computing device;
- receiving user input corresponding to one or more of lighting, texture, color and geometry modification of the 2.5D geometry model, wherein the user input is user drawn hatch strokes for calculating light position, direction, and intensity;
- computing a matched texture index by calculating line-likeness for the user drawn hatch strokes, wherein the line-likeness calculated based on a direction co-occurrence matrix;
- computing lighting position, intensity and direction from the position and density of the user drawn hatch strokes, wherein lighting intensity is calculated by:
- I =kdIi cos(θ),
- wherein l is intensity, kd is a reflectance coefficient, Ii is the intensity of the light source, and θ is the angle between the normal of a surface and the light direction;
- and
- rendering the 2.5D geometry model for presentation to a user on a display.
A tangible computer-readable storage medium comprising computer-program instructions executable by a processor, the computer-program instructions when executed by the processor perform acts comprising:
- use a computing device to identify a set of vector primitives from a 2-D sketch wherein the vector primitives comprise one or more of a set of line segments and a set of curves;
- generate a graph structure that indicates spatial relations between respective ones of the identified vector primitives;
- use the graph structure to classify lines as left, right, or vertical and identify line segment vanishing lines;
- identify a set of line segment endpoint junctions;
- classify each line segment endpoint junction based on a angle of line segment intersection and a number of intersecting lines at each line segment endpoint junction;
- automatically generate a 2.5D geometry model from the vector primitives on the computing device;
- receive user input corresponding to one or more of lighting, texture, color and geometry modification of the 2.5D geometry model, wherein the user input is user drawn hatch strokes for calculating light position, direction, and intensity;
- compute a matched texture index by calculating line-likeness for the user drawn hatch strokes, wherein the line-likeness calculated based on a direction co-occurrence matrix;
- compute lighting position, intensity and direction from the position and density of the user drawn hatch strokes, wherein lighting intensity is calculated by:
- I =kdIi cos(θ),
- wherein I is intensity, kd is a reflectance coefficient, Ii is the intensity of the light source, and θ is the angle between the normal of a surface and the light direction;
- and
- render the 2.5D geometry model for presentation to a user on a display.
A computing device comprising:
- a processor;
- and
- a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor, the computer-program instructions when executed by the processor for performing acts comprising:
- use the computing device to identify a set of vector primitives from a 2-D sketch wherein the vector primitives comprise one or more of a set of line segments and a set of curves;
- generate a graph structure that indicates spatial relations between respective ones of the identified vector primitives;
- use the graph structure to classify lines as left, right, or vertical and identify line segment vanishing lines;
- identify a set of line segment endpoint junctions;
- classify each line segment endpoint junction based on a angle of line segment intersection and a number of intersecting lines at each line segment endpoint junction;
- automatically generate a 2.5D geometry model from the vector primitives on the computing device;
- receive user input corresponding to one or more of lighting, texture, color and geometry modification of the 2.5D geometry model, wherein the user input is user drawn hatch strokes for calculating light position, direction, and intensity;
- compute a matched texture index by calculating line-likeness for the user drawn hatch strokes, wherein the line-likeness calculated based on a direction co-occurrence matrix;
- compute lighting position, intensity and direction from the position and density of the user drawn hatch strokes, wherein lighting intensity is calculated by:
- I =kdIi cos(θ),
- wherein I is intensity, kd is a reflectance coefficient, Ii is the intensity of the light source, and θ is the angle between the normal of a surface and the light direction;
- and
- render the 2.5D geometry model for presentation to a user on a display.
Dependencies are inferred from the claim text.