chore(markdown): Updated utils docs for v3
This commit is contained in:
parent
acf1b72c4c
commit
bc3b0cd770
23 changed files with 782 additions and 622 deletions
|
@ -1,7 +1,12 @@
|
|||
---
|
||||
title: pointOnCurve()
|
||||
title: utils.pointOnCurve()
|
||||
---
|
||||
|
||||
The `utils.pointOnCurve()` function returns `true` if the point `check` lies on a
|
||||
curve described by points `start`, `cp1`, `cp2`, and `end`.
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
bool utils.pointOnCurve(
|
||||
Point start,
|
||||
|
@ -12,57 +17,49 @@ bool utils.pointOnCurve(
|
|||
)
|
||||
```
|
||||
|
||||
Returns `true` if the point `check` lies on a curve described by points `start`, `cp1`, `cp2`, and `end`.
|
||||
## Example
|
||||
|
||||
<Note>
|
||||
<Example caption="A Utils.pointOnCurve() example">
|
||||
```js
|
||||
({ Point, points, Path, paths, Snippet, snippets, getId, utils, part }) => {
|
||||
|
||||
Keep in mind that calculations with Bezier curves are often aproximations.
|
||||
points.start = new Point(10, 10)
|
||||
points.cp1 = new Point(90, 10)
|
||||
points.cp2 = new Point(10, 60)
|
||||
points.end = new Point(90, 60)
|
||||
|
||||
const scatter = []
|
||||
for (let i = 1; i < 19; i++) {
|
||||
for (let j = 1; j < 14; j++) {
|
||||
scatter.push(new Point(i * 10, j * 10))
|
||||
}
|
||||
}
|
||||
let snippet
|
||||
for (let point of scatter) {
|
||||
if (
|
||||
utils.pointOnCurve(
|
||||
points.start,
|
||||
points.cp1,
|
||||
points.cp2,
|
||||
points.end,
|
||||
point
|
||||
)
|
||||
) {
|
||||
snippet = "notch"
|
||||
} else snippet = "bnotch"
|
||||
snippets[getId()] = new Snippet(snippet, point)
|
||||
}
|
||||
paths.curve = new Path()
|
||||
.move(points.start)
|
||||
.curve(points.cp1, points.cp2, points.end)
|
||||
.addClass("fabric stroke-lg")
|
||||
|
||||
</Note>
|
||||
|
||||
<Example part="utils_pointoncurve">
|
||||
A Utils.pointOnCurve() example
|
||||
return part
|
||||
}
|
||||
```
|
||||
</Example>
|
||||
|
||||
```js
|
||||
let {
|
||||
Point,
|
||||
points,
|
||||
Path,
|
||||
paths,
|
||||
Snippet,
|
||||
snippets,
|
||||
utils
|
||||
} = part.shorthand();
|
||||
|
||||
points.start = new Point(10, 10);
|
||||
points.cp1 = new Point(90, 10);
|
||||
points.cp2 = new Point(10, 60);
|
||||
points.end = new Point(90, 60);
|
||||
## Notes
|
||||
|
||||
let scatter = [];
|
||||
for (let i = 1; i < 19; i++) {
|
||||
for (let j = 1; j < 14; j++) {
|
||||
scatter.push(new Point(i * 10, j * 10));
|
||||
}
|
||||
}
|
||||
let snippet;
|
||||
for (let point of scatter) {
|
||||
if (
|
||||
utils.pointOnCurve(
|
||||
points.start,
|
||||
points.cp1,
|
||||
points.cp2,
|
||||
points.end,
|
||||
point
|
||||
)
|
||||
) {
|
||||
snippet = "notch";
|
||||
} else snippet = "bnotch";
|
||||
snippets[part.getId()] = new Snippet(snippet, point);
|
||||
}
|
||||
paths.curve = new Path()
|
||||
.move(points.start)
|
||||
.curve(points.cp1, points.cp2, points.end)
|
||||
.attr("class", "fabric stroke-lg");
|
||||
```
|
||||
Keep in mind that calculations with Bezier curves are often aproximations.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue