Replies: 2 comments
-
It seems as if you are describing something like a "virtual 3D dress form". Such a tool sounds as if it might be useful. If you would like to implement this, I would be happy to help test your changes. However, I am thinking that such a tool might be more easily implemented in a dedicated 3D modeling tool like Blender. But, I don't have any expertise in this area. |
Beta Was this translation helpful? Give feedback.
-
Given everything that's going on with v3, this is somewhat attention-starved. |
Beta Was this translation helpful? Give feedback.
-
We could match 2D patterns on 3D mannequin models made with Bézier surfaces.
This could become a library for deriving personally optimal shapes for 2D curves.
FreeSewing knows body shapes from measurements and I would not be surprised if the team could derive a dedicated 3D mannequin model for every individual by using their measurements as constraints imposed on an otherwise generic shape. Since Bézier curves are already used for plotting parts, a sensible 3D model could be a set of connected Bézier surfaces.
My gut feeling was that a first-order derivative would show the degree of slack or tension in the fabric, and that a second-order derivative equal to zero would mark their local peaks. I just didn't know what to derive from what. It looks like the intuition works for Bézier surfaces, when deriving relative to the grain directions of the fabric.
Breasts and bellies would add curves to the same 3D model, usually giving rise to more places with fabric tension. These extra curves and their position and degree of bulging would be individual measurements. The same pattern, used on a mannequin without these curves, would not have the extra tension and may therefore need less darts or could be sewn from fewer parts.
Mathematical structure
This intuition is half verified, it needs more precision.
Each part in a pattern is described with a square fitting around it. In fact, parts may start off as squares that will be trimmed to size later. The two directions of the fabric are considered as a grid, say with dimensions t and u. Every part is pinned onto the 3D mannequin model, using generic points on the body that translate to individual coordinates on each personal 3D mannequin. (Like acupuncture points; we all have them but their individual coordinates vary.)
Then the first-order partial derivative is separately computed for t and u changes. Each of the derivates expresses how fast the mesh grid is changing in the respective fabric direction. Each derivative is a 3D vector, pointing in the direction of change and with a length representing the size of the change. The more constant this size is, the better. Tightness might be shown in red, slack in green and the shade might indicate the amount. Colours would be shown separately for t and u fabric directions. (It may also be possible to combine the derivatives with Pythogaros and have only one colour on the original fabric and a combined vector. That would be more practical, because it shows diagonal changes.)
The direction of the derivative can provide hints for corrections. Extra fabric can be added along any line to increase slack. This can be done straight or diagonally, and along lines or in triangular areas. Any slack may of course be too much in some of the places. Tightening has the opposite effect but might also be done locally with darts. This kind of curve fitting should work like pinning fabric on a mannequin and repositioning until it fits well enough.
The second-order partial derivative in t and u reveals local peaks, and could be used to support or even automate the process of loosening and tightening. There is an artistic element involved, so humans will make more sense then algorithms, but guidance can takes away much of the difficulty.
When all parts in a pattern are pinned on the 3D mannequin, they will have overlap, especially if they are still the original squares. Assuming that tightness and slack worsen towards the edges of each part, it is possible to find the least slack from the overlapping pieces of fabric. Or, the least tension in other overlapping pieces of fabric. These would be lines that give the best cut for the alternating pieces of fabric. These lines can then be transferred to the parts that were pinned on the 3D mannequin model.
Not resolved yet:
What to do if one part is tight where an overlapping part is loose?
What to do if slack actually improves towards the edges?
What to do if tension actually improves towards the edges?
When Bézier surfaces connect, they may share the touching
control points for good smoothness. This may avoid always
cutting at these edges. What are the precise rules that
decouple 3D model part boundaries from the pattern's parts'
boundaries?
Personalisation of a Bézier mannequin may involve mild things
like pulling its control points or more advanced things like
splitting an area to insert extra bulges, or removing curves to
handle a missing leg. Or, more fabric could be added for ruffles
or other sewing finishes. Which operations are possible?
There are many practicalities to consider too:
Adding space for freedom of movement
Grain of fabric in relation to the design
Deliberate cuts of parts (for buttons, zipper, visual effect)
Cutting on derived functions is not always a Bézier curve
in the 2D pattern (but may be approximated by them, of course)
It would not be surprising if these derivations end up doing the same as the same as what an experienced designer would make. But it might make it more accessible to people with less experience. That would already be useful if it were less optimised than what a human could design.
Discussion
Is it useful to have this; a personalised 3D mannequin model on which to pin 2D patterns?
Is it useful to do this; derive (curves in) 2D parts from a personalised 3D mannequin model?
Is it useful to add red/green curves in the 2D models to show peaking tension/slack?
Could this simplify personalised fitting for breasts, bellies and other bulges?
Could the team compute a personalised 3D mannequin model from individual measurements?
It could then be called Bézier's mannequin and added as a basic pattern.
Is the Bézier surface a workable model for 3D mannequin models?
Bézier math is fairly intuitive, but it takes some work to figure out what
features and constraints it brings. I could work on that and guide a less
mathy coder. Would that be useful? Concerns or wishes to look for?
Anyone interested in implementing API extensions in JavaScript for such work?
Anyone interested in 2D-visualising (red/green lines) the fit of parts in a pattern?
Anyone interested in 3D-visualising (red/green areas) the fit of parts on a mannequin?
Beta Was this translation helpful? Give feedback.
All reactions