1
0
Fork 0
freesewing/markdown/dev/howtos/design/slash-spread/en.md

47 lines
1 KiB
Markdown
Raw Normal View History

---
title: Slash and spread
for: developers
about: Slash and spread is easy enough on paper, here's how to do it in code
---
<Note>
##### See this example in our source code
2022-02-19 08:04:25 +01:00
- [packages/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/jaeger/src/front.js#L64)
</Note>
2022-02-19 08:04:25 +01:00
When we *slash and spread* a pattern, we cut out a triangle, and then rotate it
around the tip of the triangle.
And that's exactly what we do in code. We just need to know:
2022-02-19 08:04:25 +01:00
- What point we want to rotate around
- Which points we want to rotate
- By how much we want to rotate
```js
let rotate = [
'splitEdge',
'neckEdge',
'cfNeck',
'cfNeckCp1',
'neckCp2Front',
'neck',
'shoulder',
'shoulderCp1',
'armholePitchCp2',
'armholePitch',
'armholePitchCp1',
'armholeHollowCp2',
'armholeHollow',
'armholeHollowCp1',
'splitCp2',
'frontNeckCpEdge'
]
for (let p of rotate) {
points[p] = points[p].rotate(options.chestShapingMax * options.chestShaping * -1, points.split)
}
```