1
0
Fork 0
freesewing/markdown/dev/tutorials/pattern-design/fitting-the-neck-opening/de.md
Joost De Cock b34a2ee2ed feat: Flat import of markdown repo
This is a flat (without history) import of (some of) the content
from our markdown module.

We've imported this without history because the repo contains our
blog posts and showcases posts content prior to porting them to strapi.

Since this contains many images, it would balloon the size of this repo
to import the full history.

Instead, please refer to the history of the (archived) markdown repo
at: https://github.com/freesewing/markdown
2021-08-25 16:09:31 +02:00

46 lines
1.9 KiB
Markdown

---
title: Fitting the neck opening
order: 170
---
Here's how we'll make sure the neck opening is *just right*:
```js
let tweak = 1;
let target = (measurements.headCircumference * options.neckRatio) /4;
let delta;
do {
points.right = new Point(tweak * measurements.headCircumference / 10, 0);
points.bottom = new Point(0, tweak * measurements.headCircumference / 12);
points.rightCp1 = points.right.shift(90, points.bottom.dy(points.right)/2);
points.bottomCp2 = points.bottom.shift(0, points.bottom.dx(points.right)/2);
paths.neck = new Path()
.move(points.right)
.curve(points.rightCp1, points.bottomCp2, points.bottom);
delta = paths.neck.length() - target;
if (delta > 0) tweak = tweak * 0.99;
else tweak = tweak * 1.02;
} while (Math.abs(delta) > 1);
```
We've added a few new variables:
- `tweak`: A *tweak factor* that we'll use to increase or decrease the neck opening by making it more or less than 1
- `target`: How long our (quarter) neck opening should be
- `delta`: How far we're off. Positive numbers mean it's too long, negative means too short
Now that we know what `target` is, we construct our path as we did before. But this time around, we multiply our point coordinates with our `tweak` variable (1 at the start).
Then, we compare our `target` to the result of `paths.neck.length()` which — you guessed it — returns the length of our neck path.
If the delta is positive, our path is too long and we reduce the tweak factor. If the delta is negative, our path is too short and we increase the tweak factor.
We keep on doing this until `Math.abs(delta)` is less than 1. Meaning that we are withing 1mm or our target value.
<Example pattern="tutorial" part="step2" caption="It might look the same as before, but now it's just right" />
Now that we're happy with the length of our quarter neck opening, let's construct the entire neck opening.