IP Library › Granted Patent US 11,543,889
Granted Patent B2
US 11,543,889 · App. 17/136,885 · Granted Jan 3, 2023

Selection of a vertex with an immersive gesture in 3D modeling

Inventor: Fivos Doganis (Vélizy-Villacoublay, FR)
Assignee: DASSAULT SYSTEMES
G06F3/017G06F3/04815G06F3/04842G06F30/12G06F2111/10G06F2111/18
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 11,543,889
App. No.
17/136,885
Granted
Jan 3, 2023
Kind
B2
Abstract

A computer-implemented method for selecting a vertex among vertices of a 3D object in a 3D immersive environment of a CAD system where each vertex has a position in the 3D immersive environment including displaying the 3D object in the 3D immersive environment, detecting a hand gesture including opposing the pads of the index finger and the thumb, both pads being spaced, determining a segment parallel to a segment connecting the pads of the index finger and the thumb, the determined segment having a position in the 3D immersive environment, and identifying the vertex of the 3D object having the closest position with the determined segment.

Claims (90)

1. A computer-implemented method for selecting a vertex among vertices of a 3D object in a 3D immersive environment of a CAD system, each vertex having a position in the 3D immersive environment, comprising:

displaying the 3D object in the 3D immersive environment;

detecting a hand gesture including opposed pads of an index finger and thumb, both pads being spaced;

determining a segment parallel to a segment connecting the pads of the index finger and the thumb, the determined segment having a position in the 3D immersive environment, the determined segment being created as a result of the detected hand gesture; and

identifying the vertex of the 3D object having a closest position with the determined segment,

wherein each vertex of the 3D object further has a normal and the opposed pads of the index finger and the thumb further form an oriented plane with a normal, and wherein the identifying further comprises:

minimizing a function ƒ:

ƒ(Vertex)= w 1 *∥FH∥+w 2*

wherein:

Vertex is the vertex of interest;

{w1∈ |w1≥0} and {w2∈ |w2≥0} and {w1+w2>0};

∥FH∥ is an Euclidian distance in the 3D immersive environment between the position of the vertex Vertex and the position H of the oriented plane; and

is an angle in the 3D immersive environment between the normal of the vertex Vertex and the normal of the oriented plane.

2. The computer-implemented method of claim 1 , wherein the identifying further comprises:

casting a ray from the determined parallel segment parallel to a center of the 3D object.

3. The computer-implemented method of claim 1 , wherein the term ∥FH∥ of the function ƒ is replaced by ∥FH′∥ with H′ being computed by:

H′=E+EH *max(1, a *(∥ EO max ∥)/∥ EH max ∥)

wherein:

H′ is the position of an oriented plane of a virtual hand;

E is the position of the user's point of view;

H is the position of the oriented plane formed by the opposed pads of the finger and the thumb;

EH is a vector from E to H;

Omax is the position of the furthest vertex of the 3D object from E;

Hmax is the furthest position of the center of the user's hand from E in a transverse plane of the user's body;

{a∈ *};

∥EOmax∥ is the norm of the vector from E to Omax; and

∥EHmax∥ is the norm of the vector from E to Hmax.

4. The computer-implemented method of claim 3 , wherein the term ∥FH∥ ∥FH′∥ of the function ƒ further includes a Euclidean distance in the 3D immersive environment between a position of the vertex and at least one intersection of the 3D model with a ray being cast from a center of a head or a dominant eye or a point between eyes to a center of the 3D model.

5. The computer-implemented method of claim 1 , wherein the identifying further comprises:

determining the vertex of the 3D object having the closest position with the determined segment;

computing one or more n-neighboring vertices of the determined vertex, the one or more n-neighboring vertices and the determined vertex forming a subset of selectable vertices; and

identifying the vertex of the 3D object having a closest orientation with a oriented plane from the subset of selectable vertices.

6. The computer-implemented method of claim 5 , further comprising: modifying a first rendering of the vertices of a subset of selectable vertices.

7. The computer-implemented method of claim 1 , further comprising: modifying a second rendering of the identified vertex.

8. The computer-implemented method of claim 1 , wherein a vertices of the 3D object may be part of triangles and/or part of quadrangles and/or part of topological faces and/or part of parametric surfaces and/or part of procedural surfaces.

9. The computer-implemented method of claim 1 , wherein detecting the hand gesture including opposing the pads of the index finger and the thumb, the index finger and the thumb being substantially parallel.

10. The computer-implemented method of claim 1 , further comprising:

selecting the identified vertex of the 3D object by detecting that the hand gesture further includes contact between the pads of the index finger and the thumb.

11. The computer-implemented method of claim 10 , further comprising:

detecting whether the hand gesture further includes an abduction of all fingers; and

deselecting the selected vertex.

