CN115588077A - Method for solving threading of three-dimensional human body model and garment model and electronic equipment - Google Patents

Method for solving threading of three-dimensional human body model and garment model and electronic equipment Download PDF

Info

Publication number
CN115588077A
CN115588077A CN202211191300.3A CN202211191300A CN115588077A CN 115588077 A CN115588077 A CN 115588077A CN 202211191300 A CN202211191300 A CN 202211191300A CN 115588077 A CN115588077 A CN 115588077A
Authority
CN
China
Prior art keywords
clothing
human body
patch
vertex
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211191300.3A
Other languages
Chinese (zh)
Inventor
刘元伟
许瀚誉
杨智远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juhaokan Technology Co Ltd
Original Assignee
Juhaokan Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Juhaokan Technology Co Ltd filed Critical Juhaokan Technology Co Ltd
Priority to CN202211191300.3A priority Critical patent/CN115588077A/en
Publication of CN115588077A publication Critical patent/CN115588077A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The application provides a method and electronic equipment for solving the problem of mold penetration of a three-dimensional human body model and a garment model, which are used for improving the solution efficiency of mold penetration on the premise of solving the problem of mold penetration of the three-dimensional human body model and the garment model. The method comprises the following steps: detecting a human body patch intersected with a clothing patch of the target object in the three-dimensional human body model of the target object to obtain an intersected pair set; fusing all adjacent garment patches in the intersecting pair set to obtain an intersecting area; aiming at any clothing vertex in any intersection region, obtaining each edge connected with the clothing vertex in the clothing model, and determining whether the clothing vertex and the three-dimensional human body model are subjected to die punching and die punching types or not based on the position of each edge and the position of each human body patch intersected with a target clothing patch, wherein the target clothing patch is each clothing patch forming the intersection region; and if the clothing vertex is determined to be subjected to die punching, determining the target position of the clothing vertex by using a target position determination mode corresponding to the die punching type, and moving the clothing vertex to the target position.

Description

