# US 10,769,824 B2 · Method for defining drawing planes for the design of a 3D object

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,824 B2
- Document ID: US10769824B2
- Status: Granted
- Kind: B2
- Application number: 16/225,180
- Filed: 2018-12-19
- Published: 2019-07-04
- Granted: 2020-09-08
- Earliest claimed: 2017-12-28
- Assignees: Dassault Systemes
- Applicants: Dassault Systemes
- Inventors: Frederic Letzelter; Amelie Renard
- Web page: https://patentgrep.com/patent/US10769824B2

## CPC

- G06T 11/23: using straight lines or curves
- G06F 30/00: Computer-aided design [CAD]
- G06F 30/10: Geometric CAD
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06T 11/20: Drawing from basic elements
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 17/10: Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T 2219/2016: Rotation, translation, scaling
- G06T 2219/2021: Shape modification
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Computer method and system draws a 3D object, by sketching at least one first stroke (ST1) in a first plane (PL1) rendered in a first viewing frustum corresponding to a first pose of a virtual camera. The first plane (PL1) is orthogonal to a second (PL2) and a third plane (PL3). In response to a command of a user switching from the first pose to a second pose of the virtual camera, the method and system switches from the first viewing frustum to a second viewing frustum corresponding to the second pose of the virtual camera. The second viewing frustum is bounded by a near plane on the side of the virtual camera. Next a plane is selected as current drawing plane. The selected plane is among the first (PL1), the second (PL2) and the third plane (PL3), whose normal is the closest to the normal of the near plane. At least one second stroke (ST2) is then sketched in the current drawing plane.

## Claims

### Claim 1

A computer-implemented method for drawing a 3D object, said 3D object being rendered in a 3D scene on a computer screen through a virtual camera, the method comprising the steps of:
sketching at least one first stroke (ST1) in a first plane (PL1) rendered in a first viewing frustum corresponding to a first pose of the virtual camera, said first plane (PL1) being orthogonal to a second (PL2) and a third plane (PL3);
in response to a command of a user switching from the first pose to a second pose of the virtual camera, switching from the first viewing frustum to a second viewing frustum corresponding to the second pose of the virtual camera, said second viewing frustum being bounded by a near plane on the side of the virtual camera;
selecting, as current drawing plane, a plane among the first (PL1), the second (PL2) and the third plane (PL3), whose normal has a maximum scalar product absolute value with the normal of the near plane;
determining the extremity of a last sketched first stroke (ST1) in the first plane (PL1) which is closest to the near plane, the current drawing plane passing through said extremity, said extremity being defined as the origin (OR) of the current drawing plane; and
sketching at least one second stroke (ST2) in the current drawing plane.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising a step of computing an absolute value of a scalar product of the normal of the near plane and the normal of each of the first (PL1), second (PL2) and third planes (PL3).

### Claim 3 (depends on 1)

The method according to claim 1, comprising a step of modifying the origin (OR) through which the current drawing plane passes, in response to an activation input designating a 3D point of one of the strokes (ST1, ST2) of the 3D scene.

### Claim 4 (depends on 3)

The method according to claim 3, wherein the activation input comprises the pressing and holding of an activation button while moving a pointing element (PE) in the 3D scene along one of the sketched strokes (ST1, ST2) until the release of said activation button, thereby setting the origin (OR) of the current drawing plane on the designated 3D point.

### Claim 5 (depends on 4)

The method according to claim 4, wherein the activation button is a keyboard button.

### Claim 6 (depends on 1)

The method according to claim 1, comprising the step of providing a visual feedback of the current drawing plane.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the visual feedback is a highlighting of the strokes of the current drawing plane.

### Claim 8 (depends on 1)

The method according to claim 1, comprising an initial step of defining as first plane a plane which is the closest from the near plane.

### Claim 9 (depends on 1)

The method according to claim 1, comprising an initial step of defining as first plane a previously defined plane.

### Claim 10

A computer program product, comprising:
a non-transitory computer-readable data-storage medium (MEM1-MEM4), storing computer-executable instructions to cause a computer system to draw a 3D object rendered in a 3D scene on a computer screen through a virtual camera; and
the computer-executable instructions including instructions that configure the computer system to:
sketch at least one first stroke (ST1) in a first plane (PL1) rendered in a first viewing frustum corresponding to a first pose of the virtual camera, said first plane (PL1) being orthogonal to a second (PL2) and a third plane (PL3);
in response to a command of a user switching from the first pose to a second pose of the virtual camera, switch from the first viewing frustum to a second viewing frustum corresponding to the second pose of the virtual camera, said second viewing frustum being bounded by a near plane on the side of the virtual camera;
select, as current drawing plane, a plane among the first (PL1), the second (PL2) and the third plane (PL3), whose normal has a maximum scalar product absolute value with the normal of the near plane;
determine the extremity of a last sketched first stroke (ST1) in the first plane (PL1) which is closest to the near plane, the current drawing plane passing through said extremity, said extremity being defined as the origin (OR) of the current drawing plane; and
sketch at least one second stroke (ST2) in the current drawing plane.

### Claim 11

A non-transitory computer-readable data-storage medium (MEM1-MEM4) comprising:
a memory area containing computer-executable instructions (EXP) to cause a computer system to draw a 3D object rendered in a 3D scene on a computer screen through a virtual camera; and
the computer-executable instructions including instructions to draw the 3D object by:
sketching at least one first stroke (ST1) in a first plane (PL1) rendered in a first viewing frustum corresponding to a first pose of the virtual camera, said first plane (PL1) being orthogonal to a second (PL2) and a third plane (PL3);
in response to a command of a user switching from the first pose to a second pose of the virtual camera, switching from the first viewing frustum to a second viewing frustum corresponding to the second pose of the virtual camera, said second viewing frustum being bounded by a near plane on the side of the virtual camera;
selecting, as current drawing plane, a plane among the first (PL1), the second (PL2) and the third plane (PL3), whose normal has a maximum scalar product absolute value with the normal of the near plane;
determining the extremity of a last sketched first stroke (ST1) in the first plane (PL1) which is closest to the near plane, the current drawing plane passing through said extremity, said extremity being defined as the origin (OR) of the current drawing plane; and
sketching at least one second stroke (ST2) in the current drawing plane.

### Claim 12

A computer system comprising:
a processor (CP) coupled to a memory (MEM1-MEM4) and a graphical user interface (KB, PD, DC, DY),
the memory storing computer-executable instructions (EXP) to cause the computer system to draw a 3D object rendered in a 3D scene on a computer screen through a virtual camera, said drawing the 3D object being by:
sketching at least one first stroke (ST1) in a first plane (PL1) rendered in a first viewing frustum corresponding to a first pose of the virtual camera, said first plane (PL1) being orthogonal to a second (PL2) and a third plane (PL3);
in response to a command of a user switching from the first pose to a second pose of the virtual camera, switching from the first viewing frustum to a second viewing frustum corresponding to the second pose of the virtual camera, said second viewing frustum being bounded by a near plane on the side of the virtual camera;
selecting, as current drawing plane, a plane among the first (PL1), the second (PL2) and the third plane (PL3), whose normal has a maximum scalar product absolute value with the normal of the near plane;
determining the extremity of a last sketched first stroke (ST1) in the first plane (PL1) which is closest to the near plane, the current drawing plane passing through said extremity, said extremity being defined as the origin (OR) of the current drawing plane; and
sketching at least one second stroke (ST2) in the current drawing plane.