12. A non-transitory data storage medium having recorded thereon a computer program including instructions allowing a computer to perform a method for selecting a vertex among vertices of a 3D object in a 3D immersive environment of a CAD system, each vertex having a position in the 3D immersive environment, the method comprising:

displaying the 3D object in the 3D immersive environment;

detecting a hand gesture including opposed pads of an index finger and thumb, both pads being spaced;

determining a segment parallel to a segment connecting the pads of the index finger and the thumb, the determined segment having a position in the 3D immersive environment, the determined segment being created as a result of the detected hand gesture; and

identifying the vertex of the 3D object having a closest position with the determined segment,

wherein each vertex of the 3D object further has a normal and the opposed pads of the index finger and the thumb further form an oriented plane with a normal, and wherein the identifying further comprises:

minimizing a function ƒ:

ƒ(Vertex)= w 1 *∥FH∥+w 2*

wherein:

Vertex is the vertex of interest;

{w1∈ |w1≥0} and {w2∈ |w2≥0} and {w1+w2>0};

∥FH∥ is an Euclidian distance in the 3D immersive environment between the position of the vertex Vertex and the position H of the oriented plane; and

is an angle in the 3D immersive environment between the normal of the vertex Vertex and the normal of the oriented plane.

13. The non-transitory data storage medium of claim 12 , wherein the identifying further comprises:

casting a ray from the determined parallel segment parallel to a center of the 3D object.

14. The non-transitory data storage medium of claim 12 , wherein the identifying of the method further comprises:

determining the vertex of the 3D object having the closest position with the determined segment;

computing one or more n-neighboring vertices of the determined vertex, the one or more n-neighboring vertices and the determined vertex forming a subset of selectable vertices; and

identifying the vertex of the 3D object having a closest orientation with a oriented plane from the subset of selectable vertices.

15. The non-transitory data storage medium of claim 12 , wherein the term ∥fh∥ of the function ƒ is replaced by ∥fh ′∥ with H′ being computed by:

H′=E+EH *max(1, a *(∥ EO max ∥)/∥ EH max ∥)

wherein:

H′ is the position of an oriented plane of a virtual hand;

E is the position of the user's point of view;

H is the position of the oriented plane formed by the opposed pads of the finger and the thumb;

EH is a vector from E to H;

Omax is the position of the furthest vertex of the 3D object from E;

Hmax is the furthest position of the center of the user's hand from E in a transverse plane of the user's body;

{a∈ *};

∥EOmax∥ is the norm of the vector from E to Omax; and

∥EHmax∥ is the norm of the vector from E to Hmax.

16. The non-transitory data storage medium of claim 15 , wherein the term ∥FH∥ of ∥FH′∥ the function ƒ further includes a Euclidean distance in the 3D immersive environment between a position of the vertex and at least one intersection of the 3D model with a ray being cast from a center of a head or a dominant eye or a point between eyes to a center of the 3D model.

17. A system comprising:

a display; and

processing circuitry communicatively coupled with a memory, the memory storing a computer program for selecting a vertex among vertices of a 3D object in a 3D immersive environment of a CAD system, each vertex having a position in the 3D immersive environment that when executed by the processing circuitry causes the processing circuitry to be configured to:

display the 3D object in the 3D immersive environment,

detect a hand gesture including opposing pads of an index finger and thumb, both pads being spaced,

determine a segment parallel to a segment connecting the pads of the index finger and the thumb, the determined segment having a position in the 3D immersive environment, the determined segment being created as a result of the detected hand gesture, and

identify the vertex of the 3D object having a closest position with the determined segment,

wherein each vertex of the 3D object further has a normal and the opposed pads of the index finger and the thumb further form an oriented plane with a normal, and wherein the processing circuitry is further configured to identify the vertex by being further configured to:

minimizing a function ƒ:

ƒ(Vertex)= w 1 *∥FH∥+w 2*

wherein:

Vertex is the vertex of interest;

{w1∈ |w1≥0} and {w2∈ |w2≥0} and {w1+w2>0};

∥FH∥ is an Euclidian distance in the 3D immersive environment between the position of the vertex Vertex and the position H of the oriented plane; and

is an angle in the 3D immersive environment between the normal of the vertex Vertex and the normal of the oriented plane.

18. The system of claim 17 , wherein the processing circuitry is further configured to identify the vertex by being configured to

cast a ray from the determined parallel segment parallel to a center of the 3D object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2021
From: DOGANIS, FIVOS
To: DASSAULT SYSTEMES
Reel/Frame 056586/0525 →
Priority Claims (1)
EP 19306792 · Dec 30, 2019 · regional
Continuity (1)
Related Publication 20210200323A1 · Jul 1, 2021
Cited By (2)
US 12,360,608 US 12,436,620