
The replaces the NextJS site powering FreeSewing.dev with a Docusaurus setup. It's part of my efforts to simplify FreeSewing's setup so we can focus on our core value proposition.
35 lines
861 B
Text
35 lines
861 B
Text
---
|
|
title: Point.rotate()
|
|
---
|
|
|
|
The `Point.rotate()` method returns a new `Point` that has been rotated by
|
|
`angle` degrees around the point (`center`) that you pass it.
|
|
|
|
Just like the result of the [`Point.angle()`](/reference/api/point/angle/)
|
|
method, an angle of 0° points right, and the angle increases counterclockwise.
|
|
|
|
## Signature
|
|
|
|
```js
|
|
Point point.rotate(float angle, Point center)
|
|
```
|
|
|
|
## Example
|
|
|
|
<Example caption="An example of the Point.rotate() method">
|
|
```js
|
|
({ Point, points, Path, paths, Snippet, snippets, part }) => {
|
|
|
|
points.sun = new Point(40, 40)
|
|
points.moon = new Point(70, 40)
|
|
let step = 360 / 36
|
|
for (let i = 1; i < 37; i++) {
|
|
let angle = step * i
|
|
points[`moon${i}`] = points.moon.rotate(angle, points.sun)
|
|
paths[`moon${i}`] = new Path().move(points.sun).line(points[`moon${i}`])
|
|
}
|
|
|
|
return part
|
|
}
|
|
```
|
|
</Example>
|