mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 10:11:03 +00:00
13 lines
376 B
JavaScript
13 lines
376 B
JavaScript
import { line, curveCardinalClosed } from 'd3-shape';
|
|
import range from 'lodash/range';
|
|
|
|
const shapeSpline = line().curve(curveCardinalClosed.tension(0.65));
|
|
|
|
export function nodeShapePolygon(radius, n) {
|
|
const innerAngle = (2 * Math.PI) / n;
|
|
return shapeSpline(range(0, n).map(k => [
|
|
radius * Math.sin(k * innerAngle),
|
|
-radius * Math.cos(k * innerAngle)
|
|
]));
|
|
}
|