Published
Edited
Jun 5, 2021
14 stars
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
function circlewithratio([pA1, pA2], [pB1, pB2], ratio) {
// vector from A -> B
const [v1, v2] = [pB1 - pA1, pB2 - pA2];
const
vv = (v1*v1 + v2*v2),
denom = 1 / (ratio - 1),
pC_displacement = ratio * denom,
radius = Math.sqrt(vv * ratio) * Math.abs(denom);
// center point
const [pC1, pC2] = [pA1 + v1 * pC_displacement, pA2 + v2 * pC_displacement];
return [pC1, pC2, radius];
}
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more