Method for solving threading of three-dimensional human body model and garment model and electronic equipment
Technical Field
The application relates to the technical field of three-dimensional reconstruction, in particular to a method for solving the problem of model threading of a three-dimensional human body model and a garment model and electronic equipment.
Background
Traditionally, in the process of character animation in which a three-dimensional body model and a garment model are independent, the body model and the garment model are usually modeled separately to improve reusability of the garment. The realization method is that when the designer makes the clothing model, the designer designs a plurality of mixed shape parameters. For example, different parameters are designed to control the chest circumference, waist circumference, sleeve length, trouser length, etc. of the garment. When the same garment is fitted to different mannequins, the values of a plurality of shape parameters need to be manually adjusted to enable the garment to be correctly fitted with the current mannequin. However, in the actual fitting process, a rich garment model and a three-dimensional human body model may be formed, and as shown in fig. 1, the three-dimensional human body model and the garment model are schematically illustrated in the mold-through phenomenon.
In the prior art, in order to solve the mold penetration phenomenon of the three-dimensional human body model and the garment model, manual adjustment is performed, for example, more shape parameters are added, the definition of the shape parameters is adjusted, or manual repair is performed locally for each three-dimensional human body model. However, these methods are time consuming and result in inefficient die-threading of three-dimensional body models and garment models.
Disclosure of Invention
The application provides a method for solving the problem of mold penetration of a three-dimensional human body model and a garment model and electronic equipment, which are used for improving the efficiency of solving the problem of mold penetration of the three-dimensional human body model and the garment model on the premise of solving the problem of mold penetration of the three-dimensional human body model and the garment model.
In a first aspect, an embodiment of the present application provides a method for solving threading between a three-dimensional human body model and a garment model, where the method includes:
detecting each human body patch intersected with a clothing patch of a target object in a three-dimensional human body model of the target object to obtain an intersected pair set, wherein any intersected pair in the intersected pair set comprises a pair of human body patches and clothing patches which are intersected;
fusing each adjacent garment patch in the intersecting pair set to obtain at least one intersecting region;
aiming at any clothing vertex in any intersection area, obtaining each edge connected with the clothing vertex in the clothing model, and determining whether the clothing vertex is subjected to die punching with the three-dimensional human body model and the die punching type or not based on the position of each edge and the position of each human body surface piece intersected with a target clothing surface piece, wherein the target clothing surface piece is each clothing surface piece forming the intersection area; and the number of the first and second groups,
and if the clothing vertex is determined to be subjected to die punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die punching type, and moving the clothing vertex to the target position.
A second aspect of the present application provides an electronic device comprising a processor and a memory, the processor and the memory being connected by a bus;
the memory having stored therein a computer program, the processor being configured to perform the following operations based on the computer program:
detecting each human body patch intersected with a clothing patch of a target object in a three-dimensional human body model of the target object to obtain an intersected pair set, wherein any intersected pair in the intersected pair set comprises a pair of intersected human body patches and clothing patches;
fusing each adjacent garment patch in the intersecting pair set to obtain at least one intersecting region;
aiming at any clothing vertex in any intersection area, obtaining each edge connected with the clothing vertex in the clothing model, and determining whether the clothing vertex is subjected to die punching with the three-dimensional human body model and the die punching type or not based on the position of each edge and the position of each human body surface piece intersected with a target clothing surface piece, wherein the target clothing surface piece is each clothing surface piece forming the intersection area; and (c) a second step of,
and if the clothing vertex is determined to be subjected to die-punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die-punching type, and moving the clothing vertex to the target position.
According to a third aspect provided by an embodiment of the present invention, there is provided a computer storage medium storing a computer program for executing the method according to the first aspect.
In the embodiment of the application, each human body patch intersected with the clothing patch of the target object in the three-dimensional human body model of the target object is detected to obtain an intersected pair set, adjacent clothing patches in the intersected pair set are fused to obtain at least one intersected area, clothing vertexes and threading types, which are threaded with the clothing model, in each intersected area are determined, the target positions of the clothing vertexes are determined in a target position determining mode corresponding to the threading types, and the clothing vertexes are moved to the target positions. Therefore, the position where the die penetrates can be automatically determined and can be automatically determined to be repaired, and the position where the die penetrates is not manually repaired, so that the efficiency of solving the problem of die penetration of the three-dimensional human body model and the garment model is improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the description below are some embodiments of the present application, and those skilled in the art can obtain other drawings based on the drawings without inventive labor.
FIG. 1 schematically illustrates a drawing of a three-dimensional mannequin and a garment model provided by an embodiment of the present application;
fig. 2 schematically illustrates one application scenario of the method for solving the cross-cut between the three-dimensional human body model and the garment model provided by the embodiment of the present application;
fig. 3 schematically illustrates a second application scenario of the mold-piercing method for solving the three-dimensional human body model and the garment model according to the embodiment of the present application;
fig. 4 schematically illustrates a third application scenario of the method for solving the three-dimensional body model and the clothing model according to the embodiment of the present application;
FIG. 5 is a flowchart illustrating one of the mold-through methods for solving the three-dimensional human body model and the garment model provided by the embodiments of the present application;
fig. 6 is a schematic diagram illustrating a fusion of pieces of apparel according to an embodiment of the present disclosure;
fig. 7 is a schematic flowchart illustrating a process of determining whether a die break occurs and determining a type of the die break, provided by an embodiment of the present application;
FIG. 8 is a schematic diagram illustrating one of the vertex stripping schematics provided by embodiments of the present application;
FIG. 9 is a schematic diagram illustrating an edge-piercing die provided by an embodiment of the application;
fig. 10 is a schematic diagram illustrating a flow chart of determining a target position of a garment vertex when a die-through type provided by an embodiment of the application is vertex die-through;
FIG. 11 is a schematic diagram illustrating a flow chart for determining a first location weight according to an embodiment of the present application;
fig. 12 schematically illustrates a second schematic view of the vertex die-piercing provided by the embodiment of the present application;
FIG. 13 is a third exemplary illustration of a third exemplary vertex pierce diagram provided by an embodiment of the present application;
FIG. 14 is a schematic diagram illustrating a process for determining a target position of a garment vertex when the type of the through-mold is an edge-through-mold according to an embodiment of the present application;
FIG. 15 is a schematic diagram illustrating an edge-piercing die provided by an embodiment of the application;
FIG. 16 is a schematic diagram illustrating an example of a threading iteration provided by an embodiment of the present application;
FIG. 17 is a second flowchart illustrating a method for solving the problem of mold threading of a three-dimensional human body model and a garment model according to an embodiment of the present application;
FIG. 18 is a schematic structural diagram illustrating an apparatus for solving the problem of modeling a three-dimensional human body model and a garment model according to an embodiment of the present application;
fig. 19 is a diagram schematically illustrating a hardware structure of a calibration apparatus according to an embodiment of the present application.
Detailed Description
To make the objects, embodiments and advantages of the present application clearer, the following description of exemplary embodiments of the present application will clearly and completely describe the exemplary embodiments of the present application with reference to the accompanying drawings in the exemplary embodiments of the present application, and it is to be understood that the described exemplary embodiments are only a part of the embodiments of the present application, and not all of the embodiments.
All other embodiments, which can be derived by a person skilled in the art from the exemplary embodiments described herein without making any inventive step, are intended to be within the scope of the claims appended hereto. In addition, while the disclosure herein has been presented in terms of one or more exemplary examples, it should be appreciated that aspects of the disclosure may be implemented solely as a complete embodiment.
It should be noted that the brief descriptions of the terms in the present application are only for convenience of understanding of the embodiments described below, and are not intended to limit the embodiments of the present application. These terms should be understood in their ordinary and customary meaning unless otherwise indicated.
The terms "first," "second," and the like in the description and claims of this application and in the foregoing drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in other sequences than those illustrated or described herein. Furthermore, the terms "comprises" and "comprising," as well as any variations thereof, are intended to cover a non-exclusive inclusion, such that a product or device that comprises a list of elements is not necessarily limited to those elements explicitly listed, but may include other elements not expressly listed or inherent to such product or device.
The term "module" as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware or/and software code that is capable of performing the functionality associated with that element.
The idea of the embodiments of the present application is summarized below.
In the related art for solving the problem of threading the three-dimensional human body model and the garment model, manual adjustment is required, for example, more shape parameters are added, the definition of the shape parameters is adjusted, or manual repair is performed on a local part of each three-dimensional human body model. Therefore, the time for solving the problem of mold threading is long, and the efficiency for solving the problem of mold threading of the three-dimensional human body model and the clothing model is low.
Based on the problem of low efficiency of die-punching of a three-dimensional human body model and a garment model in the prior art, the embodiment of the application provides a method for die-punching of a three-dimensional human body model and a garment model, which includes the steps of detecting each human body panel in the three-dimensional human body model of a target object, which intersects with a garment panel of the target object, obtaining an intersection pair set, fusing adjacent garment panels in the intersection pair set to obtain at least one intersection region, then determining a garment vertex and a die-punching type of the garment model in each intersection region, determining a target position of the garment vertex by using a target position determining mode corresponding to the die-punching type, and moving the garment vertex to the target position. Therefore, the position where the die penetrates can be automatically determined and can be automatically determined to be repaired, and the position where the die penetrates is not manually repaired, so that the efficiency of solving the problem of die penetration of the three-dimensional human body model and the garment model is improved.
Embodiments of the present application are described in detail below with reference to the accompanying drawings.
FIG. 2 is a schematic diagram illustrating an application scenario of a method for solving a three-dimensional mannequin and a clothing model threading provided by an embodiment of the application; as shown in fig. 2, the application scenario is described with an electronic device as an example. The application scenario includes a server 210 and a terminal device 220. The server 210 may be implemented by a single server or may be implemented by a plurality of servers. The server 210 may be implemented by a physical server or a virtual server.
In a possible application scenario, the server 210 detects each human body patch intersecting with a clothing patch of a target object in a three-dimensional human body model of the target object to obtain an intersecting pair set, where any intersecting pair in the intersecting pair set includes a pair of human body patch and clothing patch that intersect; fusing each adjacent garment patch in the intersecting pair set to obtain at least one intersecting area; then, for any clothing vertex in any intersection region, the server 210 obtains each edge connected with the clothing vertex in the clothing model, and determines whether the clothing vertex is subjected to mold penetration with the three-dimensional human body model and the type of the mold penetration based on the position of each edge and the position of each human body patch intersected with a target clothing patch, wherein the target clothing patch is each clothing patch forming the intersection region; and if the clothing vertex is determined to be subjected to die punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die punching type, moving the clothing vertex to the target position, and displaying the clothing vertex through the terminal equipment 220.
As shown in fig. 3, a schematic view of another application scenario of the method for solving the problem of threading the three-dimensional human body model and the clothing model provided in the embodiment of the present application is shown, where the application scenario includes a server 210, a terminal device 220, and a memory 230.
In a possible application scenario, the server 210 obtains a three-dimensional human body model and a clothing patch of a target object from the memory 230, and detects each human body patch intersecting with the clothing patch of the target object in the three-dimensional human body model of the target object to obtain an intersecting pair set, wherein any intersecting pair in the intersecting pair set includes a pair of human body patches and clothing patches which intersect with each other, and then the server 210 fuses each adjacent clothing patch in the intersecting pair set to obtain at least one intersecting region; then, aiming at any clothing vertex in any intersection area, the server 210 obtains each edge connected with the clothing vertex in the clothing model, and determines whether the clothing vertex is subjected to die punching with the three-dimensional human body model or not and the type of the die punching based on the position of each edge and the position of each human body patch intersected with a target clothing patch, wherein the target clothing patch is each clothing patch forming the intersection area; and if the clothing vertex is determined to be subjected to die punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die punching type, moving the clothing vertex to the target position, and displaying the clothing vertex through the terminal equipment 220.
As shown in fig. 4, the application scenario includes a terminal device 220 and a memory 230, and the application scenario is described by taking an electronic device as an example of the terminal device.
In a possible application scenario, the terminal device 220 obtains the three-dimensional human body model and the clothing model of the target object from the memory 230, and the terminal device 220 detects each human body patch intersecting with the clothing patch of the target object in the three-dimensional human body model of the target object to obtain an intersecting pair set, where any intersecting pair in the intersecting pair set includes a pair of human body patch and clothing patch that intersect; fusing each adjacent garment patch in the intersecting pair set to obtain at least one intersecting area; then, for any clothing vertex in any intersection region, the terminal device 220 obtains each edge connected with the clothing vertex in the clothing model, and determines whether the clothing vertex is subjected to mold penetration and a mold penetration type with the three-dimensional human body model based on the position of each edge and the position of each human body patch intersected with a target clothing patch, wherein the target clothing patch is each clothing patch forming the intersection region; and if the terminal device 220 determines that the clothing vertex is subjected to the die punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die punching type, moving the clothing vertex to the target position, and displaying the clothing vertex.
In fig. 2 and 3, the server 210 and the terminal device 220 may perform information interaction through a communication network, where the communication mode adopted by the communication network may be classified into a wireless communication mode or a wired communication mode.
Illustratively, the server 210 may communicate with the terminal device 220 via a cellular mobile communication technology access network, and the server 210 may communicate with the terminal device 220 via a cellular mobile communication technology access network. The cellular Mobile communication technology includes, for example, fifth Generation Mobile networks (5 g) technology.
Alternatively, the server 210 may access the network to communicate with the terminal device 220 by short-range wireless communication, and the server 210 may access the network to communicate with the terminal device 220 by short-range wireless communication. The short-range Wireless communication method includes, for example, a Wireless Fidelity (Wi-Fi) technology.
Also, only a single server 210, a single terminal device 220, and a single memory 230 are detailed in the description of the present application, but it will be understood by those skilled in the art that the server 210, the terminal device 220, and the memory 230 are shown to be intended to represent the operations of the server 210, the terminal device 220, and the memory 230 according to the technical aspects of the present application. And not to imply a limitation on the number, type, or location of the servers 210, terminal devices 220, and memories 230. It should be noted that the underlying concepts of the example embodiments of the present application may not be altered if additional modules are added or removed from the illustrated environments.
Illustratively, the terminal devices 220 include, but are not limited to: a visual large screen, a tablet computer, a notebook computer, a palmtop computer, a Mobile Internet Device (MID), a wearable Device, a Virtual Reality (VR) Device, an Augmented Reality (AR) Device, a wireless terminal Device in industrial control, a wireless terminal Device in unmanned driving, a wireless terminal Device in a smart grid, a wireless terminal Device in transportation safety, a wireless terminal Device in a smart city, or a wireless terminal Device in a smart home; the terminal device may have an associated client installed thereon, where the client may be software (e.g., a browser, short video software, etc.), or may be a web page, an applet, etc.
It should be noted that the method for solving the problem of mold penetration of the three-dimensional human body model and the garment model provided by the application is not only suitable for the application scenarios shown in fig. 2, 3 and 4, but also suitable for any device with a solution for mold penetration of the three-dimensional human body model and the garment model.
The method for solving the three-dimensional mannequin and garment model modeling in the exemplary embodiment of the present application is described below with reference to the accompanying drawings in conjunction with the application scenarios described above, it should be noted that the above application scenarios are only shown for the convenience of understanding the method and principle of the present application, and the embodiments of the present application are not limited in any way in this respect.
As shown in fig. 5, a schematic flow chart of a method for solving the problem of threading the three-dimensional human body model and the garment model includes the following steps:
step 501: detecting each human body patch intersected with a clothing patch of a target object in a three-dimensional human body model of the target object to obtain an intersected pair set, wherein any intersected pair in the intersected pair set comprises a pair of human body patches and clothing patches which are intersected;
the method for detecting each human body panel intersecting with a garment panel of the target object in the three-dimensional human body model of the target object may be a bounding box detection algorithm, an octree, a kd-tree (k-dimensional-tree), and other algorithms, and the specific detection method may be set according to the actual situation, and the specific detection algorithm is not limited in this embodiment.
And, each intersecting pair in the intersecting pair set in the present embodiment is in the form of { tooth } i ,body i Wherein, the booth i For indexing pieces of clothing in a clothing model, body i Is an index of the human body patch in the three-dimensional human body model. The form of the intersecting pair in this embodiment is merely for illustration, and the specific form may be set according to the actual situation, and this embodiment is not limited herein.
Step 502: fusing each adjacent garment patch in the intersecting pair set to obtain at least one intersecting region;
in one embodiment, step 502 may be implemented as: for any one garment panel in the intersecting pair set, if the garment panel has the same edge as any other garment panel in the intersecting pair set, determining that the other garment panels are garment panels adjacent to the garment panel; and fusing the clothing surface patch with the other clothing surface patches based on the same edge to obtain the intersection area.
For example, as shown in fig. 6, garment panel 1 includes edge AB, edge AC, and edge BC. Garment panel 2 includes edge AB, edge AD, and edge BD. It is determined that the same edge AB exists for garment panel 1 and garment panel 2. Then garment panel 1 and garment panel 2 may be fused based on edge AB. The intersection region shown in fig. 6 is obtained.
Step 503: aiming at any clothing vertex in any intersection area, obtaining each edge connected with the clothing vertex in the clothing model, and determining whether the clothing vertex is subjected to die punching with the three-dimensional human body model and the die punching type or not based on the position of each edge and the position of each human body surface piece intersected with a target clothing surface piece, wherein the target clothing surface piece is each clothing surface piece forming the intersection area;
in the following, a detailed description is given of a manner of determining whether a clothing vertex is in a form penetrating with a three-dimensional human body model and a manner of determining a form penetrating type, as shown in fig. 7, which is a specific flowchart and includes the following steps:
step 701: traversing each edge, and aiming at any traversed edge, obtaining a direction vector of the edge according to the position of each vertex in the edge;
for example, the position coordinates of each vertex of the side AB are A (x) 1 ,y 1 ),B(x 2 ,y 2 ) The direction vector of the straight line on which the side AB is located is (x) 2 -x 1 ,y 2 -y 1 )。
Step 702: traversing each human body patch intersected with a target clothing patch, and determining a normal vector of the human body patch based on the position of each vertex in the human body patch aiming at any traversed human body patch;
the method for determining the plane normal vector is a method in the prior art, and this embodiment is not described herein again.
Step 703: determining whether the human body patch and the edge are intersected or not according to the normal vector and the direction vector of the human body patch, if so, executing a step 704, and if not, executing a step 708;
in one embodiment, determining whether the body panel and the edge intersect is performed by:
multiplying the normal vector and the direction vector to obtain a vector product; if the vector product is a first designated threshold, determining that the edge and the human body patch are not intersected; otherwise, determining that the edge is intersected with the human body patch.
If the product of the normal vector of the human body patch and the direction vector of the edge is 0, it indicates that the normal vector of the human body patch is perpendicular to the direction vector of the edge, and since the normal vector is perpendicular to the human body patch and the direction vector is parallel to the edge, it is determined that the edge is parallel to the human body patch, that is, the edge is not intersected with the human body patch, otherwise, it is determined that the edge is intersected with the human body patch.
Step 704: determining the occurrence of die punching of the clothing vertex and the three-dimensional human body model, and updating the die punching times of the edge;
in this embodiment, each edge has a corresponding number of times of puncturing, and the initial number of times of puncturing in this embodiment is 0, and each time the edge and one human body panel are punctured, the number of times of puncturing of the edge is added by 1 until the traversal of each human body panel is completed, so as to obtain the number of times of puncturing of the edge.
Step 705: judging whether each human body patch which is not traversed and intersects with the target garment patch exists, if so, returning to the step 702, and if not, executing the step 706;
step 706: judging whether each side which is not traversed exists, if so, returning to the step 701, otherwise, executing the step 707;
step 707: determining a die punching type based on the die punching times of each edge;
the pattern-through type includes a vertex pattern-through and an edge pattern-through, where the vertex pattern-through is a garment vertex located inside the three-dimensional human body model among garment vertices of the garment model, as shown in fig. 8, the vertex pattern-through is a schematic diagram of vertex pattern-through, a gray geometric body in the diagram is a patch of the three-dimensional human body model, and a vertex p i And a vertex p j All are the vertices on the clothing model, as can be seen in fig. 8, the vertex p i And a vertex p j Located in a patch of the three-dimensional phantom, the vertex p i And vertex p j The corresponding die-through type is the vertex die-through.
And the edge-through model is that the vertex of the clothing model is positioned outside the three-dimensional human body model, but the edge of the surface patch of the clothing model intersected with the surface patch of the human body exists in the clothing model. As shown in FIG. 9, the gray region is a three-dimensional phantom patch, with vertex p i And vertex p j Is a vertex on a patch of a clothing model, and the vertex p i And a vertex p j Located outside the three-dimensional human body model, but with the vertex p i And a vertex p j Edge e of ij Is located inside the three-dimensional phantom, and as can be seen in fig. 9, edge e ij Is not visible. Next, a mode of determining the die-punching type based on the die-punching times of each side is as follows:
and (4) vertex die penetration: and if the die punching times of each edge intersected with the human body surface patch are all first specified times, determining that the die punching type is vertex die punching.
Edge piercing: and if the sides intersected with the human body surface patches have sides with the die-punching times being second specified times, determining that the die-punching type is side die-punching, wherein the second specified times are more than the first specified times.
The first designated number of times in this embodiment is 1 time, and the second designated number of times in this embodiment is 2 times.
Step 708: judging whether each human body patch which is not traversed and intersects with the target garment patch exists, if so, returning to the step 702, otherwise, executing the step 709;
step 709: judging whether each side which is not traversed exists, if so, returning to execute the step 701, and if not, executing the step 710;
step 710: and determining that the clothing vertex and the three-dimensional human body model are not penetrated.
And if the clothing vertex and the three-dimensional human body model are determined not to be penetrated, the clothing vertex is not processed.
Step 504: and if the clothing vertex is determined to be subjected to die punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die punching type, and moving the clothing vertex to the target position.
In one embodiment, the target position of the garment vertex is determined by two ways:
the method I comprises the following steps: and if the mode penetrating type is the vertex mode penetrating.
As shown in fig. 10, a schematic flowchart of determining the target position of the garment vertex when the type of the through-mold is vertex through-mold includes the following steps:
step 1001: determining a first displacement weight vector according to the positions of the intersecting vertexes of the edges connected with the clothing vertexes and the human body surface patches in the clothing model and the positions of the clothing vertexes;
a specific way of determining the first position weight is described below, and as shown in fig. 11, a schematic flow chart of determining the first displacement weight vector includes the following steps:
step 1101: for any intersecting vertex, subtracting the position of the intersecting vertex from the position of the clothing vertex to obtain a position difference;
step 1102: multiplying the position difference by a transposed vector of a normal vector of a target human body patch corresponding to the intersecting vertex to obtain a projection sub-vector, wherein the target human body patch is the human body patch where the intersecting vertex is located; wherein the projection subvector may be determined by equation (1):
Figure BDA0003869266930000111
wherein,
Figure BDA0003869266930000112
projection subvectors, x, corresponding to intersecting vertices p Is the location of the intersecting vertices, x is the location of the garment vertices,
Figure BDA0003869266930000113
and the normal vectors of the target human body patches corresponding to the intersected vertexes are obtained.
It should be noted that: x in the present embodiment p X and
Figure BDA0003869266930000118
all are 3 x 1 vectors.
Step 1103: obtaining projection vectors based on the projection sub-vectors corresponding to the intersecting vertexes;
in this embodiment, the number of intersecting vertices may be one or more, as shown in fig. 12, which is the case where the number of intersecting vertices is 1, x p Are the intersecting vertices, x is the garment vertex,
Figure BDA0003869266930000114
is the normal vector of the human body patch F. When the intersection vertex is one, determining the projection sub-vector of the intersection vertex as the projection vector.
As shown in fig. 13, in the case where the intersection vertices are plural, fig. 13 shows the case where the intersection vertices include four, in which the clothing vertex x is respectively the intersection vertex with the body panel F1, the intersection vertex with the body panel F2, the intersection vertex with the body panel F3, and the intersection vertex with the body panel Fk. When the intersecting vertex is multiple, the projection vector is determined based on the projection sub-vector of each intersecting vertex. For example, the projection sub-vectors that result in four addition vertices are
Figure BDA0003869266930000115
And
Figure BDA0003869266930000116
then the projection vector is obtained as
Figure BDA0003869266930000117
Step 1104: and dividing the projection vector by a first target value to obtain the first displacement weight vector, wherein the first target value is obtained according to the normal vector of each human body patch intersected with each edge and the transposed vector of the normal vector.
The first target value can also be determined by the following two ways:
(1) And if the number of the intersected vertexes is one, multiplying the normal vector of the human body patch corresponding to the intersected vertex by the transposed vector of the normal vector to obtain the first target value.
And the human body surface slice corresponding to the intersecting vertex is the human body surface slice where the intersecting vertex is located.
(2): and if the number of the intersecting vertexes is multiple, multiplying a target normal phasor formed by each normal vector of each human body patch corresponding to each intersecting vertex by a target transposed normal vector formed by each transposed vector of each normal vector to obtain the first target value.
For example, if each normal vector of each human body patch corresponding to each intersecting vertex is
Figure BDA0003869266930000121
And
Figure BDA0003869266930000122
and the transposed vectors of each normal vector are respectively
Figure BDA0003869266930000123
And
Figure BDA0003869266930000124
then determine the target normal vector as
Figure BDA0003869266930000125
Target transpose normal vector of
Figure BDA0003869266930000126
Step 1002: obtaining a first intermediate position based on the first displacement weight vector and the normal vector of each human body patch;
step 1003: and adding the first middle position and the position of the clothing vertex to obtain the target position of the clothing vertex.
If the number of the intersected vertexes is one, obtaining the target position of the clothing vertex through a formula (2):
Figure BDA0003869266930000127
wherein x' is the target position of the clothing vertex, x is the position of the clothing vertex,
Figure BDA00038692669300001211
and gamma is the first displacement weight vector.
If the number of the intersected vertexes is multiple, determining the target position of the clothing vertex through a formula (3):
Figure BDA0003869266930000128
wherein,
Figure BDA0003869266930000129
is the normal vector of each human body patch in which each intersecting vertex is positioned,
Figure BDA00038692669300001210
is the first displacement weight vector.
The second method comprises the following steps: if the die-through type is edge die-through.
As shown in fig. 14, a schematic flow chart of determining the target position of the garment vertex when the type of the through-mold is the edge-through-mold includes the following steps:
step 1401: aiming at any edge with the second specified times of mode crossing, determining a second displacement weight vector based on the position of the edge and the position of the intersection line of each mode crossing human body surface patch, wherein the mode crossing human body surface patches are each human body surface patch intersected with the edge;
for example, as shown in fig. 15, the body panels F1 and F2 are body panels that are punched with the edge AB, i.e., the body panels F1 and F2 are punched body panels, and the edge p 1 p 2 Is the intersecting line of each perforating mould human body surface sheet.
In one embodiment, the second displacement weight vector is determined by: obtaining the shortest distance between the edge and the intersection line according to the position of the edge and the position of the intersection line; multiplying the direction vector of the target common vertical line of the side by the transposed vector of the direction vector to obtain a second target value; and dividing the shortest distance by the second target value to obtain the second displacement weight vector.
Step 1402: multiplying the second displacement weight vector of each side with the direction vector of each target common perpendicular line to obtain a second middle position, wherein any one target common perpendicular line is a common perpendicular line between any one side and the intersection line corresponding to the side; wherein the second intermediate position is obtainable by equation (4):
Figure BDA0003869266930000131
wherein x is 2 In order to be said second intermediate position,
Figure BDA0003869266930000132
the direction vector of the target drooping saliva is shown,
Figure BDA0003869266930000133
a second vector of shift weights for each edge.
Step 1403: and adding the second middle position and the position of the clothing vertex to obtain the target position of the clothing vertex.
It should be noted that: the second intermediate position and the position of the garment vertex are both represented by a vector.
In order to ensure accuracy, after step 504 is executed, whether vertices where the mold penetration occurs still exist in each intersection region is judged, if not, the step of detecting each human body patch intersected with the clothing patch of the target object in the three-dimensional human body model of the target object is executed, and an intersection pair set is obtained until it is determined that each human body patch intersected with the patch of the target object does not exist in the three-dimensional human body model.
Because intersection detection can only detect mutually intersected patches, if three edges of a garment patch are in the three-dimensional human body model, the intersection detection cannot be detected. Therefore, the garment patches trapped inside the three-dimensional human body model need to be continuously pulled out in an iterative mode. As shown in fig. 16, the area formed by the black solid line in the figure is a patch of the three-dimensional human body model, and the dotted line represents an edge of the garment patch, as can be seen from the image (a) in fig. 16, the garment vertices a, B, C, and D are recessed in the three-dimensional human body model, and after the steps 501 to 504 in this embodiment are performed once, the image (B) is obtained, then after the steps 501 to 504 in this embodiment are performed again on the image (B), the image (C) is obtained, and finally, after the steps 501 to 504 in this embodiment are performed on the image (C), the image (D) is obtained. Namely, the top points of the invaginated clothes are all pulled out.
In order to further connect the technical solution in the present application, the following detailed description with reference to fig. 17 may include the following steps:
step 1701: detecting each human body patch intersected with a clothing patch of a target object in a three-dimensional human body model of the target object to obtain an intersected pair set, wherein any intersected pair in the intersected pair set comprises a pair of intersected human body patches and clothing patches;
step 1702: for any one clothing surface patch in the intersecting pair set, if the clothing surface patch and any other clothing surface patch in the intersecting pair set have the same edge, determining that the other clothing surface patch is the clothing surface patch adjacent to the clothing surface patch;
step 1703: fusing the clothing surface patch with the other clothing surface patches based on the same edge to obtain the intersection area;
step 1704: aiming at any clothing vertex in any intersection area, obtaining each edge connected with the clothing vertex in the clothing model, and determining whether the clothing vertex is subjected to die punching with the three-dimensional human body model and the die punching type or not based on the position of each edge and the position of each human body surface piece intersected with a target clothing surface piece, wherein the target clothing surface piece is each clothing surface piece forming the intersection area;
step 1705: if the clothing vertex is determined to be subjected to die punching, and the die punching type is vertex die punching, determining a first displacement weight vector according to the positions of the intersecting vertexes of each edge connected with the clothing vertex and each human body surface patch in the clothing model and the positions of the clothing vertexes;
step 1706: obtaining a first intermediate position based on the first displacement weight vector and the normal vector of each human body patch;
step 1707: adding the first middle position and the position of the clothing vertex to obtain the target position of the clothing vertex;
step 1708: if the mode punching is determined to occur at the clothing vertex, and the mode punching type is edge mode punching, determining a second displacement weight vector aiming at any edge with the mode punching times as second specified times based on the position of the edge and the position of the intersection line of each mode punching human body surface piece, wherein the mode punching human body surface piece is each human body surface piece intersected with the edge;
step 1709: multiplying the second displacement weight vector of each side with the direction vector of each target common perpendicular line to obtain a second middle position, wherein any one target common perpendicular line is a common perpendicular line between any one side and the intersection line corresponding to the side;
step 1710: adding the second middle position and the position of the clothing vertex to obtain the target position of the clothing vertex;
step 1711: moving the garment vertex to the target location.
Based on the same inventive concept, the method for solving the problem of the mold penetration of the three-dimensional human body model and the garment model can also be realized by a device for solving the problem of the mold penetration of the three-dimensional human body model and the garment model. The effect of the device for solving the problem of the mold penetration of the three-dimensional human body model and the garment model is similar to that of the method, and the detailed description is omitted.
FIG. 18 is a schematic structural diagram of an apparatus for solving the problem of mold threading of a three-dimensional human body model and a garment model according to an embodiment of the present disclosure.
As shown in fig. 18, the apparatus 1800 for solving mold threading of three-dimensional mannequin and garment model of the present disclosure may include a detection module 1810, a fusion module 1820, a mold threading determination module 1830, and a mold threading solution module 1840.
A detecting module 1810, configured to detect each human body panel, which intersects with a clothing panel of a target object, in a three-dimensional human body model of the target object, to obtain an intersection pair set, where any one intersection pair in the intersection pair set includes a pair of human body panels and a clothing panel that intersect;
a fusion module 1820, configured to fuse adjacent clothing patches in the intersecting pair set to obtain at least one intersecting region;
a die-threading determining module 1830, configured to obtain, for any clothing vertex in any intersection region, each edge connected to the clothing vertex in the clothing model, and determine, based on a position of each edge and a position of each human body patch intersecting a target clothing patch, whether the clothing vertex is die-threaded with the three-dimensional human body model and a type of the die-threading, where the target clothing patch is each clothing patch constituting the intersection region;
the die-punching solution module 1840 is configured to determine a target position of the clothing vertex by using a target position determination manner corresponding to the die-punching type if it is determined that the clothing vertex is punched, and move the clothing vertex to the target position.
In one embodiment, the apparatus further comprises:
an iteration module 1850, configured to, after the clothing vertex is moved to the target position, determine whether there is a vertex where the perforation occurs in each intersection region, if there is no vertex, return to the step of performing detection on each human body patch intersected with the clothing patch of the target object in the three-dimensional human body model of the target object, to obtain an intersection pair set, until it is determined that there is no human body patch intersected with the clothing patch of the target object in the three-dimensional human body model.
In an embodiment, the fusion module 1820 is specifically configured to:
for any one garment panel in the intersecting pair set, if the garment panel has the same edge as any other garment panel in the intersecting pair set, determining that the other garment panels are garment panels adjacent to the garment panel; and,
and fusing the clothing surface patch with the other clothing surface patches based on the same edge to obtain the intersection area.
In an embodiment, the puncturing module 1830 is specifically configured to:
traversing each edge, and aiming at any traversed edge, obtaining a direction vector of the edge according to the position of each vertex in the edge; and (c) a second step of,
traversing each human body patch intersected with a target clothing patch, and determining a normal vector of the human body patch aiming at any traversed human body patch based on the position of each vertex in the human body patch; and,
determining whether the human body surface patch is intersected with the edge according to the normal vector and the direction vector of the human body surface patch;
if the edge is determined to be intersected with the human body surface patch, determining that the clothing top point and the three-dimensional human body model are subjected to die punching, updating the die punching times of the edge, returning to the step of traversing each human body surface patch intersected with the target clothing surface patch until all the human body surface patches are traversed, returning to the step of traversing each edge until all the edges are traversed, and determining the die punching type based on the die punching times of each edge after all the edges are traversed;
and if the edges are not intersected with the human body patches, returning to the step of traversing each human body patch intersected with the target clothing patch until all the human body patches are traversed, returning to the step of traversing each edge until all the edges are determined to have no intersected human body patches, and determining that the clothing top points and the three-dimensional human body model are not penetrated.
In an embodiment, the puncturing module 1830 executes the determining whether the human body patch intersects with the edge according to the normal vector and the direction vector of the human body patch, and is specifically configured to:
multiplying the normal vector and the direction vector to obtain a vector product;
if the vector product is a first designated threshold, determining that the edge and the human body patch are not intersected;
otherwise, determining that the edge is intersected with the human body patch.
In one embodiment, the puncturing module 1830 performs the determining of the puncturing type based on the puncturing times of each edge, specifically to:
if the die punching times of each edge intersected with the human body surface patch are first appointed times, determining that the die punching type is vertex die punching;
the die-piercing solution module 1840 is specifically configured to:
determining a first displacement weight vector according to the positions of the intersecting vertexes of the edges connected with the clothing vertexes and the human body surface patches in the clothing model and the positions of the clothing vertexes;
obtaining a first intermediate position based on the first displacement weight vector and the normal vector of each human body patch;
and adding the first middle position and the position of the clothing vertex to obtain the target position of the clothing vertex.
In one embodiment, the cross-cut solution module 1840 performs the determining of the first displacement weight vector according to the positions of the intersecting vertices of each human body patch and each edge connected to the clothing vertex in the clothing model, and the positions of the clothing vertices, and is specifically configured to:
for any intersecting vertex, subtracting the position of the intersecting vertex from the position of the clothing vertex to obtain a position difference; and,
multiplying the position difference by a transposed vector of a normal vector of a target human body patch corresponding to the intersecting vertex to obtain a projection sub-vector, wherein the target human body patch is the human body patch where the intersecting vertex is located;
obtaining projection vectors based on the projection sub-vectors corresponding to the intersecting vertexes;
and dividing the projection vector by a first target value to obtain the first displacement weight vector, wherein the first target value is obtained according to the normal vector of each human body patch intersected with each edge and the transposed vector of the normal vector.
In an embodiment, the puncturing module determining module 1830 performs the determining of the puncturing type based on the puncturing times of each edge, specifically to:
if the sides intersected with the human body surface patches have sides with the die-punching times being second specified times, determining that the die-punching type is side die-punching, wherein the second specified times are larger than the first specified times;
the die-piercing solution module 1840 is specifically configured to:
determining a second displacement weight vector for any one edge with the second specified number of die-punching times based on the position of the edge and the position of the intersection line of each die-punching human body surface patch, wherein each die-punching human body surface patch is each human body surface patch intersected with the edge;
multiplying the second displacement weight vector of each side with the direction vector of each target common perpendicular line to obtain a second middle position, wherein any one target common perpendicular line is a common perpendicular line between any one side and the intersection line corresponding to the side;
and adding the second middle position and the position of the clothing vertex to obtain the target position of the clothing vertex.
In one embodiment, the cross-mode solution module 1840 performs the determining a second displacement weight vector based on the intersection line position of the edge and each cross-mode human body patch, specifically to:
obtaining the shortest distance between the edge and the intersection line according to the position of the edge and the position of the intersection line; and the number of the first and second groups,
multiplying the direction vector of the target common vertical line of the side by the transposed vector of the direction vector to obtain a second target value; and dividing the shortest distance by the second target value to obtain the second displacement weight vector.
After a method and an apparatus for solving the problem of mold threading of a three-dimensional human body model and a garment model according to an exemplary embodiment of the present invention are introduced, an electronic device according to another exemplary embodiment of the present invention is introduced next.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Accordingly, various aspects of the present invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
In some possible embodiments, an electronic device in accordance with the present invention may include at least one processor, and at least one computer storage medium. Wherein the computer storage medium stores program code which, when executed by the processor, causes the processor to perform the steps of the method for solving the problem of mold-through of three-dimensional mannequin and garment model according to various exemplary embodiments of the present invention described above in this specification. For example, the processor may perform steps 501-504 as shown in FIG. 5.
An electronic device 1900 according to this embodiment of the invention is described below with reference to fig. 19. The electronic device 1900 shown in fig. 19 is only an example, and should not bring any limitation to the functions and the scope of the use of the embodiments of the present invention.
As shown in fig. 19, an electronic device 1900 is represented in the form of a general-purpose electronic device. Components of electronic device 1900 may include, but are not limited to: the at least one processor 1901, the at least one computer storage medium 1902, and the bus 1903 that connects the various system components (including the computer storage medium 1902 and the processor 1901).
Bus 1903 represents one or more of any of several types of bus structures, including a computer storage media bus or computer storage media controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
The computer storage media 1902 may include readable media in the form of volatile computer storage media, such as random access computer storage media (RAM) 1921 and/or cache storage media 1922, and may further include read-only computer storage media (ROM) 1923.
Computer storage media 1902 may also include a program/utility 1925 having a set (at least one) of program modules 1924, such program module 1 _924including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination thereof may comprise an implementation of a network environment.
The electronic device 1900 may also communicate with one or more external devices 1904 (e.g., keyboard, pointing device, etc.), one or more devices that enable a user to interact with the electronic device 1900, and/or any devices (e.g., router, modem, etc.) that enable the electronic device 1900 to communicate with one or more other electronic devices. Such communication may occur via input/output (I/O) interfaces 1905. Also, the electronic device 1900 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via the network adapter 1906. As shown, the network adapter 1906 communicates with other modules for the electronic device 1900 over the bus 1903. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with electronic device 1900, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
In some possible embodiments, various aspects of a method for solving three-dimensional mannequin and clothing model threading provided by the present invention can also be realized in the form of a program product, which includes program code for causing a computer device to execute the steps of the method for solving three-dimensional mannequin and clothing model threading according to various exemplary embodiments of the present invention described above in this specification when the program product is run on the computer device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable diskette, a hard disk, a random access computer storage media (RAM), a read-only computer storage media (ROM), an erasable programmable read-only computer storage media (EPROM or flash memory), an optical fiber, a portable compact disc read-only computer storage media (CD-ROM), an optical computer storage media piece, a magnetic computer storage media piece, or any suitable combination of the foregoing.
The program product for solving the problem of threading the three-dimensional mannequin and the garment model according to the embodiments of the present invention may employ a portable compact disc read-only computer storage medium (CD-ROM) and include program code, and may be run on an electronic device. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the consumer electronic device, partly on the consumer electronic device, as a stand-alone software package, partly on the consumer electronic device and partly on a remote electronic device, or entirely on the remote electronic device or server. In the case of remote electronic devices, the remote electronic devices may be connected to the consumer electronic device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external electronic device (for example, through the internet using an internet service provider).
It should be noted that although several modules of the apparatus are mentioned in the above detailed description, such division is merely exemplary and not mandatory. Indeed, the features and functionality of two or more of the modules described above may be embodied in one module according to embodiments of the invention. Conversely, the features and functions of one module described above may be further divided into embodiments by a plurality of modules.
Further, while operations of the methods of the invention are depicted in the drawings in a particular order, this does not require or imply that these operations must be performed in this particular order, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, magnetic disk computer storage media, CD-ROMs, optical computer storage media, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable computer storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable computer storage medium produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (10)

1. A method for solving a problem of cross-molding a three-dimensional mannequin and a garment model, the method comprising:
detecting each human body patch intersected with a clothing patch of a target object in a three-dimensional human body model of the target object to obtain an intersected pair set, wherein any intersected pair in the intersected pair set comprises a pair of human body patches and clothing patches which are intersected;
fusing each adjacent garment patch in the intersecting pair set to obtain at least one intersecting region;
aiming at any clothing vertex in any intersection area, obtaining each edge connected with the clothing vertex in the clothing model, and determining whether the clothing vertex is subjected to die punching with the three-dimensional human body model and the die punching type or not based on the position of each edge and the position of each human body surface piece intersected with a target clothing surface piece, wherein the target clothing surface piece is each clothing surface piece forming the intersection area; and (c) a second step of,
and if the clothing vertex is determined to be subjected to die-punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die-punching type, and moving the clothing vertex to the target position.
2. The method of claim 1, wherein after moving the garment apex to the target position, the method further comprises:
and judging whether vertexes which are penetrated by the mold exist in the intersection areas or not, if not, returning to the step of detecting each human body patch which is intersected with the clothing patch of the target object in the three-dimensional human body model of the target object to obtain an intersection pair set until the fact that each human body patch which is intersected with the patch of the target object does not exist in the three-dimensional human body model is determined.
3. The method of claim 1, wherein fusing adjacent garment panels in the set of intersecting pairs to obtain at least one intersection region comprises:
for any one clothing surface patch in the intersecting pair set, if the clothing surface patch and any other clothing surface patch in the intersecting pair set have the same edge, determining that the other clothing surface patch is the clothing surface patch adjacent to the clothing surface patch; and the number of the first and second antennas is increased,
and fusing the clothing surface patch with the other clothing surface patches based on the same edge to obtain the intersection area.
4. The method of claim 1, wherein determining whether the garment vertex is to be cross-hatched with the three-dimensional body model and a type of cross-hatching based on the locations of the edges and the locations of the body panels that intersect with a target garment panel comprises:
traversing each edge, and aiming at any traversed edge, obtaining a direction vector of the edge according to the position of each vertex in the edge; and the number of the first and second groups,
traversing each human body patch intersected with a target clothing patch, and determining a normal vector of the human body patch aiming at any traversed human body patch based on the position of each vertex in the human body patch; and,
determining whether the human body surface patch is intersected with the edge according to the normal vector and the direction vector of the human body surface patch;
if the edge is determined to be intersected with the human body surface patch, determining that the clothing top point and the three-dimensional human body model are subjected to die punching, updating the die punching times of the edge, returning to the step of traversing each human body surface patch intersected with the target clothing surface patch until the traversal of each human body surface patch is finished, returning to the step of traversing each edge until the traversal of each edge is finished, and determining the die punching type based on the die punching times of each edge;
and if the edges are not intersected with the human body patches, returning to the step of traversing each human body patch intersected with the target clothing patch until all the human body patches are traversed, returning to the step of traversing each edge until all the edges are determined to have no intersected human body patches, and determining that the clothing top points and the three-dimensional human body model are not penetrated.
5. The method of claim 4, wherein the determining whether the human body patch and the edge intersect based on the normal vector and the direction vector of the human body patch comprises:
multiplying the normal vector and the direction vector to obtain a vector product;
if the vector product is a first designated threshold, determining that the edge and the human body patch are not intersected;
otherwise, determining that the edge is intersected with the human body patch.
6. The method of claim 4, wherein determining the type of puncturing based on the number of puncturing times for each edge comprises:
if the die punching times of each edge intersected with the human body surface patch are first appointed times, determining that the die punching type is vertex die punching;
the determining the target position of the clothing vertex by using the target position determining mode corresponding to the model threading type comprises the following steps:
determining a first displacement weight vector according to the positions of the intersecting vertexes of the edges connected with the clothing vertexes and the human body surface patches in the clothing model and the positions of the clothing vertexes;
obtaining a first intermediate position based on the first displacement weight vector and the normal vector of each human body patch;
and adding the first middle position and the position of the clothing vertex to obtain the target position of the clothing vertex.
7. The method of claim 6, wherein determining a first displacement weight vector according to the positions of the intersection vertices of each edge of the clothing model connected with the clothing vertices and each body panel and the positions of the clothing vertices comprises:
for any intersecting vertex, subtracting the position of the intersecting vertex from the position of the clothing vertex to obtain a position difference; and,
multiplying the position difference by a transposed vector of a normal vector of a target human body patch corresponding to the intersecting vertex to obtain a projection sub-vector, wherein the target human body patch is the human body patch where the intersecting vertex is located;
obtaining projection vectors based on the projection sub-vectors corresponding to the intersecting vertexes;
and dividing the projection vector by a first target value to obtain the first displacement weight vector, wherein the first target value is obtained according to the normal vector of each human body patch intersected with each edge and the transposed vector of the normal vector.
8. The method according to claim 4, wherein the determining the type of puncturing based on the number of puncturing times of each side comprises:
if the sides intersected with the human body surface patches have sides with the die-punching times being second specified times, determining that the die-punching type is side die-punching, wherein the second specified times are larger than the first specified times;
the determining the target position of the clothing vertex by using the target position determining mode corresponding to the model threading type comprises the following steps:
aiming at any edge with the second specified times of mode crossing, determining a second displacement weight vector based on the position of the edge and the position of the intersection line of each mode crossing human body surface patch, wherein the mode crossing human body surface patches are each human body surface patch intersected with the edge;
multiplying the second displacement weight vector of each side by the direction vector of each target common perpendicular line to obtain a second middle position, wherein any one target common perpendicular line is a common perpendicular line between any one side and the intersection line corresponding to the side;
and adding the second intermediate position and the position of the clothing vertex to obtain the target position of the clothing vertex.
9. The method of claim 8, wherein determining a second displacement weight vector based on the position of the edge and the position of the intersection of the respective stripping human body patches comprises:
obtaining the shortest distance between the edge and the intersection line according to the position of the edge and the position of the intersection line; and the number of the first and second groups,
multiplying the direction vector of the target common vertical line of the side by the transposed vector of the direction vector to obtain a second target value;
and dividing the shortest distance by the second target value to obtain the second displacement weight vector.
10. An electronic device comprising a processor and a memory, the processor and the memory being connected by a bus;
the memory having stored therein a computer program, the processor being configured to perform the following operations based on the computer program:
detecting each human body patch intersected with a clothing patch of a target object in a three-dimensional human body model of the target object to obtain an intersected pair set, wherein any intersected pair in the intersected pair set comprises a pair of human body patches and clothing patches which are intersected;
fusing each adjacent garment patch in the intersecting pair set to obtain at least one intersecting region;
aiming at any clothing vertex in any intersection area, obtaining each edge connected with the clothing vertex in the clothing model, and determining whether the clothing vertex is subjected to die punching with the three-dimensional human body model and the die punching type or not based on the position of each edge and the position of each human body surface piece intersected with a target clothing surface piece, wherein the target clothing surface piece is each clothing surface piece forming the intersection area; and the number of the first and second groups,
and if the clothing vertex is determined to be subjected to die punching, determining the target position of the clothing vertex by using a target position determining mode corresponding to the die punching type, and moving the clothing vertex to the target position.
CN202211191300.3A 2022-09-28 2022-09-28 Method for solving threading of three-dimensional human body model and garment model and electronic equipment Pending CN115588077A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211191300.3A CN115588077A (en) 2022-09-28 2022-09-28 Method for solving threading of three-dimensional human body model and garment model and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211191300.3A CN115588077A (en) 2022-09-28 2022-09-28 Method for solving threading of three-dimensional human body model and garment model and electronic equipment

