1
0
Fork 0

chore(markdown): Updated Point.shiftFractionTowards() docs

This commit is contained in:
Joost De Cock 2022-09-29 16:15:17 +02:00
parent 3b9afb6369
commit 1dd1c59c25

View file

@ -2,15 +2,14 @@
title: Point.shiftFractionTowards()
---
Returns a new `Point` that is shifted towards the `target` by a `fraction` of the distance between this
point and the target.
The `Point.shiftFractionTowards()` method returns a new `Point` that is shifted
towards the `target` by a `fraction` of the distance between this point and the
target.
This method accepts values larger than 1 to go beyond the target point, or negative values to shift the
point in the opposite direction.
This method accepts values larger than 1 to go beyond the target point, or
negative values to shift the point in the opposite direction.
If you need to move a point by a specific distance instead of a percentage, use [`Point.shiftTowards()`](/reference/api/point/shifttowards/) or [`Point.shiftOutwards()`](/reference/api/point/shiftoutwards/) instead.
## Point.shiftFractionTowards() signature
## Signature
```js
Point point.shiftFractionTowards(Point target, float fraction)
@ -18,37 +17,45 @@ Point point.shiftFractionTowards(Point target, float fraction)
## Point.shiftFractionTowards() example
<Example part="point_shiftfractiontowards">
An example of the Point.shiftFractionTowards() method
<Example caption="An example of the Point.shiftFractionTowards() method">
```js
({ Point, points, Path, paths, macro, part }) => {
points.A = new Point(90, 70).attr("data-text", "Point A");
points.B = new Point(10, 10).attr("data-text", "Point B");
points.C = points.A.shiftFractionTowards(points.B, 0.5)
.attr(
"data-text",
"Point C is point A shifted 50%\nin the direction of point B"
)
.attr("data-text-class", "center")
.attr("data-text-lineheight", 6);
paths.direction = new Path()
.move(points.A)
.line(points.B)
.attr("class", "note dashed");
macro("ld", {
from: points.C,
to: points.A,
d: -10
});
macro("ld", {
from: points.B,
to: points.A,
d: 20
});
return part
}
```
</Example>
```js
let { Point, points, Path, paths, macro } = part.shorthand();
points.A = new Point(90, 70).attr("data-text", "Point A");
points.B = new Point(10, 10).attr("data-text", "Point B");
points.C = points.A.shiftFractionTowards(points.B, 0.5)
.attr(
"data-text",
"Point C is point A shifted 50%\nin the direction of point B"
)
.attr("data-text-class", "center")
.attr("data-text-lineheight", 6);
## Notes
paths.direction = new Path()
.move(points.A)
.line(points.B)
.attr("class", "note dashed");
macro("ld", {
from: points.C,
to: points.A,
d: -10
});
macro("ld", {
from: points.B,
to: points.A,
d: 20
});
```
If you need to move a point by a specific distance instead of a percentage, use
[`Point.shiftTowards()`](/reference/api/point/shifttowards/) or
[`Point.shiftOutwards()`](/reference/api/point/shiftoutwards/) instead.