WO2019069059A1 - 3d computer modelling method - Google Patents
3d computer modelling method Download PDFInfo
- Publication number
- WO2019069059A1 WO2019069059A1 PCT/GB2018/052786 GB2018052786W WO2019069059A1 WO 2019069059 A1 WO2019069059 A1 WO 2019069059A1 GB 2018052786 W GB2018052786 W GB 2018052786W WO 2019069059 A1 WO2019069059 A1 WO 2019069059A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bag
- model
- gridpoint
- contents
- distance
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Definitions
- This invention relates to modelling the shape of a generally non-elastic surface as it is modelled to move inwardly onto another 3D model.
- this document describes a method in which a simulation of placing items within a sealed bag, applying a vacuum within the bag and heating the bag to cause it to shrink around the contents can be simulated and visualised on a computer.
- An aim is to keep the bag size as consistent as possible so that these simulations match the actual physical processes.
- a designer can then place artwork on the resultant 3D representation to prototype packaging designs which will be a close match to the final manufactured bag and contents.
- the invention provide a method of modelling the shape of a bag structure as it is modelled to move inwardly onto another 3D model, comprising the steps of:- a) creating a representation of a flat bag outline having a grid of points each with a 3D coordinate
- Figure 1 is a schematic view of a flat bag showing connection lines and wireframe contents
- Figure 2 is a schematic view of Inflated bag with contents added
- Figure 3 is a schematic view of a result of a vacuum simulation process
- Figure 4 is a schematic view of the result of a heat shrink simulation process
- Figure 5 is a schematic view of a bag with large top seal and holes connections showing
- Figure 6 is 2D representation of a completed 3D simulation of a labelled and wrapped chicken.
- a 2D representation of a flat bag outline is used to generate a regular grid of points along the bag surface; points not on the edges of the bag are replicated for the back of the bag and not shown in the drawing.
- the grid of points is then connected by triangles so the bag can be modelled in a 3D environment. Modelled seals can be created by adding more points along the edges of the bag in line with the other grid points and this is described in more detail below.
- a set of connections for each point in the grid, to each of its neighbours is calculated, and the calculation includes the length of the connection and the two points which form the connection.
- the relevant data is stored as X, Y, Z coordinates for a point, and a separate structure for the connection data which contains the ID of the two points it connects to and the distance between the two points when first constructed.
- the bag is currently flat so needs to have some volume before the contents are added, this is achieved by modelling inflation of the bag.
- a normal to the surface of the bag can be calculated at each point in the grid, the point is then pushed out a small amount along this normal, by recalculating its coordinates to move along the normal line by a predetermined but relatively small amount.
- the next step is to place one or more objects inside the bag.
- the bag contents are supplied as a set of 3D meshes, these are usually highly detailed so to improve processing speed, preferably a simplified convex hull is generated from these meshes.
- a ray is cast from the centre of the convex hull to each of the points in the hull. If a ray collides with a triangle of the bag, the grid points that comprise that triangle are recalculated to slightly push out that triangle. This recess is repeated with step by step increases in the size of the convex hull; repeating the ray casting until the contents are the original size.
- This part of the process simulates the air being removed from inside the bag.
- a normal to the surface of the bag at each grid point can be calculated, and each gridpoint can be moved a small amount in the direction of the inverse of the normal.
- the position of each point at the start of this process is stored, when the iteration is finished, a ray is cast from the start position to the current position to detect if the point has hit the contents inside, or another part of, the bag. If a hit occurs the point is adjusted accordingly to put it on the surface of the hull (rather than inside it) which represents the internal contents.
- This process (the modelling of air extraction) is repeated until the user is satisfied with the result and stops the simulation i.e. enough "air” has been removed.. This is shown in Figure 3.
- Bags can have seals on any edge and of any shape or size. In the model, these are defined when the flat 2D bag is created, with points along the edges of the seal being created along with the corresponding connections.
- the seals don't have separate points for front and back as they are just a single loop of points along the edge of the bag.
- a seal point has a connection between its two seal neighbours and a point on the bag.
- FIG. 6 A completed, air-extracted and heat shrunk example is shown in Figure 6. This also has a label applied to the bag structure outer surface using, for example, the techniques set out in our co-pending EP2973421 (A1 ); the entire contents of which is incorporated herein by reference.
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Numerical Control (AREA)
Abstract
A method of modelling the shape of a bag structure as it is modelled to move inwardly onto another 3D model, comprising creating a representation of a flat bag outline having a grid of points each with a 3D coordinate, connecting the grid of points with a plurality of triangles having a gridpoint at each vertex, calculating the length of the triangle sides, to establish for each gridpoint, the distance to its neighbouring gridpoints, recalculating the gridpoint 3D coordinates to expand the bag whilst keeping the distance between gridpoints substantially constant, adding a model of 3D contents inside the bag, contracting the bag onto the 3D contents model whilst keeping the distance between gridpoints substantially constant, and detecting collisions of the bag surface with the 3D contents model and adjusting the relevant gridpoint coordinates to avoid contraction of the bag surface inside the 3D contents model.
Description
3D Computer Modelling Method
This invention relates to modelling the shape of a generally non-elastic surface as it is modelled to move inwardly onto another 3D model.
In particular, this document describes a method in which a simulation of placing items within a sealed bag, applying a vacuum within the bag and heating the bag to cause it to shrink around the contents can be simulated and visualised on a computer. An aim is to keep the bag size as consistent as possible so that these simulations match the actual physical processes. A designer can then place artwork on the resultant 3D representation to prototype packaging designs which will be a close match to the final manufactured bag and contents.
In a first aspect, the invention provide a method of modelling the shape of a bag structure as it is modelled to move inwardly onto another 3D model, comprising the steps of:- a) creating a representation of a flat bag outline having a grid of points each with a 3D coordinate
b) connecting the grid of points with a plurality of triangles having a gridpoint at each vertex
c) calculating the length of the triangle sides, to establish for each gridpoint, the distance to its neighbouring gridpoints
d) recalculating the gridpoint 3D coordinates to expand the bag whilst keeping the distance between gridpoints substantially constant
e) adding a model of 3D contents inside the bag,
f) contracting the bag onto the 3D contents model whilst keeping the distance between gridpoints substantially constant, and
g) detecting collisions of the bag surface with the 3D contents model and adjusting the relevant gridpoint coordinates to avoid contraction of the bag surface inside the 3D contents model.
Embodiments of the invention will now be described by way of example, with reference to the drawings in which:-
Figure 1 is a schematic view of a flat bag showing connection lines and wireframe contents; Figure 2 is a schematic view of Inflated bag with contents added;
Figure 3 is a schematic view of a result of a vacuum simulation process;
Figure 4 is a schematic view of the result of a heat shrink simulation process;
Figure 5 is a schematic view of a bag with large top seal and holes connections showing; and
Figure 6 is 2D representation of a completed 3D simulation of a labelled and wrapped chicken.
Defining the bag
With reference to Figure 1 , a 2D representation of a flat bag outline is used to generate a regular grid of points along the bag surface; points not on the edges of the bag are replicated for the back of the bag and not shown in the drawing. The grid of points is then connected by triangles so the bag can be modelled in a 3D environment. Modelled seals can be created by adding more points along the edges of the bag in line with the other grid points and this is described in more detail below.
A set of connections for each point in the grid, to each of its neighbours is calculated, and the calculation includes the length of the connection and the two points which form the connection. Typically, the relevant data is stored as X, Y, Z coordinates for a point, and a separate structure for the connection data which contains the ID of the two points it connects to and the distance between the two points when first constructed.
Add contents to the bag
The bag is currently flat so needs to have some volume before the contents are added, this is achieved by modelling inflation of the bag. Using the bag triangles created earlier a normal to the surface of the bag can be calculated at each point in the grid, the point is then pushed out a small amount along this normal, by recalculating its coordinates to move along the normal line by a predetermined but relatively small amount.
Once all the points are in their new positions each is processed to make sure all the points are the same distance apart as before, on the basis that the modelled bag material is non- elastic and cannot stretch. If the distance is too great to the neighbour the point's position is adjusted in a direction to shorten that distance. In this way intuitively it will be understood that the bag will undertake some of the aspects approaching an ellipsoid shape in the way a non-virtual bag would do when inflated. It may for example have wrinkles, and will reflect constraints of a possible rectangular starting material and sealed edges, depending on the
model chosen at the beginning of the process. The more this process is iterated the closer the distances between the points match the original distances stored in the connections. For each iteration of inflation a check is run on all the connections a small number of times. This allows some inaccuracies to remain, but is a good compromise between speed and accuracy. As the inflation proceeds the total lengths between all the connections get slightly larger. When the increase in length for each point, between iterations drops below a predetermined threshold, the process of inflation is considered complete and the iteration stops.. The bag at this point will have stretched, this is not a problem as after placing an object in the bag the distance process is iterated a large number of times which removes most of the stretching from the bag. Adding objects to the bag may cause large, localised stretching which is why it is iterated so many times. This will also resolve any stretching that occurred in the inflation stage.
The next step is to place one or more objects inside the bag. The bag contents are supplied as a set of 3D meshes, these are usually highly detailed so to improve processing speed, preferably a simplified convex hull is generated from these meshes. Starting out with the convex hull scaled at a reduced size, such as 1 % of its original size, a ray is cast from the centre of the convex hull to each of the points in the hull. If a ray collides with a triangle of the bag, the grid points that comprise that triangle are recalculated to slightly push out that triangle. This recess is repeated with step by step increases in the size of the convex hull; repeating the ray casting until the contents are the original size.
Once the convex hull is the original size the process to make sure all the points are the correct distance apart is performed, as before, to make sure the bag is the correct size. This is shown in Figure 2.
Create vacuum in bag
This part of the process simulates the air being removed from inside the bag. Using the bag triangles, a normal to the surface of the bag at each grid point can be calculated, and each gridpoint can be moved a small amount in the direction of the inverse of the normal. When all the grid points are moved in this way the process to make sure all the points are the correct distance apart is performed again to make sure the bag size is correct. The position of each point at the start of this process is stored, when the iteration is finished, a ray is cast from the start position to the current position to detect if the point has hit the contents inside, or another part of, the bag. If a hit occurs the point is adjusted accordingly
to put it on the surface of the hull (rather than inside it) which represents the internal contents. This process (the modelling of air extraction) is repeated until the user is satisfied with the result and stops the simulation i.e. enough "air" has been removed.. This is shown in Figure 3.
Heat shrink bag
This simulates applying a heat shrink on the bag which causes the bag material to reduce in size. The ratio of horizontal to vertical shrinkage can be specified. Using this, the ideal distance between the grid points can be reduced accordingly, and then a movement vector can be generated for each point which will cause the bag to reduce in size. Like the vacuum stage the gridpoints are checked for collisions with the contents and adjusted accordingly. If the point hits the contents it is marked as non-moving and will not be adjusted in any further calculations. This process is repeated until the user is satisfied with the visual representation and stops the simulation, i.e. enough "heat-shrink" has been applied. This is shown in Figure 4.
Seals and Holes
Bags can have seals on any edge and of any shape or size. In the model, these are defined when the flat 2D bag is created, with points along the edges of the seal being created along with the corresponding connections. The seals don't have separate points for front and back as they are just a single loop of points along the edge of the bag. A seal point has a connection between its two seal neighbours and a point on the bag.
For holes (which are closed loops in a seal), new triangles are calculated to accommodate the holes, the points along the edges of the holes are not added to the point grid and no connections to points along the edges of the holes are created. Instead the points along the edges of the holes are converted to barycentric coordinates that reference the seam triangle that the hole edge point resides in. After each step of the simulation each point's position along the edge of the hole can be recalculated from the barycentric coordinates so leaving them out of any of the inter-gridpoint connection calculations. This is shown in Figure 5.
A completed, air-extracted and heat shrunk example is shown in Figure 6. This also has a label applied to the bag structure outer surface using, for example, the techniques set
out in our co-pending EP2973421 (A1 ); the entire contents of which is incorporated herein by reference.
Claims
A method of modelling the shape of a bag structure as it is modelled to move inwardly onto another 3D model, comprising the steps of:- h) creating a representation of a flat bag outline having a grid of points each with a 3D coordinate
i) connecting the grid of points with a plurality of triangles having a gridpoint at each vertex
j) calculating the length of the triangle sides, to establish for each gridpoint, the distance to its neighbouring gridpoints
k) recalculating the gridpoint 3D coordinates to expand the bag whilst keeping the distance between gridpoints substantially constant
I) adding a model of 3D contents inside the bag,
m) contracting the bag onto the 3D contents model whilst keeping the distance between gridpoints substantially constant, and
n) detecting collisions of the bag surface with the 3D contents model and adjusting the relevant gridpoint coordinates to avoid contraction of the bag surface inside the 3D contents model. 2. A method according to claim 1 comprising a further step of simulating applying a heat shrink to the bag structure by:- a) defining a ratio of horizontal and/or vertical shrinkage
b) applying the ratios to the distance between each gridpoint to reduce the distance between each gridpoint
c) detecting collisions of the bag surface with the 3D contents model and adjusting the relevant gridpoint coordinates to avoid contraction of the bag surface inside the 3D contents model.
A method according to any preceding claim including providing a computer processing device having processing means, memory, a user input device and a display device and arranging for the processing means and memory to carry out the step of any preceding claim, and further arranging to render the 3D bag model on the display device, and accepting user input via the user input device to change the view of the 3D bag model on the display device.
4. A computer program product carrying program steps which when executed on computer hardware cause the computer hardware to carry out the method steps of any preceding claim.
5. A tool to aid label design comprising creating a 3D bag model according to the method of any preceding claim, rendering the model on a display device and providing user controls to adjust the rendered view of the bag model and/or apply a 2D label to the surface of the bag model.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1715952.6A GB201715952D0 (en) | 2017-10-02 | 2017-10-02 | 3D computer modelling method |
GBGB1715952.6 | 2017-10-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019069059A1 true WO2019069059A1 (en) | 2019-04-11 |
Family
ID=60270491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2018/052786 WO2019069059A1 (en) | 2017-10-02 | 2018-09-28 | 3d computer modelling method |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB201715952D0 (en) |
WO (1) | WO2019069059A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0459042A1 (en) * | 1988-11-30 | 1991-12-04 | 3D TECHNOLOGY Ltd. | Display device |
US20070083383A1 (en) * | 2005-10-07 | 2007-04-12 | Van Bael Kristiaan K A | Design of flexible packaging incorporating two-dimensional graphics |
EP2973421A1 (en) | 2013-03-11 | 2016-01-20 | Creative Edge Software LLC | Apparatus and method for applying a two-dimensional image on a three-dimensional model |
-
2017
- 2017-10-02 GB GBGB1715952.6A patent/GB201715952D0/en not_active Ceased
-
2018
- 2018-09-28 WO PCT/GB2018/052786 patent/WO2019069059A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0459042A1 (en) * | 1988-11-30 | 1991-12-04 | 3D TECHNOLOGY Ltd. | Display device |
US20070083383A1 (en) * | 2005-10-07 | 2007-04-12 | Van Bael Kristiaan K A | Design of flexible packaging incorporating two-dimensional graphics |
EP2973421A1 (en) | 2013-03-11 | 2016-01-20 | Creative Edge Software LLC | Apparatus and method for applying a two-dimensional image on a three-dimensional model |
Non-Patent Citations (1)
Title |
---|
WOODS D: "Shrink sleeve label distortion", INTERNET CITATION, October 2005 (2005-10-01), XP002415205, Retrieved from the Internet <URL:http://www.davewoods.us/pdf/GravureMagazineArticle.pdf> [retrieved on 20070115] * |
Also Published As
Publication number | Publication date |
---|---|
GB201715952D0 (en) | 2017-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ben‐Chen et al. | Conformal flattening by curvature prescription and metric scaling | |
US10275922B2 (en) | Method for skinning technology based on extended position based dynamics and for weight retargeting in character animation | |
US10430999B2 (en) | Computer-implemented method for designing an avatar with at least one garment | |
KR100707841B1 (en) | Nurbs surface deformation apparatus and the method using 3d target curve | |
EP3156922B1 (en) | Computer-implemented method for designing a manufacturable garment | |
Denninger et al. | 3d scene reconstruction from a single viewport | |
Li et al. | Flattening triangulated surfaces using a mass-spring model | |
CN107330903A (en) | A kind of framework extraction method of human body point cloud model | |
Yasseen et al. | Sketch-based garment design with quad meshes | |
CA2354708C (en) | Method and device for simulating and representing the dressing of a tailor's dummy | |
CN105225272B (en) | A kind of tri-dimensional entity modelling method based on the reconstruct of more contour line triangulation networks | |
CN104778736A (en) | Three-dimensional garment animation generation method driven by single video content | |
Li et al. | Enriching triangle mesh animations with physically based simulation | |
WO2019069059A1 (en) | 3d computer modelling method | |
CN106558102A (en) | A kind of three-dimension modeling method rebuild based on Screened Poisson | |
Bender et al. | Efficient Cloth Simulation Using an Adaptive Finite Element Method. | |
CN103824331A (en) | Iteration generation method of hexahedral mesh model | |
Vassilev et al. | Efficient cloth model and collision detection for dressing virtual people | |
Wang et al. | From designing products to fabricating them from planar materials | |
SHARAH et al. | Streamlining the Modelling to Virtual Reality Process | |
US20230260214A1 (en) | Object simulation | |
CN114926572B (en) | Method and equipment for driving clothes in character animation | |
CN105046738A (en) | Clothes dynamic three-dimension making method and making apparatus | |
JP4592758B2 (en) | Method for creating a technical drawing from a three-dimensional model having at least two colliding three-dimensional bodies | |
CN101655832B (en) | Physical deformation method based on scalar field gradient |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18783077 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18783077 Country of ref document: EP Kind code of ref document: A1 |