Publications (1)

Publication Number Publication Date
CN115588077A true CN115588077A (en) 2023-01-10

Family

ID=84773436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211191300.3A Pending CN115588077A (en) 2022-09-28 2022-09-28 Method for solving threading of three-dimensional human body model and garment model and electronic equipment

Country Status (1)

Country Link
CN (1) CN115588077A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001859A (en) * 2020-08-10 2020-11-27 深思考人工智能科技(上海)有限公司 Method and system for repairing face image
CN116700499A (en) * 2023-08-01 2023-09-05 海马云(天津)信息技术有限公司 Virtual digital person driving method and device, electronic equipment and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001859A (en) * 2020-08-10 2020-11-27 深思考人工智能科技(上海)有限公司 Method and system for repairing face image
CN112001859B (en) * 2020-08-10 2024-04-16 深思考人工智能科技(上海)有限公司 Face image restoration method and system
CN116700499A (en) * 2023-08-01 2023-09-05 海马云(天津)信息技术有限公司 Virtual digital person driving method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN115588077A (en) Method for solving threading of three-dimensional human body model and garment model and electronic equipment
Zhu et al. A new reconstruction method for 3D buildings from 2D vector floor plan
CN104346830A (en) Design of a path connecting a first point to a second point in a three-dimensional scene
Gan et al. Research on role modeling and behavior control of virtual reality animation interactive system in Internet of Things
US10452788B2 (en) Modeling a three-dimensional object having multiple materials
CN110415521A (en) Prediction technique, device and the computer readable storage medium of traffic data
EP2517182A2 (en) An improved computer-implemented method of geometric feature detection
CN111744199B (en) Image processing method and device, computer readable storage medium and electronic equipment
CN112241565A (en) Modeling method and related device
CN107066646B (en) Method, system, and medium for topology change in constrained asymmetric subdivision networks
CN110868319A (en) Network topology drawing method, device, equipment and readable storage medium
KR101328224B1 (en) Virtual facility system for manufacturing steel and operating method thereof
Strodthoff et al. Automatic decomposition of 3D solids into contractible pieces using Reeb graphs
CN113593033A (en) Three-dimensional model feature extraction method based on grid subdivision structure
JP2002183228A (en) System and method for simplifying surface description and wire-frame description of geometric model
JP4973447B2 (en) Difference enhancement program, difference enhancement processing method, and difference enhancement processing apparatus
Sommer et al. Automated generation of a digital twin of a manufacturing system by using scan and convolutional neural networks
CN116721218B (en) Three-dimensional real estate model light-weight method, system and equipment
CN106296575A (en) Model based on BIM and picture merge and separation method and system
CN109461198A (en) The processing method and processing device of grid model
CN103065306A (en) Processing method and device of graphic data
CN115857930A (en) Prototype rapid design method and system based on real-scene model
CN113959400B (en) Intersection vertex height value acquisition method and device, electronic equipment and storage medium
CN114092932A (en) Method and device for identifying chamfered surface, electronic equipment and storage medium
CN114022630A (en) Method, device and equipment for reconstructing three-dimensional scene and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination